ffmpeg:ffmpeg

文書の過去の版を表示しています。


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/Supplemental/Bradley\ Hand\ Bold.ttf:text='@ten_forward':fontcolor=#C0DCC0:fontsize=16:x=600:y=1250" out.mp4

1280×720(HD)に文字入れ

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

4k動画に文字入れ(横)

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
ffmpeg -i in.mp4 -vcodec copy -an out.mp4
-acodec copy -vcodec libx264 -pix_fmt yuv420p

Advanced Media Framework SDK を使った h264 エンコード

ffmpeg -hwaccel auto -i in.mp4 -c:v h264_amf -c:a copy out.mp4

h264

ffmpeg -i in.mp4 -c:v h264_videotoolbox out.mp4

hevc(より容量が小さくなる)

ffmpeg -i in.mp4 -c:v hevc_videotoolbox out.mp4

こうやるといけた。“-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

低いほうを下げる。こもった感じの音をクリアな感じにできるかも

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

x0などの座標は次の順序。

x0,y0 ---- x1,y1
  |          |
  |          |
x2,y2 ---- x3,y3

setdar で縦横比を決めている。“744/1133” は縦動画で iPad mini 7 の画面いっぱいのサイズ。

ffmpeg -ss 00:00:00 -i hana.mp4 -vframes 1 frame.png

次のようなhtmlをブラウザーで開くと、マウスオーバーで座標ゲット

<img src="frame.png" onmousemove="document.getElementById('pos').innerText=`x: ${event.offsetX}, y: ${event.offsetY}`">
<div id="pos"></div>
ffmpeg -i input.mp4 -vf "\
drawbox=x=100:y=100:w=300:h=200:color=black:t=fill" output.mp4

(試してない)

ffmpeg -i input.mp4 -vf "\
[0:v]crop=w:h:x:y,boxblur=10[fg];\
[0:v][fg]overlay=x:y" output.mp4

(試してない)

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
  • ffmpeg/ffmpeg.1769102199.txt.gz
  • 最終更新: 2026/01/22 17:16
  • by tenforward