Возможно ли иметь два изображения в одном кадре в формате jpeg?

У меня есть быстрый видеофайл, видеопоток находится в формате jpeg, я извлекаю каждый кадр в файле с помощью

ffmpeg -i a.mov -vcodec copy -f image2 %d.jpg

Я обнаружил, что в каждом файле jpeg на самом деле есть два маркера FFD8, что означает, что на самом деле в одном файле jpeg есть два изображения.

Это правильно? Файл чересстрочный? Что-то особенное нужно передать кодеку?


person skipper    schedule 29.04.2015    source источник


Ответы (1)


Да, Motion Jpeg поддерживает чересстрочный формат. Если файл jpeg составляет половину от полного размера видео, это будет означать, что mov чересстрочный, и вы не можете использовать -vcodec copy для извлечения кадров. Попробуйте ffmpeg -deinterlace или используйте фильтр yadif.

person Alex Cohn    schedule 29.04.2015
comment
Отличный ответ, спасибо! Моя задача состоит в том, чтобы декодировать это видео на Android с помощью ffmpeg, процесс декодирования разбит на длинный процесс, в итоге декодированное изображение составляет всего половину высоты, указанной ffprobe. Я пытался выяснить, чего может не хватать, но безуспешно. Любое предложение о том, что проверить? - person skipper; 30.04.2015
comment
Я бы сказал, что если декодированное изображение половинной высоты, то это пахнет чересстрочным видео. - person Alex Cohn; 30.04.2015
comment
Yelp, проблема решена, установка ширины и высоты в контексте кодека, как сказал вам синтаксический анализатор, тогда высота декодированного изображения правильная. - person skipper; 30.04.2015