よく使うffmpegのコマンドメモ
1. ファイル連結
ffmpeg -f concat -i file.txt output.mp4
file.txt (ファイル内容)
file 1.mp4
file 2.mp4
2. 時間を指定してファイルを切り取り
ffmpeg -ss 0:0:1 -to 0:0:5 out.mp4 -i in.mp4
-t 00:00:50 指定時間から50秒の動画を切り取り、指定ない場合00:00:00から
-ss 00:00:10 最初の時間を指定
-to 00:00:50 終了の時間を指定
―t は切り取り動画の長さ
―to は動画のタイム時間
3. ファイルのメタデータ削除する
ffmpeg -i in.mp4 -map_metadata -1 out.mp4
4. クロップ-領域を指定して動画出力
ffmpeg -i in.mp4 -vf crop=482:180:44:397 out.mp4
クロップサイズw:クロップサイズh:座標x:座標y
4. クロップ-領域を指定して動画出力
ffmpeg -i in.mp4 -vf crop=482:180:44:397 out.mp4
クロップサイズw:クロップサイズh:座標x:座標y
5. 動画ファイルを連番画像に変換
ffmpeg -i in.mp4 -r 30 -q:v 1 image%04d.png
6. 複数の画像を動作に変換
ffmpeg -r 30 -i image%04d.png out.mp4
ffmpeg -r 30 -start_number 43 -i %04d.png out.mp4
ファイルのスタート番号は0001ではない場合-start_number 指定
7. 手ぶれ補正(手順は2回、古いビデオカメラに役立つ)
7. 手ぶれ補正(手順は2回、古いビデオカメラに役立つ)
7-1. ffmpeg.exe -i in.mp4 -vf vidstabdetect -an -f null -
transforms.trf 動作の分析ファイルが作成されます。
transforms.trf 動作の分析ファイルが作成されます。
7-2. ffmpeg.exe -i in.mp4 -vf vidstabtransform out.mp4
8. 一枚の写真でMP4動作作成
ffmpeg.exe -i image.JPG -i sound.mp3 -r 1 out.mp4
9. Mp3 ファイル作成、アルバムアートを追加する
9. Mp3 ファイル作成、アルバムアートを追加する
ffmpeg.exe -i audio.mp3 -i art.jpg -disposition:v:1 attached_pic -map 0 -map 1 -id3v2_version 3 outfile.mp3
10. ffmpeg でインターレース解除
10. ffmpeg でインターレース解除
ffmpeg.exe -i in.mp4 -vf bwdif out.mp4
11. サウンドの入れ替え(source1の映像、source2の音声)
11. サウンドの入れ替え(source1の映像、source2の音声)
ffmpeg.exe -i in1.mp4 -i in2.mp4 -map 0:v:0 -map 1:a:0 -shortest out.mp4
12. 動画のサイズ変更 1280x720 から 720x404へ
自動で設定したいほうに -1 をセットする
ffmpeg -i in.mp4 -s 720x404 out.mp4
ffmpeg -i in.mp4 -vf scale=1280:-1 out.mp4
ffmpeg -i in.mp4 -vf scale=-1:720 out.mp4
13. 動画の音量を調整
ffmpeg -i in.mp4 -c:v copy -af "volume=0.5" out.mp4
ffmpeg -i in.mp4 -c:v copy -af "volume=6dB" out.mp4
14. 動画再生速度を調整
2倍
ffmpeg -i in.mp4 -vf setpts=PTS/2.0 -af atempo=2.0 out.mp4
0.5倍
ffmpeg -i in.mp4 -vf setpts=PTS/0.5 -af atempo=0.5 out.mp4
15. 動画を回転する
ffmpeg -i in.mp4 -vf transpose=2 -c:a copy out.mp4
1 → 90度 時計まわりに回転
2 → 90度 時計反まわりに回転
3 → 90度 時計まわり回転後、上下を反転
0 → 90度 時計反まわり回転後、上下を反転
ffmpeg -i in.mp4 -vf "rotate=45*PI/180" out.mp4 (45°)
rotate と transpose の違い
transpose 1280X720 だと、90度回転すると 720X1280 になる、枠が回転する
rotate で90度と回転後は1280X720のままです、枠は回転しない
ffmpeg - i in.mp4 -vf vflip out.mp4 (上下ミラ)
ffmpeg - i in.mp4 -vf hflip out.mp4 (左右ミラ)
16. ファイルの最大サイズを指定
ffmpeg -i in.mp4 -fs 20M out.mp4
17. ffmpeg ストリーミング ダウンロード
ffmpeg -i url -c copy out.mp4
18. ffmpeg メタデータの追加・変更
ffmpeg -i in.mp4 -metadata comment="vid:xxxxxxx" out.mp4
-metadata key=value
19. ffmpeg h264_qsv
ffmpeg -i in.mp4 -c:v h264_qsv -b:v 3000k out.mp4
20. ffmpeg h264_nvenc
ffmpeg -i in.mp4 -c:v h264_nvenc -b:v 3000k out.mp4
21. ffmpeg h264_amf
ffmpeg -i in.mp4 -c:v h264_amf -b:v 3000k out.mp4
ffmpeg -encoders
h264_nvenc NVIDIA NVENC H.264 encoder (codec h264)
nvenc_h264 NVIDIA NVENC H.264 encoder (codec h264)
nvenc NVIDIA NVENC H.264 encoder (codec h264)
h264_amf AMD AMF H.264 Encoder (codec h264)
h264_qsv H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
(Intel Quick Sync Video acceleration) (codec h264)
22. 動画ファイルを指定秒数で連続で分割する
ffmpeg -i in.mp4 -c:v copy -c:a copy -f segment -segment_time 58 out-%02d.mp4
23. メタデータをコピーする
ffmpeg -i in.mp4 -i -map_metadata 0 out.mp4
パッチファイルの例
for %%a in (*.mp4) do echo ffmpeg -i %%a -map_metadata 0 -r 29.97 -c:v h264_qsv -b:v 6M .\H264_qsv\%%a >> filelist.cmd
ffmpeg -i in0.mkv -i in1.mkv -map 1 -c copy \
# copies all global metadata from in0.mkv to out.mkv
-map_metadata 0 \
# copies video stream metadata from in0.mkv to out.mkv
-map_metadata:s:v 0:s:v \
# copies audio stream metadata from in0.mkv to out.mkv
-map_metadata:s:a 0:s:a \
out.mkv
24. Aviutil FFmpeg 出力時のコマンド設定
-c:a aac
-q:v 23
-c:v h264_qsv
-b:v 3M
-r 30
-map_metadata -1
-metadata comment="vid:free"
-b:v 6400k
-c:v h264_qsv
-r 29.97
-crf 23
-aspect "16:9"
-map_metadata 1
-metadata comment="vid:Running2022"
-profile main
25. ffmpeg DAR 指定 アスペクト比のみを変更する
-aspect 4:3
26.
x. 思い出したら追加します。
0 件のコメント:
コメントを投稿