ffmpeg a través del subproceso de python no puede encontrar la cámara
Extraño problema aquí, uso este comando para capturar mi cámara web a través de ffmpeg (a través de cmd en windows):
ffmpeg -y -t 300 -rtbufsize 1024M -f dshow -i video="Lenovo EasyCamera" -c:v libx264 -preset veryslow -crf 25 Desktop.mkv
Y todo funciona bien. Pero cuando intento el mismo comando a través de Python como un subproceso, falla. Aquí está el código de Python:
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)
Emite el siguiente error y se congela:
[dshow @ 00000000023a2cc0] Could not find video device with name ["Lenovo EasyCamera"] among source devices of type video.
video="Lenovo EasyCamera": I/O error
¿Alguien puede resolver esto y decirme qué estoy haciendo mal? ¿O se trata de algún error conocido en Python o en el módulo de subproceso (usando Python 3.6.1, pero no adjunto a la versión específica si me ayudará a resolver este problema)?
¡Gracias por adelantado!
PD Esta pregunta es una continuación de esta, si es relevante:Cómo tomar video de la cámara web del portátil con ffmpeg en windows