因为工作需要编写一个采集特定网站视频文件,转换格式,且自动上传发布的系统,采集,上传,发布问题不大,唯独视频格式转换困扰了比较长的时间,所以记录分享一下这个技术,给有需要的博友参考
一般视频格式转换都是用ffmpeg和mencoder,但网上的资料说,ffmpeg性能高,mencoder功能强些。那就mencoder来吧。
string mencoderargs = " -oac faac -faacopts mpeg=4:object=2:raw:br=128 -ovc x264 -x264encopts global_header:no8x8dct:nocabac:weightp=0:bframes=0:level_idc=30 -of lavf -vf scale=-3:488,harddup";
string args = string.Format(" {0} -o {1} {2}", FLVFILEPATH, MP4FILEPATH), mencoderargs);
Process p = CreateProcess("mencoder.exe", args, string.Empty);
p.Start();
p.BeginOutputReadLine();
p.StandardInput.WriteLine("exit");//最后打入退出命令
p.WaitForExit();
p.Close();
p.Dispose();
关键点是mencoderargs,之前在网上找了很多参数,都能转化成MP4,android能播放,唯独ios系统的iphone和ipad下无法播放,后来找了一篇英文资料,具体链接丢了,说到了,ios下的mp4对音频和视频是有规格要求的,不过具体规格是什么,忘记了,上网搜了下,没找到,找到的这篇文章可以参考下,但不是以前看过的那篇,提到了一点点,供参考:
http://blog.jharding.org/2008/05/encoding-video-for-iphone-with-mencoder.html
具体就不深究了,技术这玩意,能解决问题就OK了。
以后学到新知识点,还是要及时总结的,时间一过,又都忘记了,好记性不如烂笔头啊!