Как кодировать серию файлов.dpx с использованием X264

Я полный новичок в кодировании видео. Я пытаюсь закодировать серию файлов.dpx в один файл O/P с закодированным видео в любом из следующих форматов. ( .mp4,.avi,.h264,.mkv и т. д.)

Я пробовал 2 разных подхода. Первый работает, а второй нет. Я хотел бы знать разницу между ними. Любая помощь / вклад будет высоко ценится.

1) использование FFMPEG вместе с библиотекой x264, и это хорошо работает. Я могу произвести желаемый результат

ffmpeg -start_number 0 -i frame%4d.dpx -pix_fmt yuv420p -c:v libx264 -crf 28 
-profile:v baseline fromdpx.h264

2) Сначала я пытаюсь объединить все файлы dpx в один файл, используя протокол concate в ffmpeg, а затем использую x264 для кодирования объединенного файла. Здесь я вижу, что размер объединенного файла является суммой всех объединенных файлов. Но когда я использую команду x264 для кодирования объединенного файла, я получаю зеленый экран (по сути, это не нужный вывод) .

ffmpeg -i "concat:frame0.dpx|frame01.dpx|frame2.dpx etc" -c copy output.dpx

затем

x264 --crf 28 --profile baseline -o encoded.mp4 --input-res 1920x1080 --demuxer raw 
output.dpx

Я также попытался закодировать объединенный файл с помощью ffmpeg следующим образом

ffmpeg -i output.dpx -pix_fmt yuv420p -c:v libx264 -crf 28 -profile:v baseline fromdpx.h264

Это также дает мне пустое видео.

Может ли кто-нибудь указать мне, что здесь происходит? Почему первый метод работает, а второй нет?

Спасибо.

1 ответ

Во втором подходе вы указываете DPX-файл как необработанный ввод для x264 (--demuxer raw), но DPX не является необработанным форматом (это больше контейнер, у которого есть заголовки, метаданные и, возможно, сжатие RLE), и поэтому требуется декодирование. x264 поддерживает только эти необработанные форматы (--input-csp): i420, yv12, nv12, i422, yv16, nv16, i444, yv24, bgr, bgra, rgb. Все эти форматы могут иметь 8,16 бит на компонент (--input-глубина).

Также я сомневаюсь, что формат DPX вообще поддерживает конкатенацию, потому что это формат изображения, а не видео. Так что, вероятно, ваш результат после concat уже сломан.

Другие вопросы по тегам