Weird-Problem zu finden, die ich mit diesem Befehl meine Webcam durch ffmpeg aufzeichnen zu können (durch cmd auf Windows):ffmpeg durch Python subprocess versagt hier Kamera
ffmpeg -y -t 300 -rtbufsize 1024M -f dshow -i video="Lenovo EasyCamera" -c:v libx264 -preset veryslow -crf 25 Desktop.mkv
und alles funktioniert. Aber wenn ich den gleichen Befehl über Python als Subprozess ausprobiere, scheitert es. Hier ist der Python-Code:
from subprocess import Popen
cmd = ['ffmpeg', '-y', '-t', '300', '-rtbufsize', '1024M', '-f', 'dshow', '-i', 'video="Lenovo EasyCamera"', '-c:v', 'libx264', '-preset', 'veryslow', '-crf', '25', 'Desktop.mkv']
p = Popen(cmd)
Ausgänge folgende Fehler und friert:
[dshow @ 00000000023a2cc0] Could not find video device with name ["Lenovo EasyCamera"] among source devices of type video.
video="Lenovo EasyCamera": I/O error
Kann jemand dies herauszufinden, und mir sagen, was ich falsch mache? Oder ist es ein bekannter Fehler in Python oder dem Unterprozessmodul (mit Python 3.6.1, aber nicht an die spezifische Version angefügt, wenn es mir helfen wird, dieses Problem zu lösen)?
Vielen Dank im Voraus!
P.S. Diese Frage ist zu diesem Follow-up, wenn das relevant ist: How to grab laptop webcam video with ffmpeg in windows
Ich hatte ein ähnliches Problem. Probiere 'Popen (" ffmpeg -y -t 300 ... ", shell = True)'. –
Was ist mit versuchen mit 'subprocess.call (cmd)'? –
shell = True macht keinen Unterschied, subprocess.call nicht einfrieren, aber immer noch den gleichen Fehler –