Как кодировать серию файлов .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 в один файл, используя протокол объединения в 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

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

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

Спасибо.


person user3759710    schedule 20.06.2014    source источник


Ответы (1)


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

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

person nobody555    schedule 04.06.2015