【笔记】FFmpeg常用命令


常用命令分享记录

分离视频音频流

分离视频文件中的视频

ffmpeg -i 源视频文件 -vcodec copy -an 输出文件

分离视频文件中的音频,两种方式都可以

ffmpeg -i 源视频文件 -acodec copy -vn 输出视频文件

ffmpeg -i 111.mp4 -an 去掉音频.mp4

视频转码

MP4 flv互转

// 640k表示的码率
ffmpeg -i 111.mp4 -b:v 640k 111.flv

ffmpeg -i 111.flv -b:v 640k 111.mp4

H264编码互转

ffmpeg -i 111.mp4 -vcodec h264 333.mp4

ffmpeg -i 111.mp4 -vcodec mpeg4 333.mp4

MP4 avi互转

ffmpeg -i 111.mp4 output.avi

ffmpeg -i 111.avi output.mp4 

视频尺寸压缩

// 将输入原始尺寸缩小到560x540输出,
//如果540不写,写成-1,即scale=560:-1, 那也是可以的,ffmpeg会通知缩放滤镜在输出时保持原始的宽高比
ffmpeg -i 111.mp4 -vf scale=560:540 output.mp4

视频添加水印

//显示在右上角
//x:y 离左上角的坐标
//w:h logo的宽和高
//t: 矩形边缘的厚度默认值4

//左上角
 ffmpeg -i 111.mp4 -i 00.webp -filter_complex overlay 222.mp4
//右上角
 ffmpeg -i 111.mp4 -i 00.webp -filter_complex overlay=W-w 0001.mp4
 //居中
 ffmpeg -i 111.mp4 -i 00.webp -filter_complex overlay=main_w/2-overlay_w/2:main_h/2-overlay_h/2 0001.mp4
 //左下角
 ffmpeg -i 111.mp4 -i 00.webp -filter_complex overlay=0:H-h 0001.mp4
 //右下角
 ffmpeg -i 111.mp4 -i 00.webp -filter_complex overlay=W-w:H-h 0001.mp4
 //添加居中文字水印
 ffmpeg -i 111.mp4 -vf "drawtext=fontfile=simhei.ttf: text='抖音':x=(w-text_w)/2:y=(h-line_h)/2:fontsize=56:fontcolor=yellow:shadowy=2" drawtext.mp4
//添加GIF水印 无限循环播放gif
 ffmpeg -y -i 111.mp4 -ignore_loop 0 -i 12.gif -filter_complex overlay=main_w/2-overlay_w/2:main_h/2-overlay_h/2 -shortest gif.mp4
//添加GIF水印 视频五秒时播放一次
 ffmpeg -y -i 111.mp4 -itsoffset 5 -i 12.gif -filter_complex overlay=main_w/2-overlay_w/2:main_h/2-overlay_h/2:eof_action=pass gif.mp4
//设置水印显示时间段
 ffmpeg -y -i 111.mp4 -ignore_loop 0 -i 12.gif  -filter_complex "overlay=main_w/2-overlay_w/2:main_h/2-overlay_h/2:enable='between(t,5,10)'" -shortest out.mp4 

音视频倒放

//视频倒放,无音频
 ffmpeg.exe -i 111.mp4 -filter_complex [0:v]reverse[v] -map [v] -preset superfast reversed.mp4
//视频倒放,音频不变
 ffmpeg.exe -i 111.mp4 -vf reverse reversedAndAudio.mp4
//音频倒放,视频不变
 ffmpeg.exe -i 111.mp4 -map 0 -c:v copy -af "areverse" reversed_audio.mp4
//音视频同时倒放
 ffmpeg.exe -i 111.mp4 -vf reverse -af areverse -preset superfast reversedAll.mp4
//视频加速,帧速率变为8倍
 ffmpeg -i 111.mp4 -vf setpts=PTS/8 -af atempo=8 kuai8.mp4
//视频减速播放
ffmpeg -i 111.mp4 -filter_complex "[0:v]setpts=2*PTS[v];[0:a]atempo=0.5[a]" -map "[v]" -map "[a]" man2.mkv

猜你喜欢

转载自blog.csdn.net/TLuffy/article/details/123636834