http://bbs.csdn.net/topics/380187451
live555就看rtsp交互部分(解析和组包)和rtp拆包组包部分就可以了
不用整个就看,看部分代码就行了
rtsp交互部分在:liveMedia模块里面那几个rtsp开头的文件,rtspserver.cpp,rtspclient.cpp
关于视频传输系统开源框架的调研结果
http://blog.csdn.net/yyhustim/article/details/8601208
http://blog.csdn.net/nkmnkm/article/details/6906055
而后有数十篇笔记,很全。
http://www.jishuyuanma.com/article/zierandeai/8192360.html
这一系列博客参考了上一篇csdn上的博客。
http://www.jishuyuanma.com/article/xue_fu/8459261.html
给出了UsageEnvironment、TaskScheduler、RTSPServer 的UML图,感觉很好。
http://www.cnblogs.com/skyseraph/archive/2012/04/11/2442840.html
http://www.live555.com/liveMedia/public/
live555在Linux下最简单地实现实时流媒体点播
http://blog.csdn.net/lawishere/article/details/8196213
《基于ONVIF协议的NVR软件平台的设计与开发.nh》from 徐飞明的浙江大学硕士学位论文
第43页
用Live555中的openRTSP保存H264文件
http://blog.csdn.net/zblue78/article/details/5658581
用Live555中的openRTSP保存H264文件很简单
但是发现器保存的h264文件并不能直接被vcl播放
同一个rtsp源用vcl保存的h264文件就可以直接被播放
经过研究发现是 openRTSP没有把SDP 中已经包括的SPS &PPS数据保存到文件中
将 vcl保存的h264文件的前2个00 00 00 01 数据也就是 SPS &PPS复制到 openRTSP保存的文件最前头就可以播放了
修改方法
[cpp] view plaincopy
1. } else if (strcmp(subsession->mediumName(), "video") == 0 &&
2. (strcmp(subsession->codecName(), "H264") == 0)) {
3. // For H.264 video stream, we use a special sink that insert start_codes:
4. unsigned int num=0;
5. SPropRecord * sps=parseSPropParameterSets(subsession->fmtp_spropparametersets(),num);
6. fileSink = H264VideoFileSink::createNew(*env, outFileName,
7. fileSinkBufferSize, oneFilePerFrame);
8. struct timeval tv={0,0};
9. unsigned char start_code[4] = {0x00, 0x00, 0x00, 0x01};
10. fileSink-> addData(start_code, 4, tv);
11. fileSink->addData(sps[0].sPropBytes,sps[0].sPropLen
其他:
site:jishuyuanma.com/article live555 | google
https://www.google.com.hk/search?newwindow=1&safe=strict&q=site%3Ajishuyuanma.com%2Farticle+live555&oq=site%3Ajishuyuanma.com%2Farticle+live555&gs_l=serp.12...0.0.0.45819.0.0.0.0.0.0.0.0..0.0...0.0...1c..9.serp.tRIr1YreZeo
《基于ONVIF协议的NVR软件平台的设计与开发.nh》from 徐飞明的浙江大学硕士学位论文
第43页
用Live555中的openRTSP保存H264文件
http://blog.csdn.net/zblue78/article/details/5658581
用Live555中的openRTSP保存H264文件很简单
但是发现器保存的h264文件并不能直接被vcl播放
同一个rtsp源用vcl保存的h264文件就可以直接被播放
经过研究发现是 openRTSP没有把SDP 中已经包括的SPS &PPS数据保存到文件中
将 vcl保存的h264文件的前2个00 00 00 01 数据也就是 SPS &PPS复制到 openRTSP保存的文件最前头就可以播放了
修改方法
[cpp] view plaincopy
1. } else if (strcmp(subsession->mediumName(), "video") == 0 &&
2. (strcmp(subsession->codecName(), "H264") == 0)) {
3. // For H.264 video stream, we use a special sink that insert start_codes:
4. unsigned int num=0;
5. SPropRecord * sps=parseSPropParameterSets(subsession->fmtp_spropparametersets(),num);
6. fileSink = H264VideoFileSink::createNew(*env, outFileName,
7. fileSinkBufferSize, oneFilePerFrame);
8. struct timeval tv={0,0};
9. unsigned char start_code[4] = {0x00, 0x00, 0x00, 0x01};
10. fileSink-> addData(start_code, 4, tv);
11. fileSink->addData(sps[0].sPropBytes,sps[0].sPropLen