在live555的mediaServer中,已经实现RTSP-over-HTTP,但默认没有开启。如果要实现这个功能,需要调用RTSPServer::setUpTunnelingOverHTTP(),指定用来进行RTSP-over-HTTP 的端口,这个端口必须与正常的RTSP-over-TCP端口不同。
而在我这个版本的mediaServer/live555MediaServer.cpp中有这么一段被注释了的程序,不难看出正是初始化RTSP-over-HTTP:
- #if 0 // RTSP-over-HTTP tunneling is not yet working
- // Also, attempt to create a HTTP server for RTSP-over-HTTP tunneling.
- // Try first with the default HTTP port (80), and then with the alternative HTTP
- // port number (8000).
- RTSPOverHTTPServer* rtspOverHTTPServer;
- portNumBits httpServerPortNum = 80;
- rtspOverHTTPServer = RTSPOverHTTPServer::createNew(*env, httpServerPortNum, rtspServerPortNum);
- if (rtspOverHTTPServer == NULL) {
- httpServerPortNum = 8000;
- rtspOverHTTPServer = RTSPOverHTTPServer::createNew(*env, httpServerPortNum, rtspServerPortNum);
- }
- if (rtspOverHTTPServer == NULL) {
- *env << "(No server for RTSP-over-HTTP tunneling was created.) ";
- } else {
- *env << "(We use port " << httpServerPortNum << " for RTSP-over-HTTP tunneling.) ";
- }
- #endif
因此,wis-streamer中也可以移植类似代码实现RTSP-over-HTTP。然而,OPPRO的live为每个码流启动一个wis-streamer,则一共启动了5个wis-streamer,如果5个进程都具备RTSP-over-HTTP ,岂不是会乱套?
期待你的留言!
http://blog.csdn.net/lxhjjz/article/details/8052465
http://www.dajudeng.com/d201208100980c90277375a417866f8f41.html
http://www.ebaina.com/bbs/thread-1734-1-1.html
http://blog.csdn.net/niu_gao/article/details/6911130 live55 详解