CMMB在Android平台上的实现步骤简介

时间:2023-02-04 11:14:39

关于CMMB的介绍,网上能找得到相关资料,我就不细说了,大家可以去放狗。

前段时间完成了Android平台上CMMB的实现,现将实现步骤简单介绍如下。分两个step来实现:

(一)、基于530频点(北京)cctv-news台清流频道(写死一个频点、一个清流频道)的调试:

    1、在Android上调通cmmb driver和firmware,使其有正确的输出。

    2、ffmpeg在Android上的集成。

    3、CMMB Engine的实现(C/S架构)。

    4、RingBuffer的实现(用来存放接收到的RTP包)。

    5、调度算法(Scheduler)的实现。

    6、RTP parser及包的reconstruction。

    7、音视频解码的实现(包括audio打包格式的转换等等)。

    8、Video render的调试。

    9、Audio render的调试。

    10、A/V同步的实现。

    11、稳定性、健壮性、性能(CPU占用率等)等的调试。

    12、UI的实现(由于CMMB重点在于展示内容,所以UI不用做得那么炫)。

以上各部分全部分割个小的模块来实现,然后集成,这样能使整个项目更易于掌控。比如:Video的render,我们就可以拿一段yuv文件来在板子上调试其Overlay输出。

(二)、其次是调试所有能扫描到的频点音视频输出(调试解密、解扰),频点、频道扫描,选台,切台等功能的实现。

 

难点在(一),细节非常多,某个点卡住了就有可能导致整个项目停滞好几天。把它调通了的话(二)要不了几天就能完成。

有时间的话在详细讨论一下具体实现细节吧!