いくつかのビデオを Canon デジタルカメラで再生できるように変換したいです。
Canon PowerShot カメラのビデオの仕様は次のとおりです。
Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuvj420p, 1280x720, 22865 kb/s, 29.97 fps
Audio: pcm_u8 (raw / 0x20776172), 12000 Hz, mono, u8, 96 kb/s
このようなビデオを作成するための -command ラインはどのffmpeg
ようになるでしょうか? または、どこでそれについて読むことができますか? 大量の形式のリストを提供するものを探さなければなりませんffmpeg -formats
。これと、さらにマニュアル ページを読んだ結果、次のコマンドにたどり着きました。
ffmpeg -i oldmovie.mp4 -acodec pcm_u8 -ar 12000 -ac 1 -vcodec copy -pix_fmt yuvj420p MVI_2655.MOV
しかし、まだ動作しません。ビデオ仕様が異なります。
私が受け取ったビデオは次のとおりです:
Video: h264 (High) (avc1 / 0x31637661), yuv420p, 640x272 [SAR 153:154 DAR 180:77], 326 kb/s
しかし、正しいビデオには
Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuvj420p, 1280x720, 22865 kb/s
解像度が問題なのではなく、高い対制約ベースライン。 そしてそのyuv420p対してyuvj420pこれらの仕様を実現するにはどうすればよいでしょうか?
答え1
Ely からのヒントとさらに少しの調査で、まったく同じフォーマット仕様を生成する次のコマンド ラインを見つけました。
ffmpeg -i oldmovie.mp4 -acodec pcm_u8 -ar 12000 -ac 1 -vcodec libx264 -pix_fmt yuvj420p -profile:v baseline -s 1280x720 -r ntsc -colorspace smpte170m -color_primaries bt709 -color_trc bt709 MVI_2655.MOV
どこ
-vcodec libx264
-profile:v baseline
と一緒に-pix_fmt yuvj420p
ビデオを設定します 制約ベースラインピクセルフォーマットをyuvj420p-colorspace smpte170m
、-color_primaries bt709
そして-color_trc bt709
yuvj420p(pc,…)の後に3つのピクセルフォーマットのサブ仕様を設定します。ここ-r ntsc
フレームレートを 29.97 に設定します (ここで、ntsc はフレームレートの別名です)-s 1280x720
ビデオを元のキヤノンビデオと同じ幅と高さに拡大縮小します
唯一の違いはビットレートです。ffmpeg で作成したビデオの場合は 4065 kb/s、Canon のビデオの場合は 21588 kb/s です。
しかし、それでもビデオは Canon カメラで再生できません。:-(