Почему видеоролик из ffmpeg не отображается в QuickTime, iMovie или быстрый просмотр?

Я использовал ffmpeg для случайного преобразования видео в течение некоторого времени и недавно обнаружил, что H. 264 (libx264), созданные ffmpeg, не работают в iMovie или QuickTime (и они не будут воспроизводить или показывать предварительный просмотр в Finder с функцией быстрого просмотра).

Если я создаю видео с использованием приложений OS X, которые используют ffmpeg (например, MP4tools или Адаптер ) видео работают нормально, но не тогда, когда я пытаюсь напрямую использовать ffmpeg, например для преобразования видео:

# ffmpeg -i input.avi output.mp4

или объединить некоторые изображения в видео:

# ffmpeg -f image2 -pattern_type sequence image-%04d.png output.mp4

iMovie просто импортирует видео как черный /пустой, быстрый просмотр просто показывает информацию о файле (но нет предварительного просмотра видео), а Quicktime говорит мне, что он не может воспроизвести его:

документ не может быть открыт

Что происходит?!

13 голосов | спросил drfrogsplat 9 Jam1000000amFri, 09 Jan 2015 05:16:08 +030015 2015, 05:16:08

1 ответ


20

Короче говоря, вам (часто) необходимо включить аргумент -pix_fmt yuv420p при использовании ffmpeg для генерации содержимого H.264 для программного обеспечения Apple /устройства и множество других декодеров, которые не обрабатывают yuv444p.

# ffmpeg -i input.avi -pix_fmt yuv420p output.mp4

Это не упоминается в выводе при использовании значений по умолчанию, но их можно найти в Encode /H.264 руководство .

Это получается , что ffmpeg выбрали формат пикселей по умолчанию yuv444p для кодировки libx264 (при некоторых обстоятельствах) , что несовместимо с программными /аппаратными декодерами H.264 от Apple (и возможно, не очень широко совместимыми в вообще? ). К сожалению, это вряд ли изменится, и нет никаких предупреждений об этом, так что просто вы должны знать, используете ли ffmpeg файлы H.264.

Насколько я могу судить, если конвертировать видео, которое уже использует yuv420p, оно будет поддерживать это, но если преобразование из чего-то более экзотического (например, изображения или GIF или что-то еще), формат пикселя должен быть указан для общего Совместимость с Apple.

ответил drfrogsplat 9 Jam1000000amFri, 09 Jan 2015 05:16:08 +030015 2015, 05:16:08

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132