文書の表示以前のリビジョンバックリンク文書の先頭へ この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。 ====== ffmpeg ====== メモです。 ===== 画像のフェードイン・フェードアウト ===== 最初(0秒)から 3 秒でフェードイン、開始から 60 秒後から 3 秒でフェードアウト <code> ffmpeg -i in.mp4 -vf "fade=t=in:st=0:d=3,fade=t=out:st=60:d=3" out.mp4 </code> ===== 音声のフェードイン・フェードアウト ===== 最初(0秒)から 3 秒間でフェードイン、61秒から 3 秒でフェードアウト <code> ffmpeg -i in.mp4 -af "afade=t=in:st=0:d=3,afade=t=out:st=61:d=3" -c:v copy out.mp4 </code> 時間指定 <code> ffmpeg -i input -af "afade=t=in:start_time=00\\:00\\:00:d=3" -c:v copy output </code> フェードアウトの場合は "t=in" のところを "t=out" で。 ===== リサイズ ===== 動画の横幅(width)を 1280 にする。高さ(height)はアスペクト比を維持して自動で設定する <code> ffmpeg -i in.mp4 -vf scale=1280:-1 out.mp4 </code> ===== 動画に文字入れ ===== これは縦動画(x1280動画) <code> ffmpeg -i in.mp4 -filter_complex "drawtext=fontfile=/System/Library/Fonts/Supplemental/Bradley\ Hand\ Bold.ttf:text='@ten_forward':fontcolor=#C0DCC0:fontsize=16:x=600:y=1250" out.mp4 </code> 1280x720(HD)に文字入れ <code> ffmpeg -i in.mp4 -filter_complex "drawtext=fontfile=/System/Library/Fonts/Supplemental/Bradley\ Hand\ Bold.ttf:text='@ten_forward':fontcolor=#C0FFFF:fontsize=16:x=1150:y=680" out.mp4 </code> 4k動画に文字入れ(横) <code> ffmpeg -i in.mp4 -filter_complex "drawtext=fontfile=/System/Library/Fonts/Supplemental/Bradley\ Hand\ Bold.ttf:text='@ten_forward':fontcolor=#C0FFFF:fontsize=32:x=3600:y=2100" out.mp4 </code> ===== 音を消す ===== <code> ffmpeg -i in.mp4 -vcodec copy -an out.mp4 </code> ===== QuickTimeと互換性がないと言われた ===== <code> -acodec copy -vcodec libx264 -pix_fmt yuv420p </code> ===== AMDGPUを使った変換 ===== Advanced Media Framework SDK を使った h264 エンコード <code> ffmpeg -hwaccel auto -i in.mp4 -c:v h264_amf -c:a copy out.mp4 </code> ===== MacBook のハードウェアエンコード ===== h264 <code> ffmpeg -i in.mp4 -c:v h264_videotoolbox out.mp4 </code> hevc(より容量が小さくなる) <code> ffmpeg -i in.mp4 -c:v hevc_videotoolbox out.mp4 </code> 固定レートでより容量を節約 <code> ffmpeg -i in.mp4 -c:v hevc_videotoolbox -b:v 3.5M -tag:v hvc1 -c:a aac -b:a 128k -movflags +faststart out.mp4 </code> ===== Pixel 動画ブーストの動画の編集(AMDハードウェアエンコード) ===== こうやるといけた。"-pix_fmt yuv420p" がないとエラーになる。 <code> 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 </code> ===== 倍速 ===== <code> ffmpeg -i in.mp4 -vf setpts=PTS/2.0 -af atempo=2.0 out.mp4 </code> ===== 音ズレ ===== QuickTime では問題ないのに、なぜか他で再生するとずれることがあった。 VFR(可変フレームレート)からCFR(固定フレームレート)に変えると良いみたい。 30fps <code> ffmpeg -i in.mp4 -r 29.97 out.mp4 </code> こんな感じでも良い模様。 <code> ffmpeg -i in.mp4 -r 60 -vsync cfr out.mp4 </code> ===== 回転 ===== transpose=2 で左90度、transpoze=1で右90度 <code> ffmpeg -i in.mp4 -vf transpose=2 -metadata:s:v:0 rotate=0 out.mp4 </code> ===== 音声の調整(特定の周波数を上下) ===== <code> ffmpeg -i in.m4a -vn -af "equalizer=f=1000:width_type=h:width=200:g=5" out.m4a </code> 1000Hzから幅200Hzで5db上げる <code> ffmpeg -i in.m4a -vn -af "equalizer=f=300:width_type=h:width=200:g=-15" out.m4a </code> 低いほうを下げる。こもった感じの音をクリアな感じにできるかも ===== 台形補正 ===== <code> ffmpeg -i in.mp4 -vf "perspective=x0=396:y0=0:x1=1686:y1=190:x2=644:y2=2356:x3=1960:y3=2210,setdar=744/1133" out.mp4 </code> x0などの座標は次の順序。 <code> x0,y0 ---- x1,y1 | | | | x2,y2 ---- x3,y3 </code> setdar で縦横比を決めている。"744/1133" は縦動画で iPad mini 7 の画面いっぱいのサイズ。 ===== 特定の時間を画像として保存 ===== <code> ffmpeg -ss 00:00:00 -i hana.mp4 -vframes 1 frame.png </code> 次のようなhtmlをブラウザーで開くと、マウスオーバーで座標ゲット <code> <img src="frame.png" onmousemove="document.getElementById('pos').innerText=`x: ${event.offsetX}, y: ${event.offsetY}`"> <div id="pos"></div> </code> ===== 特定の領域を黒い長方形で覆う ===== <code> ffmpeg -i input.mp4 -vf "\ drawbox=x=100:y=100:w=300:h=200:color=black:t=fill" output.mp4 </code> ===== 座標(x,y)から幅w×高さhの範囲をぼかす(Blur) ===== (試してない) <code> ffmpeg -i input.mp4 -vf "\ [0:v]crop=w:h:x:y,boxblur=10[fg];\ [0:v][fg]overlay=x:y" output.mp4 </code> ===== 低解像度にスケールダウン→アップで粗いモザイク ===== (試してない) <code> ffmpeg -i input.mp4 -vf "\ [0:v]crop=300:200:100:100,scale=iw/10:ih/10,scale=300:200:flags=neighbor[fg];\ [0:v][fg]overlay=100:100" output.mp4 </code> ffmpeg/ffmpeg.txt 最終更新: 2026/01/22 17:20by tenforward