Respuestas:
No sé si es ffmpeg
que no puede enviar sus datos a stdout, o ffplay
si no puede tomar su entrada de stdin.
Si es ffmpeg
eso, no puede enviar sus datos a stdout:
capture /dev/stdout | ffmpeg -i - >(ffplay 2> /dev/null)
(Migth necesita agregar un -
argumento para ffplay
que tome su entrada de stdin).
Si es ffplay
así, no puede tomar su entrada de stdin:
ffplay <(capture /dev/stdout | ffmpeg -i -) 2> /dev/null
Para obtener más información sobre la construcción <(command)
y >(command)
, consulte la sección Sustitución de procesos del manual bash.
ffmpeg -i input.avi <options> -f matroska - | ffplay -
trabajará; necesita establecer un formato contenedor para la salida. Esto normalmente se configura con ffmpeg mirando la extensión que le da a la salida, pero aquí debe configurarlo manualmente con -f
. Recomiendo matroska (MKV) porque puede contener casi cualquier video, por lo que sea lo que sea que esté transcodificando debería funcionar perfectamente bien.
Tenga en cuenta que si está usando Ubuntu 12.04, ffmpeg ha sido reemplazado por la bifurcación libav, y debe usar avconv
y en su avplay
lugar; La sintaxis es idéntica. Hay una especie de ffmpeg allí, pero está lisiado por diseño.
pipe:: Invalid data found when processing inputK
en Power Shell, pero funciona bien en el símbolo del sistema
ffmpeg admite operaciones de tuberías. Vea esa sección de la documentación aquí .
No sé cómo funciona ffplay, pero para canalizar la salida de ffmpeg a la salida estándar, puede agregar el comando de tubería al final del comando ffmpeg. Ejemplo:
ffmpeg -i input.flv pipe:1 | ffplay -i -
man ffplay
, no puedo ver el ffplay
soporte del -i
interruptor, ¿es quizás ffmpeg
solo?
pipe:1
vs -
? -
funciona en ffmpeg 2.8.6.
parece que las tuberías normales funcionan (al menos en ventanas):
ffmpeg -i sintel.mpg -pix_fmt yuv420p -f rawvideo - | ffplay -f rawvideo -pix_fmt yuv420p -s 720x480 -
aunque no lo he probado con entradas / salidas más complicadas ...
ffmpeg -f dshow -i video=screen-capture-recorder -pix_fmt yuv420p -f mpegts - | ffplay -analyzeduration 10 -f mpegts -
es un inicio un poco más rápido
Unable to find a suitable output format for 'pipe:'
, necesitaba especificar un códec con -f
.