在Python

时间:2017-05-27 03:44:32

标签: python subprocess vlc popen

我正在尝试在python中将h264传递给vlc。在Popen中调用它时,我无法打开cvlc程序。这是代码。

    self.vlc = subprocess.Popen([
    "cvlc", "-vvv", "stream:///dev/stdin", "--sout \'#rtp{sdp=rtsp://:8554/}\' :demux=h264"
    ], stdin=subprocess.PIPE)

这是vlc错误

vlc: unknown option or missing mandatory argument `--sout '#rtp{sdp=rtsp://:8554/}' :demux=h264'

我一直试图通过不同类型的字符串格式化来解决这个问题。

1 个答案:

答案 0 :(得分:0)

  

问题:在Popen中调用它时,我无法打开cvlc程序。

使用shlex.quote(..。获取参数的shell转义版本。

  

Python 3.6文档:shlex.quote

     

<强> shlex.quote(s)
  返回字符串s的shell转义版本。对于无法使用列表的情况,返回的值是一个可以安全地用作shell命令行中的一个标记的字符串