ffmpegからのビデオがQuickTime、iMovieまたはクイックプレビューで表示されないのはなぜですか?


20

私はかなり前から時々ffmpegを使用してビデオ変換を行ってきましたが、最近、ffmpegによって生成されたH.264(libx264)ビデオがiMovieまたはQuickTimeで動作しないことを発見しました(また、クイックビュー機能)。

内部でffmpeg(例:MP4toolsまたはAdapter)を使用するOS Xアプリケーションを使用してビデオを生成する場合、ビデオは正常に動作しますが、ffmpegを直接使用する場合、たとえばビデオを変換する場合は動作しません:

# ffmpeg -i input.avi output.mp4

または、いくつかの画像をビデオに結合するには:

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

iMovieはビデオを黒/空白としてインポートするだけで、クイックプレビューはファイル情報のみを表示しますが(ビデオプレビューは表示しません)、Quicktimeは再生できないことを通知します。

ドキュメントを開けませんでした

どうしたの?!

回答:


31

要するに、-pix_fmt yuv420pffmpegを使用してAppleソフトウェア/デバイス用のH.264コンテンツ、およびyuv444pを処理しない他の多くのデコーダーを生成するときに、引数を含める必要があります。

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

これは、デフォルトを使用する場合の出力には記載されていませんが、Encode / H.264ガイドに記載されています

それは判明 ffmpegのは、Appleのソフトウェア/ハードウェアと互換性がありません(いくつかの状況下で)libx264エンコーディングのyuv444pのデフォルトのピクセルフォーマットを、選択していることをH.264デコーダ(そしておそらくない非常に広く互換性のある一般的な?)。残念ながら、これは変わらないようであり、それについての警告はないので、ffmpegを使用してH.264ファイルを作成する場合に知っておく必要のあることです。

私が知る限り、すでにyuv420pを使用しているビデオを変換する場合はそれを維持しますが、少しエキゾチックなもの(画像やGIFなど)から変換する場合は、一般的なAppleの互換性のためにピクセル形式を指定する必要があります。


1
現在のバージョンのiMovie(Yosemite)では役に立ちません。他のアイデアはありますか?
ミラノバブシュコフ

1
の出力を投稿できますffprobe -select_streams v -show_streams output.mp4か?
drfrogsplat

+ 1、yuv420pビデオでさえHigh Sierraでも再生されていません。
トリスウェブ

Appleだけでなく、Windowsメディアプレーヤーでも、オプションを指定しないと出力を再生できない場合があります。また、他のプレーヤーでプレイしようとすると、ビデオに表示されるアーティファクトのある灰色の画面になります。
Shayan
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.