最近心情大好,写文章也有了动力。下面这篇科普文主要是为了回答QQ上提问的童鞋们,文笔一如既往的没文采,多多包涵~
(一)
题目既然这么说了,那么先来介绍一下ios支持的视频格式。
官方给出的说明是这样的:
“H.264 视频最高可达 1080p,每秒 30 帧,High Profile level 4.1,采用 AAC-LC 声音格式,最高 160 Kbps,48kHz, 立体声为 .m4v, .mp4 与 .mov 文件格式;MPEG-4 视频……”
相信不少同学看到这里已经糊涂了,一会h.264,一会.mp4什么的,“虽不明但觉厉的样子!但是对自己一点帮助也没有唉….”
那么,下面就为大家通俗易懂地解释一下。
首先,我们从网上下载到的视频文件都是有后缀名的。
【没有看到的文件后缀名的可以去“控制面板-文件夹选项”中打开“显示已知文件的扩展名”,mac则是打开Finder的设置(Finder中command+,),“进阶”选项卡,“显示所有文件后缀”】
而这些视频文件的后缀,无非是.mkv / .flv / .rmvb / .mp4 / .avi / .mov /.m4v 等等这么十来种,常用的也就是前面那几种。
准确地说,我们不能通过后缀就判断出视频格式。而是应该综合其编码来看。
这么说吧,视频文件的后缀,代表的是一个封装方式,相当于盛着肉(视频)和菜(音频)以及各种佐料(字幕,菜单etc)的一个碗。
而至于肉和菜是什么样的,我们还不知道。也就是说,看后缀,只能知道视频封装。而视频编码还多种多样,不过好在目前.mkv 、 .mp4 、 .mov 、.m4v这几种封装都喜欢装h.264的编码,所以有“看到碗就知道里面装了什么的感觉”。
比如,mkv这种高清视频常见格式,就能支持绝大多数的视频、音频编码。
回到刚才那个话题,ios支持最好的视频格式是什么呢?答案是:H.264视频编码+AAC音频编码,以m4vmp4mov封装的视频。iTunes是可以直接识别并同步的。
(二)
那么我们怎么将其他视频格式,转化为ios支持的视频格式呢?善用谷歌度娘,话说七夕这天晚上关于这对CP..咳言归正传,你可以找到很多视屏转换软件,不少还打着iphone/ipad专用的旗号。
那么,转换成h.264 AAC就ok了吗?稍等,在那之前请注意分辨率和码率。
首先是分辨率,网上经常看到所谓720P(1024*720etc),1080P(1920*1080etc),高清这类词语,讲的就是分辨率,其实跟电脑屏幕的分辨率是一个道理。
注意你视频源的分辨率,如果源的分辨率过低,那么你转一个高分辨率的视频出来是浪费资源。
码率是直接衡量一个视频大小的关键,即使有1080P的高分辨率,500K码率的视频也将惨不忍睹。对于h.264这种视频编码来说,不同的视频在同样码率下的表现都有可能大不一样。所以说网上压片的人一天研究怎样调节参数使得码率和视频体积、视屏质量达到一个平衡,就是这个原因。有可能视频源码率比转换出来的视频码率稍低一点,这不要紧。
一般我的建议是,低分辨率视频转480*320,500Kb码率即可,720*480,700K左右码率即可。ipad用1024*720,1Mb码率即可。
音频我们操心的只有码率概念,不超过音频源的话,一般128K即可。
另外,追求高清的同学还是直接用电脑比较好嗯,否则高码率的转换时间是非常长的。
(三)
有没有不转换视频格式,直接拿ios设备看视频的办法呢?当然是有的。
appstore上有着大把大把“全格式视频播放器”,支持我刚才说的各种编码、各种封装,还支持各种外挂字幕神马的。这些软件可以在iTunes的应用程序中访问其文件目录,在那里你可以上传你要播放的视频。当然也可以用ifunbox一类的程序上传。
然而,天下没有免费的午餐,表现较好的软件都是要收费的,不过相对于ios设备的价格,只是九牛一毛。
这些软件对h.264编码的视频支持一般都比较好,主要是因为大部分h.264视频可以利用专门的芯片“硬解码”,效率高,也会有很多其他方便的功能。但是对于其他的非h.264编码,软件调用的是CPU运算能力解码,也就是所谓的“软解”,效率较低,碰上高分辨率,大码率的视频是吃不消的(各种卡),发热会增加,也会非常耗电。自然,处理器越好(越新的ios设备),软解播放视频能力越强。
一个好消息是,现存大部分FLV视频码率都不高,软解压力不大,而新的视频越来越多使用h.264编码,支持良好。
一个坏消息是,h.264编码函数库也正仍然在发展,不少PT站上的视频尽管采用h.264,却无法硬件解码,CPU运算能力又有限,于是只好在电脑上看。
(四)
也许之前就有同学提问了:用mkv封装的h.264 aac能否不经过重新转换,变成mp4movm4v封装的呢?
当然可以,我们需要做的是手动抽出音频和视频,然后重新封装。
听起来好高级的样子,实际上只需要两个软件就能完成。(也有人写了专门重封装的软件)
同时,重封装也能解决视频是h.264,而音频是其他格式(FLAC DTS)导致不能播放的问题。
可以参见我以前写的一篇文章:http://yuyii.com/index.php/2012/01/mac下解决电视播放mkv无声音或无图像问题/
对于用mkv封装的h.264 aac视频,还有另一个解决方案:XBMC。这是一个开源的视频播放软件,对用mkv封装的h.264 aac兼容良好,硬件解码,有点悲剧的是UI稍微有些特立独行,而且由于开源,appstore中没有,得越狱后再Cydia中添加源安装。
一个很久前我写的评测可供参考:
http://yuyii.com/index.php/tag/xmbc/