什么是解码
- 拼帧之后解码,解码得到的是yuv数据,可以在显示器显示
- 分类:
- 硬解码:GPU/DSP(移动端)
- 效率高
- 软解码:CPU
- 对cpu性能要求很高
- 对硬件要求不高,兼容性很高
- 硬解码:GPU/DSP(移动端)
- yuv数据的显示:通过GPU绘制可以在显示器显示
xp播放器
- xp:可扩展播放器
- xp包含三个模块
- mpm媒体流处理组件
- 把从各个协议、设备得到的码流转化为标准播放器可以播放的码流
- mcm播放控制集组件
- 控制媒体播放器的动作
- ppm协议解析组件
- 解析协议
- sip(实况)、rtsp(回放)
- mpm媒体流处理组件
解码流程
- 收包-拼帧-解码-送显
- 收包
- 去掉tcp/udp头,不对rtp做处理,将得到的ts\ps\onvif数据送拼帧过滤器
- udp和tcp的处理有区别
- tcp前面加了24 00 ff ff
- 拼帧
- 去除ts/ps/onvif头之后得到es,放入内存,内存中的es达到一帧大小的时候送解码器解码
- 解码标签:根据sip协议得到,用于去除ts、ps、onvif头
- 区分ps、ts、onvif
- ps
- 必定有rtp头(12字节)
- 每一帧第一个包为 00 00 01 ba
- ts
- 可带有rtp头也可不带rtp头
- onvif
- 必定带有rtp头
- onvif流中每一帧的第一个包里第一个字节为3C、5C、7C,第二个字节为81(P帧)或85(I帧)
- ps
- 解码
- 收到es流,经过解码之后得到YUV数据可以送显
- 送显
- 根据协商时获得的xp的ip地址和收流端口号,将YUV数据送至播放器
- 收包