【B2B研发商城】 【加入收藏】 【设为首页】 【进入论坛】 【站点地图】

你的位置:中国研发网 >> 技术文章 >> 软件设计 >> 详细内容 在线投稿

用Live555 中的openRTSP 保存H264文件相关问题

热度160票  浏览195次 【共0条评论】【我要评论 时间:2010年7月16日 10:41
用Live555 中的openRTSP 保存H264文件很简单 

但是发现器保存的h264文件并不能直接被vcl 播放

同一个rtsp源 用vcl保存的h264文件就可以直接被播放

经过研究 发现是 openRTSP没有把SDP 中已经包括的SPS &PPS数据保存到文件中 

将 vcl保存的h264文件的前2个00 00 00 01 数据 也就是 SPS &PPS 复制到 openRTSP保存的文件最前头就可以播放了

修改方法

view plaincopy to clipboardprint?
} else if (strcmp(subsession->mediumName(), "video") == 0 &&   
    (strcmp(subsession->codecName(), "H264") == 0)) {   
  // For H.264 video stream, we use a special sink that insert start_codes:   
  unsigned int num=0;   
  SPropRecord * sps=parseSPropParameterSets(subsession->fmtp_spropparametersets(),num);   
  fileSink = H264VideoFileSink::createNew(*env, outFileName,   
                     fileSinkBufferSize, oneFilePerFrame);   
  struct timeval tv={0,0};   
  unsigned char start_code[4] = {0x00, 0x00, 0x00, 0x01};   
  fileSink-> addData(start_code, 4, tv);   
  fileSink->addData(sps[0].sPropBytes,sps[0].sPropLength,tv);   
  fileSink-> addData(start_code, 4, tv);   
  fileSink->addData(sps[1].sPropBytes,sps[1].sPropLength,tv);   
  delete[] sps;   
} else {  



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zblue78/archive/2010/06/09/5658581.aspx
TAG: 文件 openRTSP 保存
顶:7 踩:5
对本文中的事件或人物打分:
当前平均分:0.45 (53次打分)
对本篇资讯内容的质量打分:
当前平均分:-0.67 (49次打分)
【已经有46人表态】
6票
感动
9票
路过
4票
高兴
7票
难过
4票
搞笑
4票
愤怒
6票
无聊
6票
同情
上一篇 下一篇
发表评论

网友评论仅供网友表达个人看法,并不表明本网同意其观点或证实其描述。

查看全部回复【已有0位网友发表了看法】