Live555MediaServer可以用来将视频文件作为rtsp流进行流。我有两个客户端(vlc)连接到服务器,A和B。我想在两个客户端中看到确切的视频流。问题是:我连接A,10秒后连接B。当B连接时,我看到的视频从一开始就开始播放,而A则保持原样。
我希望两个并发流是同步的。
live555文档说,将reuseFirstSource设置为True应该有效。因此,我尝试在DynamicRTSSPServer:121中将reuseSource设置为true,但它没有工作。当我使用客户端B连接到服务器时,视频从一开始就重新启动。
布尔const reuseSource =真;
我希望看到两个并发流是同步的,即使其中一个是与另一个同步的延迟。
发布于 2019-07-26 08:27:00
我终于找到了一个解决办法,以及为什么会有这样的'bug‘。
快速回答:将第67行的if条件设置为false,即
if (smsExists && isFirstLookupInSession) {
变成了
if (false) {
解释:每次新会话启动时,isFirstLookupInSession变量都被设置为true,会话将被删除和重新创建。
我写信给live555和Finlayson告诉我,我引用
“LIVE555媒体服务器”代码总是以这种方式工作,其目的是成为没有修改其代码的‘独立设备’(例如,通过更改“reuseFirstSource”的值)。
因此,通过Live555创建RTSP服务器的唯一解决方案是从testProgs示例开始创建自己的服务器。这里提出的解决方案可能会产生不必要的行为,但是对于一个具有多个流的简单rtsp服务器来说,这是很好的。
https://stackoverflow.com/questions/57143599
复制相似问题