MJPEG RTP头信息扩展, VLC 播放 视频断开

study_2014 2014-04-18 05:27:47
根据 RTP 头扩展协议,对于负载类型为MJPEG的码流, 在RTP 固定头后,增加头扩展。
发现用vlc rtsp方式播放时,一会流就自己断掉了。
不加头扩展信息时,vlc 可以正常播放。

主要代码如下:
if (fRTPPayloadType == 26)
rtpHdr = 0x90000000; // RTP version 2. set X bit, mean there is header extension.
else
rtpHdr = 0x80000000; // RTP version 2. not set X bit.

rtpHdr |= (fRTPPayloadType<<16);
rtpHdr |= fSeqNo; // sequence number
fOutBuf->enqueueWord(rtpHdr);

// Note where the RTP timestamp will go.
// (We can't fill this in until we start packing payload frames.)
fTimestampPosition = fOutBuf->curPacketSize();
fOutBuf->skipBytes(4); // leave a hole for the timestamp

fOutBuf->enqueueWord(SSRC());

if (fRTPPayloadType == 26)
{
if (fIsFirstPacketInFrame)
{
fOutBuf->enqueueWord(0xFFD80000);
fIsFirstPacketInFrame = 0;
}
else
fOutBuf->enqueueWord(0xFFFF0000);
} .

有人遇到类似的问题吗?请教高手哈。
...全文
336 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

2,541

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