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秒和结尾最后一秒淡出,这在指定结尾的淡出非常方便。

最新文章

  1. MySQL 锁问题
  2. Nginx 配置支持C++
  3. ngrok 配置
  4. TMS320C64X+ 中使用EDMA3中断
  5. OpenResty 平滑升级
  6. Java里正则表达式
  7. Java开源框架推荐(全)
  8. 繁华模拟赛 Evensgn的债务
  9. Problem A+B(Big Integer)
  10. linux非阻塞的socket EAGAIN的错误处理
  11. 解决Mac下Sequel Pro 1.1 连接 Homebrew安装Mysql5.7.8的问题 Sequel Pro 1.1 encountered an unexpected error
  12. Nginx设置alias实现虚拟目录 alias与root的用法区别
  13. java 线程中断机制
  14. mysql查看表结构2种方式对比
  15. IAR 跳转路径错误
  16. Leetcode:LRU Cache,LFU Cache
  17. maven的小知识
  18. 关于Application.DoEvents()==转
  19. 2017秋软工 —— 本周PSP
  20. System Board Replacement Notice

热门文章

  1. thinkPHP5.0的学习研究【架构】
  2. CAShapeLayer实现圆形进度条效果
  3. MySql 查询列中包含数据库的关键字
  4. POJ 2187 Beauty Contest【旋转卡壳求凸包直径】
  5. nginx的location
  6. 【python】-- paramiko、跳板机(堡垒机)
  7. linux c编程:信号(三) sigprocmask和sigpending函数
  8. sql 2008数据事务日志已满处理方法
  9. JETSON TK1 ~ 刷机和克隆固件
  10. flask初次搭建rest服务笔记