ffmpeg filter_complex rotate

ffmpeg -i IMG_0001.jpg -frames:v 1 -filter_complex "color=#FFFFFF:s=500x400[v1];\
[v1]drawtext=fontfile=/usr/share/fonts/msyh.ttf:text='这是什么东西?':borderw=3:bordercolor=#FF0000:\
x=30:y=130:fontsize=80[v1];[v1]rotate=a=-PI*30/180:fillcolor=#FFFFFF@0[v1];[v1]colorkey=#00FF00:0.05:1[v2];\
[0:v][v2]overlay=main_w-overlay_w-240:main_h-overlay_h-240"\
 -y input_1_1.jpg

在一张图片上画一块区域,在区域中写入文字,然后让文字旋转,就实在了文字打斜功能。
ffmpeg -f lavfi -i color=#FF0000:size=500x400 -frames:v 1 -filter_complex "color=#FFFFFF:s=500x400[v1];\
[v1]drawtext=fontfile=/usr/share/fonts/msyh.ttf:text='这是什么东西?':borderw=3:bordercolor=#FF0000:\
x=30:y=130:fontsize=80[v1];[v1]rotate=a=-PI*30/180:fillcolor=#FFFFFF@0[v1];[v1]colorkey=#00FF00:0.05:1[v2];\
[0:v][v2]overlay=main_w-overlay_w-10:main_h-overlay_h-10"\
 -y input_1_2.jpg

ffmpeg -f lavfi -i color=#FF0000:size=1000x600 -frames:v 1 -filter_complex "color=#FFFF00:s=1000x600[v1];[v1]drawtext=fontfile=/usr/share/fonts/msyh.ttf:text='It has been exist':borderw=1:bordercolor=#FF0000:x=50:y=250:fontsize=130[v1];[v1]rotate=PI/9:fillcolor=#FFFFFF@0[v1];v1]colorkey=#00FF00:0.05:1[v2];[0:v][v2]overlay=main_w-overlay_w-10:main_h-overlay_h-10"
 -f image2 exist_0.jpg -y

ffmpeg -f lavfi -i color=#FFFFFF:size=1000x600 -frames:v 1 -filter_complex "color=#FFFFFF:s=1000x600[v1];\
[v1]drawtext=fontfile=/usr/share/fonts/msyh.ttf:text='It has been exist':borderw=2:bordercolor=#000000:\
x=50:y=250:fontcolor=#FF0000:fontsize=130[v1];[v1]rotate=PI/9:fillcolor=#00FFFF@0[v1];[v1]colorkey=#F0F0F0:0.05:1[v2];\
[0:v][v2]overlay=main_w-overlay_w-20:main_h-overlay_h-20"\
 -f image2 exist_0.jpg -y
