0

我想使用 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()

但是出现了一个窗口(我不希望出现一个窗口)并且流不起作用。

有人能帮我吗 ?谢谢 !

PS:我试图用 open cv 获得一个 rtsp 流,但这是错误的,并且使用 VLC,没问题。所以我想用opencv捕获VLC流,而不是rtsp流。

4

1 回答 1

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

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

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

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

于 2020-10-24T10:13:45.900 回答