很久没有博了,正好新年伊始,希望今年有个好开端吧。
移动流媒体最近变得热乎起来,正好我也可以理理思路,和大家共同探讨一下。
其实作为手机电视这个形态,主要分成三种类型的应用,就是电视直播,视频点播和下载播放。我主要针对电视直播来进行一些分析。
第一个关键,当然是输入信号的质量了,呵呵。最好用信噪比高的音频和视频信号作为输入,如果采用卫星接收机,请用专业级的。
第二个关键,就是采集了。对视频图像的采集和对声音的采集,要使用比较好的板卡,别忘了,还要最好做一些前处理,比如去噪什么的,使得AD后的数据比较干净。另外,视频要注意去隔行的处理,这对编码很重要。
第三个关键,当然也是几乎最为关键的关键,就是压缩编码了。由于移动信道的特性,低带宽,延时较大,有一定抖动,所以对于编码而言,码流的恒定控制变得很重要,这直接会影响传输的流畅性。当然,要想在2.75G甚至2.5G的网络上流畅地播放音视频流,还要达到较佳效果,算法的优化一定是要非常优秀的。
第四个关键是传输。从编码服务器到流媒体平台,从流媒体平台到手机的播放器,这之间的传输要做很多精雕细琢的。从传输的通信协议来说,无外乎TCP和UDP,各有优缺点,看怎么个用法了。业界现在多用TCP,下载播放用HTTP的也有。在TCP/IP之上,可以采用RTP,也可以自定义协议,主要是为了节省码流。传输的关键之一是如何充分利用网络带宽,在如此之窄的信道上可以传输尽可能多的数据;关键之二就是构建好一个缓冲机制,使得用户体验较好,有可以有效防止带宽抖动。既要在流畅度和响应时间之间取得一个很好的平衡。
第五个关键即是播放端的解码,也就是解码器技术。由于是跑在手机上的,所以对解码器的效率要求会很高。手机的平台能力当然不能和PC比了,所以在解码效果上必须作出一些牺牲,才能得到跑得动的解码器,呵呵。这也是要大力优化的地方哦。还有一个要点就是要处理好音视频的同步,如果自己编写播放器,这个咚咚可以让你恶心半年!
第六个关键就是后处理技术。这里面最重要的就是缩放算法。因为传输的码流不大,图像尺寸较小,如果要放大,效果好坏可就差别太大了。当然还有其它比如增强、滤波等技术,各种算法如果搭配得当,就可以得到一个音质完美画面清晰的音视频效果。