Flow-Developers

Raspberry Pi, Raspbian, python, ROS, IoT, 電子工作, 機械学習, Deep learning, サッカー, スポーツ写真, ライフハック

FFmpeg便利コマンド(随時)

FFmpeg便利コマンド(随時)

  • すぐFFmpegのコマンド忘れてしまうので, 随時更新.

f:id:flow-dev:20200430105826j:plain



動画を連番png画像で展開(連番で命名)
ffmpeg -i input.mp4 -vcodec png image_%03d.png
動画に3DLUTを充てて,YUV420で出力
ffmpeg -i input.mp4 -b:v 100M -g 1 -vsync 1 -pix_fmt yuv420p -vcodec libx264 -vf lut3d="3dlut.cube" output.mp4
連番画像を23.98fps,yuv422でh264出力
ffmpeg -r ntsc-film -i %03d.png -y -threads 0 -b:v 100M -minrate 100M -maxrate 100M -bufsize 200M -tune film -color_primaries bt709 -color_trc bt709 -colorspace bt709 -g 1 -vsync 1 -pix_fmt yuv422p -vcodec libx264 -r ntsc-film output.mp4
連番画像を23.98fps,yuv422でh264出力(開始フレーム番号を指定)
ffmpeg -r ntsc-film -start_number 101 -i %03d.png -y -threads 0 -b:v 100M -minrate 100M -maxrate 100M -bufsize 200M -tune film -color_primaries bt709 -color_trc bt709 -colorspace bt709 -g 1 -vsync 1 -pix_fmt yuv422p -vcodec libx264 -r ntsc-film output.mp4
動画を23.98fps,yuv422でProResHQ出力
ffmpeg -r ntsc-film -i input.mp4 -y -threads 0 -codec:v prores_ks -pix_fmt yuv422p10 -profile:v 3 -bits_per_mb 8000 -vendor ap10 -vf scale=in_color_matrix=bt709:out_color_matrix=bt709 -r ntsc-film output.mov
動画を開始タイムコードを指定して,23.98fps,yuv422でProResHQ出力
ffmpeg -r ntsc-film -i input.mp4 -timecode 11:00:06:00 -y -threads 0 -codec:v prores_ks -pix_fmt yuv422p10 -profile:v 3 -bits_per_mb 8000 -vendor ap10 -vf scale=in_color_matrix=bt709:out_color_matrix=bt709 -r ntsc-film output.mov
120p動画を開始タイムコードを指定して,ベース23.98fps, 22fpsスロー H264出力(音声つき)
ffmpeg -r (120*(24/22)) -i input.MP4 -timecode 01:02:03:04 -y -threads 0 -b:v 100M -minrate 100M -maxrate 100M -bufsize 200M -tune film -color_primaries bt709 -color_trc bt709 -colorspace bt709 -g 1 -vsync 1 -pix_fmt yuv420p -vcodec libx264 -r ntsc-film -filter:v "setpts=(22/24)*PTS" -filter:a "atempo=(24/22)" -acodec aac -b:a 256k -ar 48000 -vf lut3d="3dlut.cube" output_slow_22p.MP4
連番画像(rgba_4chのpng)を23.98fpsのProRes4444で出力
ffmpeg -r ntsc-film -i %05d.png -y -threads 0 -codec:v prores_ks -pix_fmt rgba -profile:v 4444 -bits_per_mb 8000 -vendor ap10 -vf scale=in_color_matrix=bt709:out_color_matrix=bt709 -r ntsc-film output.mov
連番画像(rgba_4chのpng)を23.98fpsのpng codecで出力
ffmpeg -r ntsc-film -i %05d.png -vcodec png -r ntsc-film output_png.mov
H.265 codecで出力
ffmpeg -i input.mp4 -c:v libx265 -crf 22 -tag:v hvc1 output.mp4
切り出し位置を時間(-ssが先頭時間,-tが全長時間)で指定して,23.98fps,yuv422でProResHQ出力
ffmpeg -ss 0.6 -i input_prores4444.mov -t 2.0 -y -threads 0 -codec:v prores_ks -pix_fmt rgba -profile:v 4444 -bits_per_mb 8000 -vendor ap10 -vf scale=in_color_matrix=bt709:out_color_matrix=bt709 -r ntsc-film output_prores4444.mov

参考文献

ffmpegでProRes変換 - 日々適当

ffmpegで連番画像から動画生成 / 動画から連番画像を生成 ~コマ落ちを防ぐには~ - Qiita

ffmpeg alphaチャンネルを扱える動画エンコーダのメモ - 脳内メモ++

Using FFmpeg to Create HEVC Videos That Work on Apple Devices

ffmpeg で指定時間でカットするまとめ | ニコラボ