Você está quase lá. Você já conseguiu codificar seu arquivo de entrada para um arquivo MP4 chamado temp.mp4
:
ffmpeg -i "%s" -c:v libx264 -c:a copy -f mp4 temp.mp4
Para ler o arquivo resultante para stdout, uma vez totalmente escrito, você pode usar cat
:
cat temp.mp4
Para combinar os dois, use o operador &&
(o que faz com que o segundo comando seja executado apenas quando o primeiro comando for bem-sucedido):
ffmpeg -i "%s" -c:v libx264 -c:a copy -f mp4 temp.mp4 && cat temp.mp4
Você pode, então, canalizar a saída desse comando para qualquer programa que desejar.
Observe que, em geral, esse padrão (por exemplo, ler um arquivo com cat
unicamente para canalizá-lo para outro programa) é desaprovado quando o outro programa tem suporte nativo para a leitura do respectivo arquivo. Passe temp.mp4
como um arquivo de entrada para o programa consumidor sempre que possível.