我有一个本地服务器,它启动到我的计算机的两个 GStreamer 管道,但它偶尔需要停止和启动流。我也在使用 lavfi-complex 来堆叠流。当服务器停止流并再次启动(到相同的 IP 地址和端口)时,我收到大量此消息:
sdp: RTP: dropping old packet received too late
我通过 loadfile
然后 video-add
开始流,然后将 lavfi-filter
属性设置为 [vid1][vid2] vstack [vo]
。如果我只有一个流而没有过滤器(只有 loadfile),我可以停止服务器,再次启动它,然后再次运行 loadfile 并加载文件。但是,对于 lavfi 过滤器,文档说:
在运行时无法更改连接到过滤器的轨道,除非您明确更改 lavfi-complex 属性并设置新的轨道分配。当图表改变时,轨道选择也会根据使用的标签改变。
我可以将 lavfi-filter 属性更改为空字符串,再次发送 loadfile 命令,然后重新设置 lavfi-filter,但输出保持空白。我为第二个视频尝试了 id=2 的 loadfile 和 video-reload,但 video-reload 命令失败。
是否有一系列命令可以导致 mpv 停止并重新加载流?或者更好的是,一些配置参数可以使它不丢弃旧数据包?