48

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

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

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

8 ответов8

38

Я обычно использую 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

Вы можете сделать это с помощью 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
12

Concat demuxer

Демоксер concat был добавлен в ffmpeg 1.1. Если ваша версия ffmpeg устарела, загрузите новейший статический двоичный файл здесь: 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 или с помощью printf. Любой из следующих способов сгенерирует файл списка, содержащий каждый * .wav в рабочем каталоге:

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

Источник: ffmpeg wiki

8

YAMB вместе с MP4BOX - хороший вариант.
Загрузите оба и разархивируйте их (установка не требуется, и вместе они занимают около 5 МБ), в YAMB выберите «Настройки» и укажите путь к папке MP4box.
Чтобы присоединиться к файлам mp4, выберите «Редактирование»> «Поддержать щелчок для присоединения» ...

6

SUPER © (Simplified Universal Player Encoder & Renderer) обеспечивает следующий дополнительный процесс вывода:

Любой поддерживаемый входной мультимедийный файл может быть обработан:

      o Join Format-Identical Files.
      o Mux Video & Audio Streams.
      o DeMux Extract Streams. 

Конечно, MP4 является поддерживаемым форматом.

SUPER © является бесплатной.

5

Попробуйте использовать видео контейнер Matroska.

Во-первых, вам нужен mkvtoolnix. Скачайте и установите его, затем вам нужно запустить графический интерфейс mkvmerge (если вы не любите инструменты командной строки, что мне подходит - хотя вы можете посмотреть раздел ссылок на файлы документации mkvmerge).

Добавьте свой первый файл, нажав "добавить". Затем нажмите "добавить" и откройте второй файл. Установите выходной файл, нажмите "Начать мультиплексирование" внизу, и все готово!

Если контейнер не подходит для ваших нужд, вы можете перекодировать его или попытаться преобразовать в другой формат ... Хотя MKV очень милый контейнер!

1

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

1

Другое решение - Open Video Joiner. Это также делает эффекты перехода.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .