ffmpeg.exe是大名鼎鼎的视频处理软件,以命令行参数形式运行。网上也有很多关于ffmpeg的资料介绍。但是在用C#做实际开发时,却遇到了几个问题及注意事项,比如如何无损处理视频?如何在转换格式的同时添加水印,以提升处理效率?,ffmpeg的版本应该选择什么版本?。今天史林峰将用实战的方式来探索C#操作ffmpeg的奥秘。
关于ffmpeg的使用及其参数命令,这里就不做过多介绍了。主要以项目实战中为主。
因工作需要,笔者手头有近300部短视频需要处理,在网上找了不少工具,虽然能用,但是用起来却有一种Hold不住的感觉。要么是处理后有软件水印或片花,要么是不能直接批量一次性处理完,视频要一个一个地去设置。
这里主要需求是给现有的视频做格式转换,如果视频格式已经满足要求,就直接在指定位置加水印(png图片),在处理完之后,为了解决磁盘空间,在视频处理完成之后要删除原视频。笔者对C#语言是最熟知的,因此选用C# Winform做一个简易的视频批处理软件。
先上一张完工的项目截图:
在指定目录中读取视频,然后一件处理即可(中间的截取秒数的参数,属于视频剪切,暂时没有这块功能)