ffmpeg常用命令

FFMpeg教程

https://blog.csdn.net/class_brick/article/details/82893967

缩放

ffmpeg -i IMG_6188.MOV -filter_complex scale=180:320 -y 缩放.mp4

说明:scale参数为宽高。

视频剪切(时间)

ffmpeg -ss 0:0 -t 0:5 -i IMG_6188.MOV 剪切.mp4

-ss 开始时间
-t 持续时间

剪裁

ffmpeg -i IMG_6188.MOV -filter_complex crop=360:640:100:100 -y 裁剪.mp4

说明:其中的 crop=320:240:0:0为裁剪参数,具体含义是 crop=width:height:x:y,其中 width 和 height 表示裁剪后的尺寸,x:y 表示裁剪区域的左上角坐标。

加水印

ffmpeg -i IMG_6188.MOV -vf "movie=logo.png[logo];[in][logo]overlay=100:100[out]" -y 水印.mp4

说明:LogoName为图片名,overlay=100:100意义为overlay=x:y,在(x,y)坐标处开始添加水印。

左上角:overlay=10:10 
右上角:overlay=main_w-overlay_w-10:10
左下角:overlay=10:main_h-overlay_h-10 
右下角:overlay=main_w-overlay_w-10:main_h-overlay_h-10

旋转

ffmpeg -i IMG_6188.MOV -filter_complex transpose=1 -y 旋转.mp4

说明:transpose=1为顺时针旋转90°,transpose=2逆时针旋转90°。

上下镜像

ffmpeg -i IMG_6188.MOV -vf "split[mian][tmp];[tmp]crop=iw:ih/2:0:0,vflip[flip];[mian][flip]overlay=0:H/2"-y 上下镜像.mp4

左右镜像

ffmpeg -i IMG_6188.MOV -vf "split [main][tmp]; [tmp] crop=iw/2:ih:0:0, hflip [flip]; [main][flip]overlay=W/2:0" 左右镜像.mp4

加黑边

ffmpeg -i IMG_6188.MOV -vf pad=1120:1960:20:20:black -y 加黑边.mp4

说明:pad=width:high:x:y:coler,这里的宽和高指的是结果视频尺寸(包含加黑边的尺寸),XY指的是源视频添加到结果视频所在位置,coler为填充颜色。

加速/减速视频

ffmpeg -i IMG_6188.MOV -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2[a]" -map "[v]" -map "[a]" 加速.mp4

setpts=0.5*PTS 中的 0.5 是视频速度放慢一半
atempo=2 中的 2 是相对应的音频速度(=1/视频速度)

提取视频

ffmpeg -i IMG_6188.MOV -vcodec copy -an 提取视频.mp4

提取音频

ffmpeg -i IMG_6188.MOV -write_xing 0 提取音频.mp3

音频淡入/淡出

ffmpeg -i IMG_6188.MOV -af afade=t=in:st=0:d=3,afade=t=out:st=13:d=3 音频淡入.mp4

视频截图

ffmpeg -i IMG_6188.MOV -ss 00:00:10 -vframes 1 视频截图.jpg

输出第 10 秒的截图

视频 GIF 转换

ffmpeg -i 剪切.mp4 -r 10 output.gif

GIF 转视频

ffmpeg -f gif -i output.gif GIF.mp4

去logo滤镜

ffmpeg -i IMG_6188.MOV -vf mp=delogo=560:10:190:60:20 -y 去logo滤镜.mp4

将mp4转成ts

ffmpeg -y -i dance_5.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb dance_5.ts

将ts文件切割成一段段(segment_time 每段10秒)

ffmpeg -i dance_3.ts -c copy -map 0 -f segment -segment_list 3/index.m3u8 -segment_time 10 3/nxb-%04d.ts

mp4转yuv

ffmpeg -i test.mp4 test.yuv

播放yuv

ffplay -video_size 640x480 -pixel_format yuv420p out.yuv

你可能感兴趣的:(ffmpeg常用命令)