我可以使用 python VLC 流式传输文件吗?

Can I stream a file with python VLC?

我想使用 python-vlc 通过网络传输文件。我该怎么做?

我试过了:

import vlc

arg = ":sout=#http{mux=ffmpeg{mux=flv},dst=:8080/} :no-sout-all :sout-keep"

inst = vlc.Instance(arg)

media = inst.media_new("rtsp://192.168.0.50:554/onvif1")
player = media.player_new_from_media()
player.play()
input()

但是 window 出现了(我不想 window 出现)并且流不工作。

有人可以帮助我吗?谢谢!

P.S。 : 我试图用打开的 cv 获得一个 rtsp 流,但那是有问题的,并且使用 VLC,没问题。所以我想用opencv捕获VLC流,而不是rtsp流。

arg = ":sout=#http{mux=ffmpeg{mux=flv},dst=:8080/} :no-sout-all :sout-keep"
inst = vlc.Instance(arg)

这似乎是错误的。提供给 vlc 实例的参数应该采用 -- 的形式,而不是 :.

但是这些参数应该作为一个选项添加到媒体中,而不是 vlc 实例。并调用 add_media_option 3 次,而不是使用 space 调用一次(这可能无效)。

如果这还不足以使其正常工作,请随时分享日志。如果要禁用视频输出,请在 vlc 实例构造函数中使用 --no-video