首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python子进程调用VLC命令

Python子进程调用VLC命令
EN

Stack Overflow用户
提问于 2021-01-06 01:09:44
回答 1查看 127关注 0票数 0

在Windows CLI中,我有以下命令可以正常工作:

代码语言:javascript
复制
"G:\VLC\vlc" --dshow-vdev="Video (00 Pro Capture HDMI 4K+)" --dshow-size=1920x1080 -V dummy --intf=dummy --dummy-quiet --video-filter=scene --no-audio --scene-path="C:\<User>\My location" --scene-format=jpeg --scene-prefix=test_file --scene-replace --run-time=1 --scene-ratio=24 "dshow://" vlc://quit

这将对我的捕获卡显示的内容进行快照,并将其保存到文件中。当我尝试用Python做同样的事情时:

代码语言:javascript
复制
import os
import subprocess

path = "C:\\<User>\\My location"
fname = "test_file"

os.chdir('G:\\VLC')
process = subprocess.Popen(['vlc', ' --dshow-vdev="Video (00 Pro Capture HDMI 4K+)"', ' --dshow-size=1920x1080', ' -V dummy', ' --intf=dummy', \
                            ' --dummy-quiet', ' --video-filter=scene', \
                            ' --no-audio' ,path, ' --scene-format=jpeg', ' --scene-prefix=', fname, \
                            ' --scene-replace', ' --run-time=1', ' --scene-ratio=24', ' "dshow://"', ' vlc://quit'])

我在VLC日志中看到以下内容,但没有截取屏幕截图:

代码语言:javascript
复制
filesystem error: cannot open file G:\VLC\ --dshow-vdev="Video (00 Pro Capture HDMI 4K+)" (Invalid argument)
dvdnav error: Could not open G:\VLC\ --dshow-vdev="Video (00 Pro Capture HDMI 4K+)" with libdvdcss.
dvdnav error: Can't open G:\VLC\ --dshow-vdev="Video (00 Pro Capture HDMI 4K+)" for reading
dvdnav error: vm: failed to open/read the DVD

有人能给我解释一下问题出在哪里吗?

EN

回答 1

Stack Overflow用户

发布于 2021-01-09 18:29:52

在这类事情上,shlex可以帮你。

shlex类

使得编写简单语法的词法分析器变得很容易,类似于Unix shell。这对于编写小型语言(例如,在Python应用程序的运行控制文件中)或解析带引号的字符串通常很有用。

import shlex

shlex.split(string)的意思大致是这样的:

['G:\\VLC\\vlc', '--dshow-vdev=Video (00 Pro Capture HDMI 4K+)', '--dshow-size=1920x1080', '-V', 'dummy', '--intf=dummy', '--dummy-quiet', '--video-filter=scene', '--no-audio', '--scene-path=C:\\<User>\\My location', '--scene-format=jpeg', '--scene-prefix=test_file', '--scene-replace', '--run-time=1', '--scene-ratio=24', 'dshow://', 'vlc://quit']

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65583434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档