次のコマンドで作成したムービーを開こうとすると:
ffmpeg -pattern_type glob -i '*.JPG' -s 640x480 movie.mp4
QuickTimeからエラーが表示されます。
The document “movie.mp4” could not be opened.
The file may be damaged or may not be a movie file that is compatible with QuickTime Player.
ISightの時間経過から生成された一連の画像に対して同じコマンドを使用しましたが、この場合、上記の画像はデジタルカメラからのものです。解像度はかなり高くなっていますが、640x480にスケーリングしていますが、出力に問題を示唆するものが何も表示されません。
Input #0, image2, from '*.JPG':
Duration: 00:00:04.76, start: 0.000000, bitrate: N/A
Stream #0:0: Video: mjpeg, yuvj422p(pc), 4928x3264, 25 tbr, 25 tbn, 25 tbc
対ワーキングムービー:
Input #0, image2, from '*.JPG':
Duration: 00:01:23.72, start: 0.000000, bitrate: N/A
Stream #0:0: Video: mjpeg, yuvj420p(pc), 640x480 [SAR 1:1 DAR 4:3], 25 fps, 25 tbr, 25 tbn, 25 tbc
そして出力について:
Output #0, mp4, to 'movie.mp4':
Metadata:
encoder : Lavf55.19.104
Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuvj422p, 640x480, q=-1--1, 12800 tbn, 25 tbc
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg -> libx264)
対作業用:
Output #0, mp4, to 'movie.mp4':
Metadata:
encoder : Lavf55.19.104
Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuvj420p, 640x480 [SAR 1:1 DAR 4:3], q=-1--1, 12800 tbn, 25 tbc
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg -> libx264)
ワーキングムービーが長く、ソース解像度が低いことを除けば、私が見ることができる唯一の違いは、ビデオストリームに余分な「[SAR 1:1 DAR 4:3]」が含まれていることですが、これは何なのかわかりません。それは、または非稼働中の映画でそれを強制しようとする方法です。
更新:VLCをダウンロードしたところ、映画が正常に再生されます。だから私はffmpegがここで悪いわけではないことを知っています。
これに基づいて StackOverflow answer-pix_fmt yuv420p
を次のようにコマンドに追加します。 コメントの言及の1つ-vcodec libx264
も追加しているため、ここに含まれています。
ffmpeg -pattern_type glob -i '*.JPG' -vcodec libx264 -s 640x480 \
-pix_fmt yuv420p movie.mp4
または、 フォーマットフィルター を使用することもできます。この例では、-s
の代わりに scale filter を使用し、-pix_fmt
の代わりにフォーマットフィルターを使用します。
ffmpeg -pattern_type glob -i '*.JPG' -vcodec libx264 \
-vf scale=640:-2,format=yuv420p movie.mp4
また、 公式のFFmpeg Wikiで詳しく説明されています 「ダムプレーヤーのエンコーディング」という見出しの下。強調鉱山:
QuickTimeおよび他のほとんどのプレーヤーで出力を機能させるには、
-pix_fmt yuv420p
を使用する必要がある場合があります。これらのプレーヤーは、YUV平面カラースペースのみをサポートします。 H.264ビデオの4:2:0クロマサブサンプリング。そうしないと、ソースによっては、ffmpegがこれらのプレーヤーと互換性のないピクセル形式で出力する場合があります。