服务器端的流媒体运行良好。在客户端上,我可以使用 URL
http://my_ip:8080/tv_channel 打开流,然后立即获取视频。
问题在于音轨。在服务器端,VLC 传输 2 个音轨,其中第二个是我想听的。 然而在客户端,VLC 始终默认为第一个音轨。有没有办法强制服务器 VLC 仅传输第二个曲目,或者通过 URL 告诉客户端使用第二个曲目?
我想要实现的是在客户端打开链接并使用正确的轨道,而无需手动将其从第一个更改为第二个。 另外,我的移动客户端无法选择音频流,它总是使用第一个。
请注意,某些 DVB-T 频道只有单个音轨,而其他频道则有两个。这意味着在 VLC 客户端中将第二个轨道设置为默认会导致其他通道禁用音频。
我的服务器端 VLC 配置文件:
new dvbt1 broadcast enabled
setup dvbt1 input "dvb-t://"
setup dvbt1 option dvb-adapter=0
setup dvbt1 option dvb-frequency=602000000
setup dvbt1 option dvb-bandwidth=8
setup dvbt1 option programs=513,514,770,773,2050
setup dvbt1 option ts-es-id-pid
setup dvbt1 output
#duplicate{dst=std{access=http,mux=ts,dst=:8080/nova},select="program=513",
dst=std{access=http,mux=ts,dst=:8080/nova-cinema},select="program=514",
dst=std{access=http,mux=ts,dst=:8080/prima-cool},select="program=770",
dst=std{access=http,mux=ts,dst=:8080/prima},select="program=773",
dst=std{access=http,mux=ts,dst=:8080/barrandov-tv},select="program=2050"}
control dvbt1 play
注意:我已经尝试通过将其添加到配置文件来手动选择
pid-audio
,但这实际上没有任何作用。
dst=std{access=http,mux=ts{pid-audio=112},dst=:8080/nova},select="program=513"
MuMuDVB 进行单播流媒体,它的工作恰到好处 - 主频道被正确标记为主要频道,以便播放器默认可以使用它。
此外,MuMuDVB 的 CPU 占用量远小于 VLC。
audio-track-id
对我有用,就像在您的脚本示例中一样:
…,select="program=…",audio-track-id=…