使用带有 Python 的 libvlc 流式传输播放列表

Streaming a playlist using libvlc with Python

我想使用带有 Python 的 libvlc 流式传输完整的播放列表 (m3u)。

我能够使用以下代码流式传输单个视频:

inst  = vlc.Instance()
param=[
    "test.mp4"
    ,"sout=#rtp{dst=224.1.1.10,port=10100,mux=ts}"
    ]
Media = inst.media_new(*param)
player = Media.player_new_from_media()
player.play()

问题是,似乎无法将选项传递给播放列表。我试图在创建 vlc 实例时传递它们,但这不起作用。

inst  = vlc.Instance('--sout=#gather:rtp{dst=224.1.1.10,port=10100,mux=ts}')
Media_list = inst.media_list_new(['test.m3u'])
list_player = inst.media_list_player_new()
list_player.set_media_list(Media_list)
list_player.play()

相同的代码在本地播放时可以正常工作。

谢谢,

好吧,似乎无法在 VLC 实例级别设置流媒体选项。

我所做的是遍历 medialist 中的所有媒体并通过 add_option 函数设置正确的选项。

如果你必须这样做,请小心,因为你必须在选项前加上 :

media.add_option(":sout=#gather:rtp{dst=%s,port=%d,mux=ts}"%(multicast_address,video_port))