¿Cómo canalizo ffmpeg a opusenc en Windows?

¿Cómo canalizo ffmpeg a opusenc en Windows?

En Linux puedes hacer algo como esto:

(bash)
ffmpeg -i foo.mp3 -f wav - | opusenc --bitrate 64 - bar.opus

Esto es genial, porque significa que no tienes que escribir los datos WAV en el disco antes de pasarlos al opus, por lo que la codificación ocurre sobre la marcha en la memoria.

Tengo ambos ffmpeginstalados opusencen Windows, y como Powershell tiene canalizaciones, esperaba poder hacer algo similar, así que estoy intentando esto:

(PS)
> ffmpeg -y -i .\foo.mp3 -f wav - | .\opusenc.exe --bitrate 64 - bar.opus

Lo que espero que suceda: ffmpeg debería canalizar audio wav directamente a opusenc para codificarlo

Lo que sucede en cambio: parecesoloejecute ffmpeg sin pasar los datos a opusenc, indicado por un crecimiento constante de RAM del proceso PS y sin salida de opusenc.

Respuesta1

Utilice el cmd.exePowershell normal en lugar de. Exactamente el mismo comando funciona en cmd, pero no en PS:

> ffmpeg -y -i .\foo.mp3 -f wav - | .\opusenc.exe --bitrate 64 - bar.opus

información relacionada