live555 实现一个最简单的RTSP服务器
来源:互联网 发布:linux云计算就业前景 编辑:程序博客网 时间:2024/05/18 00:28
用live555中的库写了一个最简单的RTSPServer程序,仅用于学习目的。从下例的代码中,可以清析的明白RTSPServer的函数调用流程。
#include <BasicUsageEnvironment.hh> #include "liveMedia.hh" static ServerMediaSession* createNewSMS(UsageEnvironment& env, char const* fileName); int main() { TaskScheduler* scheduler; UsageEnvironment* env ; RTSPServer* rtspServer; ServerMediaSession* sms; //创建任务调用器 scheduler = BasicTaskScheduler::createNew(); //创建交互环境 env = BasicUsageEnvironment::createNew(*scheduler); //创建RTSP服务器 rtspServer = RTSPServer::createNew(*env,554); //使用554端口 if(rtspServer == NULL) { rtspServer = RTSPServer::createNew(*env,8554); //554端口被占用,就使用8554端口 } //打印服务器地址 *env << "Play streams from this server using the URL\n\t" << rtspServer->rtspURLPrefix() << "<filename>.\n"; //创建session sms = createNewSMS(*env, "test.mpg"); rtspServer->addServerMediaSession(sms); //添加其它文件对应的session... //进行事件循环 env->taskScheduler().doEventLoop(); // does not return return 0; } static ServerMediaSession* createNewSMS(UsageEnvironment& env, char const* fileName) { char const* extension = strrchr(fileName, '.'); ServerMediaSession* sms = NULL; Boolean reuseSource = False; //不重用source sms = ServerMediaSession::createNew(env, fileName); //创建一个session // //在session中添加subssesion // if(strcmp(extension, ".aac") == 0) { sms->addSubsession(ADTSAudioFileServerMediaSubsession::createNew(env, fileName, reuseSource)); } else if(strcmp(extension, ".264") == 0) { sms->addSubsession(H264VideoFileServerMediaSubsession::createNew(env, fileName, reuseSource)); } else if(strcmp(extension, ".mpg") == 0) { MPEG1or2FileServerDemux* demux = MPEG1or2FileServerDemux::createNew(env, fileName, reuseSource); sms->addSubsession(demux->newVideoServerMediaSubsession()); sms->addSubsession(demux->newAudioServerMediaSubsession()); } //添加其它媒体格式支持... return sms; }
- live555 实现一个最简单的RTSP服务器
- live555 实现一个最简单的RTSP服务器及其makefile
- live555 实现一个最简单的RTSP服务器
- live555 实现一个最简单的RTSP服务器
- live555 实现一个最简单的RTSP服务器
- live555 实现一个最简单的RTSP服务器
- live555 实现一个最简单的RTSP服务器
- 基于live555的一个简单RTSP服务器
- 基于live555实现简单的rtsp client
- 简单完整的一个 rtsp 交互过程 live555-openRTSP
- [live555]rtsp直播基于live555的实现
- [live555]rtsp直播基于live555的实现
- DM365+live555实现RTSP直播服务器(广播)
- LIVE555再学习 -- live555实现RTSP直播服务器
- LIVE555再学习 -- live555实现RTSP直播服务器 分析
- live555架设rtsp服务器
- live555搭建rtsp服务器
- live555的安装 RTSP点播消息流程实例(客户端:VLC, RTSP服务器:LIVE555 Media Server)
- mysql数据库安装+完整删除
- 基于live555的视频直播
- lightoj1038 - Race to 1 Again(概率DP)
- 努力ing
- 用抽象类设计计算二维平面图形面积的程序,在基类TDshape中设计纯虚函数area()和printName()......C++的158页5题
- live555 实现一个最简单的RTSP服务器
- Android4.2.2 Gallery2源码分析(10)——Activity于View的结合
- 记录一个博客地址
- 导出MySql数据库字典的PHP脚本
- SGU 131 Hardwood floor(状压DP)
- 前缀表达式
- Nginx的安装及配置
- Android消息处理机制
- 用Ant打Jar包--在Manifest中引用Classpath