DATE=$(date +"%Y-%m-%d_")
TIME=$(date +"_%H-%M-%S")
#ffmpeg -i 2025-10-21_movie_16-15-14.mp4 -filter_complex "color=#FFFFFF:size=350x350[v1];[v1]drawtext=fontfile=msyh.ttf:text='Copy Right':fontcolor=#FFFFFF:borderw=1:bordercolor=#000000:x=30:y=130:fontsize=30[v1];[v1]rotate=a=-PI/4:fillcolor=#FFFFFF@0.1[v1];[v1]colorkey=#FFFFFF:0.01:1[v2];[0:v][v2]overlay=main_w-overlay_w-10:main_h-overlay_h-10" -t 525.43 -f mp4 ${DATE}movie${TIME}.mp4 -y
ffmpeg -i Image/IMG_20251103-093207.jpg -filter_complex "color=#FFFFFF:size=350x350[v1];[v1]drawtext=fontfile=msyh.ttf:text=original:fontcolor=#FF0000:x=30:y=130:fontsize=80:borderw=1:bordercolor=#000000[v1];[v1]rotate=a=-PI/18:fillcolor=#FFFFFF@0.1[v1];[v1]colorkey=#FFFFFF:0.01:1[v2];[0:v][v2]overlay=main_w-overlay_w-5:main_h-overlay_h-5" -frames:v 1 -strftime 1 -f image2 Image/IMG_$(date +%Y%m%d-%H%M%S).jpg -y
#ffmpeg -i watermarker_2025-10-26_06-20-45.mp4 -filter_complex "color=#FFFFFF:size=200x200[v1];[v1]drawtext=fontfile=msyh.ttf:text='This is':fontcolor=#FFFFFF:borderw=1:bordercolor=#000000:x=30:y=130:fontsize=50[v1];[v1]rotate=a=-PI*30/180:fillcolor=#FFFFFF@0.1[v1];[v1]colorkey=#FFFFFF:0.01:1[v2];[0:v][v2]overlay=main_w-overlay_w-10:main_h-overlay_h-10" -t 62.60 -f mp4 test-$(date +%Y%m%d-%H%M%S).mp4 -y
#ffmpeg -i test_0.mp3 -i test_1.mp3 -filter_complex "[0:a]aresample=44100,aformat=fltp[a1];[1:a]aresample=44100,aformat=fltp,volume=1[a2];[a1][a2]amix" ff_amix.mp3
#ffmpeg -i test.mp4 -i ship.mp3 "[0:a]aresample=44100,aformat=fltp[a1];[1:a]aresample=44100, aformat=fltp,volume=0.5[a2];[a1][a2]amix" ff_amix.mp4
#ffmpeg -i 1.png -i 2.png -i 3.png -i 4.png -i 5.png -i 6.png -i 7.png -i 8.png -i 9.png\
# -filter_complex "nullsrc=size=720x720[base];[0:v] setpts=PTS-STARTPTS,scale=240x240 [v0];\
#[1:v] setpts=PTS-STARTPTS,scale=240x240 [v1];[2:v] setpts=PTS-STARTPTS,scale=240x240[v2];\
#[3:v] setpts=PTS-STARTPTS,scale=240x240 [v3];[4:v] setpts=PTS-STARTPTS,scale=240x240 [v4];\
#[5:v] setpts=PTS-STARTPTS,scale=240x240 [v5];[6:v] setpts=PTS-STARTPTS,scale=240x240 [v6];\
#[7:v] setpts=PTS-STARTPTS,scale=240x240 [v7];[8:v] setpts=PTS-STARTPTS,scale=240x240 [v8];\
#[base][v0]overlay=shortest=1[tmp1];[tmp1][v1] overlay=shortest=1: x=240[tmp2];\
#[tmp2][v2] overlay=shortest=1: x=480 [tmp3];[tmp3][v3]overlay=shortest=1:x=0:y=240 [tmp4];\
#[tmp4][v4]overlay=shortest=1:x=240:y=240 [tmp5];[tmp5][v5]overlay=shortest=1:x=480:y=240 [tmp6];\
#[tmp6][v6]overlay=shortest=1:x=0:y=480 [tmp7];[tmp7][v7]overlay=shortest=1:x=240:y=480 [tmp8];\
#[tmp8][v8]overlay=shortest=1:x=480:y=480"\
# -f image2 -y test-jpg-11.png
#水面倒影
#ffmpeg -i input-01.jpg -filter_complex '[0:v]pad=h=2*ih[a];[0:v]vflip[b];[a][b]overlay=y=h' -f image2 input-01-v.jpg
#镜面特效
#ffmpeg -i input-01.jpg -filter_complex '[0:v]pad=w=2*iw[a];[0:v]hflip[b];[a][b]overlay=x=w' -f image2 input-01-h.jpg
#-----------------------------------------
#ffmpeg -i input-0.mp4 -an -f mp4 input-01.mp4 && ffmpeg -i input-0.mp4 -vn -f mp3 input-01vh.mp3
#ffmpeg -i input-01.mp4 -filter_complex '[0:v]pad=h=2*ih[a];[0:v]vflip[b];[a][b]overlay=y=h' -f image2 input-01v.mp4
#ffmpeg -i input-01v.mp4 -filter_complex '[0:v]pad=w=2*iw[a];[0:v]hflip[b];[a][b]overlay=x=w' -f image2 input-01vh.mp4
#ffmpeg -i input-01vh.mp4 -i input-01vh.mp3 -f mp4 input-01vh.mp4
#在图片上寻找一块区域,将这块区域复制到另一块区域(临模/复制图章)
#ffmpeg -i 20251003_0918_5.jpg -filter_complex '[0:v]crop=1300:100:100:3000,eq=contrast=5.0[out]; [0:v][out]overlay=100:3000' -f image2 20251003_0918_6.jpg
#ffmpeg -i 20250925_new_9.jpg -filter_complex '[0:v]crop=280:110:340:270,eq=contrast=5.0[out];[0:v][out]overlay=w-250:h-90' -strftime 1 -f image2 20250925_new_9_%Y%m%d-%H%M%S.jpg
#ffmpeg -i 20250925_new_9.jpg -filter_complex '[0:v]crop=280:110:20:100,eq=contrast=2.0[out];[0:v][out]overlay=w-260:h-90' -strftime 1 -f image2 20250925_new_9_%Y%m%d-%H%M%S.jpg
Published
Categorized as ffmpeg

Leave a comment

Your email address will not be published. Required fields are marked *