====== ffmpeg ======
メモです。
===== 画像のフェードイン・フェードアウト =====
最初(0秒)から 3 秒でフェードイン、開始から 60 秒後から 3 秒でフェードアウト
ffmpeg -i in.mp4 -vf "fade=t=in:st=0:d=3,fade=t=out:st=60:d=3" out.mp4
===== 音声のフェードイン・フェードアウト =====
最初(0秒)から 3 秒間でフェードイン、61秒から 3 秒でフェードアウト
ffmpeg -i in.mp4 -af "afade=t=in:st=0:d=3,afade=t=out:st=61:d=3" -c:v copy out.mp4
時間指定
ffmpeg -i input -af "afade=t=in:start_time=00\\:00\\:00:d=3" -c:v copy output
フェードアウトの場合は "t=in" のところを "t=out" で。
===== リサイズ =====
動画の横幅(width)を 1280 にする。高さ(height)はアスペクト比を維持して自動で設定する
ffmpeg -i in.mp4 -vf scale=1280:-1 out.mp4
===== 動画に文字入れ =====
これは縦動画(x1280動画)
ffmpeg -i in.mp4 -filter_complex "drawtext=fontfile=/System/Library/Fonts/Monaco.ttf:text='@ten_forward':fontcolor=#C0DCC0:fontsize=16:x=600:y=1250" out.mp4
1280x720(HD)に文字入れ
ffmpeg -i in.mp4 -filter_complex "drawtext=fontfile=/System/Library/Fonts/Supplemental/Monaco.ttf:text='@ten_forward':fontcolor=#C0FFFF:fontsize=16:x=1150:y=680" out.mp4
4k動画に文字入れ(横)
ffmpeg -i in.mp4 -filter_complex "drawtext=fontfile=/System/Library/Fonts/Supplemental/Monaco.ttf:text='@ten_forward':fontcolor=#C0FFFF:fontsize=32:x=3600:y=2100" out.mp4
===== 音を消す =====
ffmpeg -i in.mp4 -vcodec copy -an out.mp4
===== QuickTimeと互換性がないと言われた =====
-acodec copy -vcodec libx264 -pix_fmt yuv420p
===== AMDGPUを使った変換 =====
Advanced Media Framework SDK を使った h264 エンコード
ffmpeg -hwaccel auto -i in.mp4 -c:v h264_amf -c:a copy out.mp4
===== MacBook のハードウェアエンコード =====
現場
ffmpeg -i in.mp4 -c:v h264_videotoolbox out.mp4
===== Pixel 動画ブーストの動画の編集(AMDハードウェアエンコード) =====
こうやるといけた。"-pix_fmt yuv420p" がないとエラーになる。
progl ffmpeg -i PXL_20250228_060952574.VB-02.MAIN.mp4 -c:v h264_amf -c:a copy -crf 32 -pix_fmt yuv420p -ss 00:01:42 -to 00:02:27 out.mp4
===== 倍速 =====
ffmpeg -i in.mp4 -vf setpts=PTS/2.0 -af atempo=2.0 out.mp4
===== 音ズレ =====
QuickTime では問題ないのに、なぜか他で再生するとずれることがあった。
VFR(可変フレームレート)からCFR(固定フレームレート)に変えると良いみたい。
30fps
ffmpeg -i in.mp4 -r 29.97 out.mp4
こんな感じでも良い模様。
ffmpeg -i in.mp4 -r 60 -vsync cfr out.mp4
===== 回転 =====
transpose=2 で左90度、transpoze=1で右90度
ffmpeg -i in.mp4 -vf transpose=2 -metadata:s:v:0 rotate=0 out.mp4
===== 音声の調整(特定の周波数を上下) =====
ffmpeg -i in.m4a -vn -af "equalizer=f=1000:width_type=h:width=200:g=5" out.m4a
1000Hzから幅200Hzで5db上げる
ffmpeg -i in.m4a -vn -af "equalizer=f=300:width_type=h:width=200:g=-15" out.m4a
低いほうを下げる。こもった感じの音をクリアな感じにできるかも