live555实现Rtp码流读到一帧数据怎么传递客户端

1)实现一个sink读取Live555的一帧数据后,测试发现有的码流sps,pps,I帧是单独的数据包传递过来的,这样的话,在sink里面需要对这些数据进行组帧,live555有没有功能可以自己将这些数据包组成一帧数据,并且自动添加00 00 00 01这样的头信息呢,如果有,就不要自己去组帧了,组帧还多一次拷贝;

 

2)获取到帧Buff后,有2种方法可以将Buff返回给客户端进行解码显示;一种方法是通过回调的方式将Buff传递给客户端;另外一种方式是客户端主动读Buff;因为live555主要是通过回调实现的,所以我们采用回调的方式传递出去比较自然;

 

3)在对live555码流获取封装时,需要使用一个缓冲区队列保存图像帧;

 

4)客户端调FFMPEG进行解码和调用ddraw进行显示;

 

5)所有的FFMPEG编解码和Live555都在原来的基础上在进行一次封装;

 

6)需要考虑不能让I帧的Buff被覆盖,不然后面的帧解码会有马赛克的;

 

7)断线重连通过客户端往设备端定时发送opinion来判断是否网络断了,断了就释放客户端的资源,然后在重新建立Rtsp连接,重连;

你可能感兴趣的:(Live555,流媒体开源技术)