IPTV 马赛克

问题描述:

         每次播放切台刚开始播放的时候,容易出马赛克。

之前流程:

     1  硬件DEMUX过滤PAT,PMT,得到AV PID

     2  设置PID到底层,播放.

遇到问题:

     在硬件DEMUX过滤PSI的过程中,这些数据会被扔掉,不会放到audio/video es buffer,毕竟这个时候PID都还不知道,怎么可能完成TS-PES-ES的转换呢?

     如果不幸这些丢掉的数据中包含MPEG2 I帧,连I帧都没有了,那么B,P帧找谁去参考。所以切台后,非常容易出马赛克。

 马赛克和静帧的选择:

     当解码发现先ERROR的时候,究竟是现实马赛克还是静止现实上次的完整帧,个人觉得,静帧是个不错的选择。毕竟人的眼睛是个很容易欺骗的东西,每秒播放25帧,就会觉得流畅的不得了。

 第一次修改方案:

     让用户在马赛克和静帧中做一个选择。

     答曰:都不接受.

 第二次修改方案:

     1 让用户软件过滤PSI,这样可以不丢掉任何数据。

     2 然后设置PID,播放节目。

     3 在硬件DEMUX上过滤并监控PAT,PMT的变化,如果变化,则重播。

 

 

 

你可能感兴趣的:(buffer)