【发布时间】:2021-04-11 11:18:41
【问题描述】:
我有以下命令在 Windows CLI 中没有问题:
"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 进行同样的尝试时:
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 日志中得到以下内容,但未捕获屏幕截图:
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
谁能给我解释一下是什么问题?
【问题讨论】:
-
你能用
shell=True试试同样的电话吗? (参考这个:*.com/questions/18962785) -
嗨 - 没有区别。
-
最后一次尝试,您能否将传递给 Popen 的列表中的命令拆分为
['vlc', '--dshow-vdev', '=', '"Video (00 Pro Capture HDMI 4K+)"',... ] -
我没有区别
-
我受够了,最后将命令作为字符串放入 .bat 文件中,然后从子进程中调用它。现在可以使用了。
标签: python python-3.x vlc