熟悉livemedia的高手请进

luoqintao 2006-06-12 02:20:47
最近研究livemedia库,自带的一个rtspserver的例子,该例子中只能访问预先设定好的文件,比如说,rtsp://ip:port/XXX,后面的xxx是预先ServerMediaSession创建时指定好的,这样就显得不够灵活。
现在的问题是想做这样一个rtsp server,根据XXX的值(可以是一个文件名或其他值),可以自动定位到要传输的内容。
请教高手如何用livemedia库来实现!
...全文
952 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
SmallBigCat 2006-11-21
  • 打赏
  • 举报
回复
楼上的兄弟是linux下开发的么
SmallBigCat 2006-11-21
  • 打赏
  • 举报
回复
学习,接分
luoqintao 2006-06-16
  • 打赏
  • 举报
回复
没有人帮忙么?
xrye000 2006-06-15
  • 打赏
  • 举报
回复
ServerMediaSession* RunTimeRTSPServer::lookupServerMediaSession(char const* streamName) {

ServerMediaSession* RequestSession;
RequestSession = (ServerMediaSession*)(fServerMediaSessions->Lookup(streamName));

if (RequestSession == NULL)
{
//创建rtspclient
char* url = new char[255];
memset(url,0,255);

sprintf(url,"rtsp://%s",streamName);
#ifdef _DEBUG
envir() <<"Open Url:"<< url << "\n";
#endif
RunTimeRTSPClient* rtspclient = RunTimeRTSPClient::createNew(envir(),url);
delete[] url;

ServerMediaSession* sms
= ServerMediaSession::createNew(envir(), streamName);

//加入ServerMediumSubSession
//rtspclient->getSource();
//sms->addSubsession();

this->addServerMediaSession(sms);

rtspclient->startPlayingStreams();
}

RequestSession = (ServerMediaSession*)(fServerMediaSessions->Lookup(streamName));
return RequestSession;

}
xrye000 2006-06-15
  • 打赏
  • 举报
回复
那就把示例中的openRTSP封装成一个RunTimeRTSPClient类
当客户端需要打开某个视频源时,在RTSPServer中动态创建一个RunTimeRTSPClient对象,再动态创建一个ServerMediaSession ,两个关联起来就OK了
luoqintao 2006-06-15
  • 打赏
  • 举报
回复
xrye0395(Terry),真是多谢啊,我原来准备做一个客户端线程专门接收数据然后缓存,让rstpserver线程与之共享内存的,这样看了还是你的方法好,不过有几个问题:
1,这个RunTimeRTSPClient的rtspclient->getSource()和createNew(envir(),url);是如何封装的。
2,我看了http://lists.live555.com/pipermail/live-devel/2005-October/003326.html,好像也是你这种做法,说是 getNextFrame()的问题具体见:http://lists.live555.com/pipermail/live-devel/2005-October/003326.html
不知道这些问题你解决没有?
最好能给我你的RunTimeRTSPClient和自定义的source的封装的代码,小弟感激涕零啊!
另,加我msn吧,这样沟通方便些,luoqintao@hotmail.com,谢谢啦!
luoqintao 2006-06-13
  • 打赏
  • 举报
回复
to xrye0395(Terry),我看过你的一片帖子,知道你做的东西跟我这个差不多,望加我msn一起讨论下:luoqintao@hotmail.com

这个我也想到了,但是好像离我的需求还有点距离。
我的需求如下:
我现在想做一个实时流转发服务器,该服务器的流数据是通过一些网络摄像机(支持rtsp)获取,也就是该转发服务器一个rtsp的client和server的结合体,目前的做法是摄像机主动将数据发送到该服务其上,服务器再根据实际客户请求传输数据。你说的这个也应该可以满足。
但是我想做到不是摄像机主动先把数据发给转发服务器,而是服务器在需要某个摄像机的数据时自己作为rtsp client向摄像机去要。
请赐教!
xrye000 2006-06-12
  • 打赏
  • 举报
回复
在RTSPServer类中,有个lookupServerMediaSession函数
如果没有找到相应的ServerMediaSession ,那就动态创建一个ServerMediaSession

2,542

社区成员

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

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