Respuestas:
No sé si es ffmpegque no puede enviar sus datos a stdout, o ffplaysi no puede tomar su entrada de stdin.
Si es ffmpegeso, no puede enviar sus datos a stdout:
capture /dev/stdout | ffmpeg -i - >(ffplay 2> /dev/null)
(Migth necesita agregar un -argumento para ffplayque tome su entrada de stdin).
Si es ffplayasí, 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 avconvy en su avplaylugar; La sintaxis es idéntica. Hay una especie de ffmpeg allí, pero está lisiado por diseño.
pipe:: Invalid data found when processing inputKen 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 ffplaysoporte del -iinterruptor, ¿es quizás ffmpegsolo?
pipe:1vs -? -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.