H.264编码心得
1,目前所做的任务是实现H.264的GPU硬件加速编码,选的是nVIDIA的CUDA C编码。
在它SDK3.2中提供的示例中有cudaEncode,可以直接对yuv文件进行编码得到264文件
分别对480p、720p和1080p的序列做了测试,平均FPS(每秒编码的平均帧数=总的帧数/编码耗时)确实很大,CPU占有率也很小,
2,cudaEncode编码后的264文件使用ElecardStreamEye播放,没过几帧有停顿,不明白是为什么??得学着分析码流。
用JM10.1解码器对264文件解码后(解码好慢啊),播放完全正常,没有了停顿。
用MediaCoder对264文件进行播放,没有了停顿现象,倒是播放速度很快,这又是为什么呢??
3,用到的一些软件和资料
(1)CUDA tookkit4.0+SDK4.0+Nsight(这个还没装)
SDK4.0版本的cudaEncode有一些修改,直接编译没通过,现在先用3.2版本的做测试。
下载:
http://developer.nvidia.com/cuda-toolkit-40
(2)YUV Player Deluxe,播放yuv文件的工具。播放前得设置分辨率(所有yuv文件不含有这些信息。所以我们必须自己设置)。我感觉还可以进一步改进。电脑里设置一些常用的分辨率(多设几个,也不能太多),播放器一一地尝试,找到对应的分辨率就播放。都没找到的话,我们再自己设置,那该多好。可以尝试下。哈哈
可以设置播放的FPS,一般都为30,可以设置成1,看下每一帧的效果
下载:http://www.yuvplayer.com/downloads/YUVPlayer.exe
(3)Elecard StreamEye,分析每一帧的详细信息以及文件的详细信息。用于码流分析。支持264文件,肯定不支持yuv文件哦。可以查看每一帧,I帧、B帧还是P帧,默认红色的表示I帧,蓝色的表示P帧,绿色的表示B帧。有的编码不一定有B帧的。还可以参看每一个宏块的详细信息。
(4)MediaCoder,很强大的国产免费编码工具,支持x264软件编码+CUDA GPU硬件加速编码。功能还远不止与此。可以查看任意给定视频的容器格式、编码方式、分辨率等待。
下载:
ed2k://|file|MediaCoder2011-R7-5172.zip|30311721|9CC37EF6FAA8CB027D7FBD8D984C0FB1|p=AA0140551EC78195883624A15AE2193C:8C5ED3D566F89A2E94DF06926D51D880:83BD5269FB34234026988F9B02CC33B0:98B62CBB97FFD62991E79091F9B1F138|h=NMDYCUGUD54GEQ2JEFXRHB6H5CZ54TO5|/|sources,222.65.110.156:46154|/
(5)Badaboom,不免费,但可以适用。只支持GPU硬件编码,且是nVIDIA的显卡。不能直接把yuv转换成所需格式,应该先把yuv封装到某一种容器中(MP4、MKV或AVI等等)
下载:
http://international.download.nvidia.com/geforce-com/international/applications/Badaboom_Setup_Trial_2.0.exe
(6)KMPlayer,很强大的播放器,我们看电影时用的最多的,可是它强大的功能对于我们还是很陌生的
下载:
http://free-dl.cn.real.com/kmplayer/KMPlayer_CN_3.0.0.1441.exe
(7)完美解码,同样很强大的播放器,有N种播放器模式可以选择
下载:
http://61.191.190.213/down_hot2/M00/01/74/cWmuek3mSF8AAAAAA2t-NCfAoMw7891591/WMZPureCodec20110601v2_Dio.exe?k=DtxyNRJ4lz9hH1aaBnc72A&t=1311327329&u=121.229.255.36@0@bhbrl8dh&file=WMZPureCodec20110601v2_Dio.exe
(8)JM参考模型,有编码,也由解码。速度很慢。
下载:
http://iphome.hhi.de/suehring/tml/还可以下载旧版本,比如比较经典的JM8.6
(9)x264编码
网址:
http://www.videolan.org/developers/x264.html
(10)下载序列(谷歌中搜索yuv sequence)
YUV Video Sequences网站:http://trace.eas.asu.edu/yuv/
其中的ElephantsDream和Big BuckBunny 1080p序列的官方网站如下:
http://www.bigbuckbunny.org/index.php/download/
http://orange.blender.org/download
这两个视频都是开源免费的
下面这个网站视频序列很全很全!!!!!!!!!
http://media.xiph.org/video/derf/