使用libvlc和Python对播放列表进行流式处理

使用libvlc和Python对播放列表进行流式处理,python,video-streaming,vlc,libvlc,Python,Video Streaming,Vlc,Libvlc,我想使用libvlc和Python来流式传输一个完整的播放列表(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() 问题是,似乎

我想使用libvlc和Python来流式传输一个完整的播放列表(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))