利用ffmpeg+mencoder视频转换的总结(C#)
来源:互联网 发布:淘宝发货能改地址吗 编辑:程序博客网 时间:2024/04/27 11:22
Youtube的成功,使得国内的视频网站如雨后春笋般的冒出来,前不久朋友叫我帮他写一个将各种视频格式转换成flv的程序,这里就将编写程序遇到困难和获得的经验拿出来和大家分享一下。
1、使用引擎:ffmpeg + Mencoder
2、ffmpeg最新版本的下载地址:http://ffdshow.faireal.net/mirror/ffmpeg/
Mencoder新版本的下载地址:http://www5.mplayerhq.hu/MPlayer/releases/win32/
3、转换速度比较:总体上ffmpeg转换的速度快于Mencoder
4、转换格式要求:rm、rmvb、rt格式的文件只能用Mencoder转换,出于速度考虑我基本上都用ffmpeg转换,所以Mencoder能转换的格式我没有详细测试(哪个朋友知道,麻烦你告诉我下,我补充上去)。
5、纯音频格式只能用Mencoder进行转换。如何判断是否是纯音频格式可以通过使用命令 FFmpeg -i "文件的完整路径" 获得输出后就可以分析出来。
6、.mov格式的用ffmpeg转换出来的效果比较差,建议用Mencoder进行转换,wmv8用ffmpeg经常会有花屏产生建议用Mencoder。
7、视频按比率输出的问题:必须先获取源视频文件的宽度和高度(也是通过 FFmpeg -i "文件的完整路径" 获得输出后就可以分析出来)根据这个高度和宽度的比率来设定输出文件的尺寸。
8、可能的难点:因为这ffmpeg 和 Mencoder都是命令行工具(当然你也可以下载源代码自己修改成com之类的),在C#只能用Process调用,前面我提过要获得输出信息(获取视频相关信息、获取当前的转换进度、获取什么时候完成转换),必须设置process.StartInfo.UseShellExecute = false; process.StartInfo.CreateNoWindow = true;然后必须通过异步编程的方式获取Process.StandardOutput和Process.StandardError的值,相关说明可以见(ms-help://MS.MSDNQTR.2003FEB.2052/cpref/html/frlrfSystemDiagnosticsProcessClassStandardOutputTopic.htm)(必须安装了msdn的才能看)。
本文旨在帮助大家少走一些弯路,并不提供实际的解决方案及相关的源码下载,如需要源码要付费才行(有意向者可以发送邮件cxbsky#hotmail.com)。
有其他任何问题欢迎大家在本文章发布留言。
参考文章:
http://wf.xplore.cn/read.php/90.htm
百度和google搜索ffmpeg mencoder也有很多相关网页
- 利用ffmpeg+mencoder视频转换的总结(C#)
- 利用ffmpeg+mencoder视频转换的总结(C#)
- 利用ffmpeg+mencoder视频转换的总结(C#)
- 利用ffmpeg+mencoder视频转换的总结(C#)
- 利用ffmpeg mencoder视频转换的总结
- 利用ffmpeg mencoder视频转换的总结
- ffmpeg+mencoder视频转换的总结
- 利用commonsfileupload+ffmpeg+mencoder完成视频的上传与转换
- JAVA+ffmpeg+mencoder转换视频
- JAVA+ffmpeg+mencoder转换视频
- ubuntu 视频转换 ffmpeg mencoder
- JAVA+ffmpeg+mencoder转换视频
- 利用commonsfileupload+ffmpeg+mencoder完成视频的上传与转换(2)
- 利用commons upload+ffmpeg+mencoder完成视频的上传与转换(1)
- 视频转换 视频水印 mencoder+ffmpeg+aviysth+ffdshow
- 视频转换 视频水印 mencoder+ffmpeg+aviysth+ffdshow (1)
- Windows下实现Mencoder+FFMPEG视频转换和截图的功能
- Windows下实现Mencoder+FFMPEG视频转换和截图的功能
- asp.net(存储过程)使用三种方法存取数据库记录(20070510)
- Asp.net FMS 开发视频网站
- JDBC连接各种数据库方法
- DataGrid编辑更新取消(20070512)
- cmd命令大全
- 利用ffmpeg+mencoder视频转换的总结(C#)
- kshen转VS 快捷键
- CRLF注入攻击原理和防范措施
- sql集合操作
- 盘县人真牛B
- 怎么实现“鼠标穿透”,即鼠标对窗体失去作用,对着它点右键要出现WINDOWS的桌面右菜单
- 在C#中用户控件与窗体间的消息传递
- DOS多任务系统实现
- WinSock API 入门