2009-09-18 22:20:24 +0000 2009-09-18 22:20:24 +0000
51
51

Как я могу объединить два mp4 файла без потери качества?

У меня есть два качественных mp4 файла, которые состоят из двух частей одного шоу.

Я хочу объединить их вместе в 1 файл, и я обычно использую VirtualDub для объединения моих файлов… Но, похоже, он не поддерживает mp4.

Какие есть альтернативы (особенно те, которые не требуют перекодирования)?

Ответы (7)

41
41
41
2009-09-19 12:05:18 +0000

Обычно я использую VirtualDub для объединения моих файлов, но, похоже, он не поддерживает mp4. Так какие есть альтернативы? Avidemux . Это как в VirtualDub, только с большим количеством поддерживаемых форматов и встроенными кодеками и фильтрами. Я всегда использую его в предпочтениях; он присоединяется к AVC+AAC.MP4 файлам (без перекодирования) отлично для меня.

Присоединиться к ним в AviDemux:

  1. Файл -> Открыть -> Выберите Файл
  2. Файл -> Добавить -> Выберите Файл
  3. Установить все на Копировать
  4. Файл -> Сохранить -> Имя файла
  5. Подождите…

Согласно форумам AViDemux, этот процесс присоединения без потерь http://www.avidemux.org/smf/index.php?topic=9467.0 ).

29
29
29
2012-12-21 16:39:48 +0000

Вы можете сделать это с помощью ffmpeg:

mkfifo temp0 temp1
ffmpeg -i input0.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts -y temp0 2> /dev/null & \
ffmpeg -i input1.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts -y temp1 2> /dev/null & \
ffmpeg -f mpegts -i "concat:temp0|temp1" -c copy -absf aac_adtstoasc output.mp4

Это не перекодировать ничего, он помещает их в новый контейнер транспортного потока, что делает их легче конкатенации, а затем конкатенации их обратно в MP4. Если output.mp4 уже существует, команда не будет работать. Версия выше использует именованные каналы, если вы находитесь в системе, которая не поддерживает эти каналы, вам придется использовать промежуточные файлы (например, windows):

ffmpeg -i input0.mp4 -c copy -bsf:v h264_mp4toannexb temp0.ts
ffmpeg -i input1.mp4 -c copy -bsf:v h264_mp4toannexb temp1.ts
ffmpeg -i "concat:temp0.ts|temp1.ts" -c copy -bsf:a aac_adtstoasc output.mp4
```.
15
15
15
2014-03-02 01:54:46 +0000

Конкатный демуксер

Конкатный демуксер добавлен в ffmpeg 1.1. Если ваша версия ffmpeg старая, get the newest static binary from here: http://www.ffmpeg.org/download.html

Инструкции

Создать файл mylist.txt со всеми файлами, которые вы хотите скомкатовать в следующей форме (Строки, начинающиеся с тире игнорируются):

# this is a comment
file '/path/to/file1'
file '/path/to/file2'
file '/path/to/file3'

Заметьте, что это могут быть относительные или абсолютные пути. Тогда вы можете кодировать файлы с:

ffmpeg -f concat -i mylist.txt -c copy output

Можно сгенерировать этот файл списка с bash for loop, или с помощью printf. Любой из следующих способов сгенерирует файл списка, содержащий каждый *.wav в рабочем каталоге:

for f in ./*.wav; do echo "file '$f'" >> mylist.txt; done
printf "file '%s'\n" ./*.wav > mylist.txt

Source: [ ffmpeg wiki ](http://trac.ffmpeg.org/wiki/How%20to%20concatenate%20(join,%20merge)%20media%20files ]

8
8
8
2009-09-18 23:09:39 +0000

Скачайте оба и распакуйте их (установка не требуется, а вместе они около 5 МБ), в YAMB выберите Настройки и установите путь к папке MP4box. Чтобы присоединить mp4-файлы выберите Редактирование > Нажмите, чтобы присоединить поддерживаемые…

5
5
5
2009-09-19 11:08:12 +0000
1
1
1
2009-09-18 22:24:57 +0000

Если вы можете воспроизводить их на вашей системе / у вас установлен кодек, Windows Movie Maker может быть самым быстрым (и бесплатным) способом объединить два файла. Затем вы можете использовать Virtualdub для преобразования в другой формат.

1
1
1
2009-09-19 11:46:02 +0000

Другим решением является Open Video Joiner . Оно также делает переходные эффекты.

.

Похожие вопросы

8
6
7
6
4