0

C# と ffmpeg.exe を使用してリアルタイム チャット アプリケーションを構築しています。私の要件は、Microsoft Speech API からメモリ ストリームを取得し、リアルタイムで ffmpeg プロセスにフィードすることです。Microsoft Speech API からメモリ ストリームを取得できます。次のコードを使用してメモリ ストリームを作成しています。

        using (MemoryStream stream = new MemoryStream())
        {
            MemoryStream streamAudio = new MemoryStream();
            System.Media.SoundPlayer m_SoundPlayer = new System.Media.SoundPlayer();
            _speechSynthesizerVisemesSender.SetOutputToWaveStream(streamAudio);
            _speechSynthesizerVisemesSender.SetOutputToNull();
            stream.WriteTo(proc.StandardInput.BaseStream);
        }   

ビデオコンテンツをffmpegにフィードするために、別のコマンドで別のデータパイプをすでに使用しています。しかし、データパイプを介してオーディオをフィードするための安定したソリューションを見つけることができませんでした。この記事では、オーディオ データパイプについて簡単に説明します。次のコマンドを使用してオーディオをストリーミングしています。

"ffmpeg -re -f s16le -i pipe:wav -f mpegts udp://127.0.0.1:1234"

しかし、データパイプでは機能していません。mp3またはwavファイルでコマンドを試すと、機能します。

4

1 に答える 1