2015-07-17 2 views
0

Я хотел бы отредактировать/обработать файл mp4 без декодирования/кодирования фреймов и хотел бы знать, возможно ли это.Редактирование mp4 путем манипуляции образцами

Предположим, что у меня есть 2 набора аудио/видео, закодированных точно по тем же параметрам.

На видео стороны сказать, что я имел последовательность кадров, как: IBPPBPPBPPB , и я хотел изменить это, чтобы быть (где -> это то, что я вставив) IBPPB-> ППИР

Будет ли это работать ОК?

Я хотел бы сделать что-то подобное с аудио AAC, удалив/вставив образцы.

+0

Это должно быть возможно, если вы решительно замените ** ключевой кадр + связанные рамки до следующего ключевого кадра **. Единственная проблема, о которой я могу думать, - возможно, векторы движения могут вызвать «пиксельную кашу», но я думаю, что каждый ключевой кадр сбрасывает их (не подтверждается). Лучше всего попробовать, а затем показать код, когда вы застряли в проблеме ... –

ответ

0

В некоторых случаях возможно манипулировать содержимым файла mp4 без декодирования/кодирования кадров. Например, вы можете разбить файл MP4 на отдельные файлы или объединить файлы mp4. В общем случае конкатенация работает, если у вас есть совместимые конфигурации кодирования.

Для аудиопотоков AAC между звуковыми кадрами нет зависимостей декодирования, поэтому, если потоки имеют одинаковую конфигурацию, вы можете без проблем редактировать на уровне mp4.

Для видеопотоков, опять же с той же конфигурацией, вам необходимо объединить потоки, начиная со случайных точек доступа (закрытого гопа).

Для всех этих операций, вы можете использовать MP4Box:

MP4Box -split 10:20 file.mp4 -out file-split-10-20.mp4 

создаст новый файл, содержащий только десять секунд.

MP4Box -cat file1.mp4 -cat file2.mp4 output.mp4 

будет объединять два файла для создания нового файла.

Смежные вопросы