ffmpeg的常用用法很多,我这里提供的用法有可能有许多地方是你没见过的。
一、ffmpeg合并视频
我经常需要切割再把一些零碎的视频给拼接起来,这样可以省许多磁盘空间。其实用mencoder挺不错的,至少合并的参数极简单。用ffmpeg可以用下面的方法合并,至少我觉得比用cat这么野蛮的合并文件的方法要好。
1
2
3
4
|
ffmpeg -i 1.avi -qscale: v 1 1.mpg ffmpeg -i 2.avi -qscale: v 1 2.mpg ffmpeg -i concat: "1.mpg|2.mpg" -c copy all.mpg ffmpeg -i all.mpg -qscale: v 2 output.avi |
二、ffmpeg做水面倒影效果
1
|
ffmpeg -i input.avi -vf "split[a][b];[a]pad=iw:ih*2[a];[b]vflip[b];[a][b]overlay=0:h" output.avi |
三、ffmpeg处理MKV文件也很方便
一般情况下用mkvtoolnix的,ffmpeg处理mkv也很灵活强大。
例如:把2.mkv和3.mkv的所有音频加到1.mkv里(在拼轨同时还可以分别指定对每个轨道进行copy还是重编码):
1
|
ffmpeg -i 1.mkv -i 2.mkv -i 3.mkv -map 0:0 -map 0:a -map 1:a -map 2:a -map 3:a -c copy OK.mkv |
四、添加图片水印
1
|
ffmpeg -i input.avi -vf "movie=1.png[wm];[in][wm]overlay=W-w:H-h" output.avi |
这样会把图片放在原影片的最右下角位置
五、把图片和音频合为mp4
1
|
ffmpeg -f image2 -r 30 /216 -i %3d.jpg -i music.mp3 -c: v mpeg4 -c:a copy OK.mp4 |
这样就能把图片和mp3合成视频了,而且图片的张数的时间按指定的music.mp3的时间来平均分配,不会出现图片放完了,音乐还在播放的情况。但有一点要特别注意,如果图片特别少指定的帧率太低了播放可能会出问题,我在Windows下用smplayer播放会出现卡死情况。用mencoder做这些事也非常方便。
六、分割视频并给分割出的视频开头和结尾做淡入淡出效果
1
2
|
ffmpeg -ss 20 -i p.mp4 -vf "fade=in:0:50,fade=out:450:50" -t 20 Ok.mp4 ffmpeg -ss 20 -i p.mp4 -vf "fade=in:0:d=1,fade=out:st=29:d=1" -t 20 OK.mp4 |
上面第一个命令是从p.mp4的第20秒开始到第40秒结束的一段视频保存为OK.mp4,并给开头的前50帧做个渐入的效果,给结尾的50帧做个渐黑的效果。第二个命令是按时间来算的,意思是开头淡入1秒和结尾最后一秒淡出,这在指定结尾的淡出非常方便。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2015-08-11 Linux系统下UDP发送和接收广播消息小例子
2014-08-11 boost 循环缓冲区
2014-08-11 boost::property_tree读取解析.xml文件
2014-08-11 boost::property_tree读取解析ini文件--推荐
2014-08-11 使用ffmpeg向crtmpserver发布rtsp流
2014-08-11 crtmpserver流媒体服务器的介绍与搭建
2014-08-11 boost中asio网络库多线程并发处理实现,以及asio在多线程模型中线程的调度情况和线程安全。