ogg / vorbisデータを動的に追加するには?

ogg / vorbisデータを動的に追加するには?

アイスキャストをベースにオンライン放送を進めています。トラックなどを柔軟に整理できるように、ソースコードクライアントを直接作成しました。ラジオでトラックを再生するには、Pythonコードで2つのサブプロセスを実行します。 ffmpegはファイルをディスクからWAVにデコードし、oggencでエンコードされた出力をリダイレクトします。各トラックについて次のようになります。

ffmpeg -i foo_bar.mp3 -acodec pcm_s16le -ac 2 -f wav pipe:1 | oggenc - -b 128 --managed -o -

再生する新しいトラックが出るまで正常に動作します。時々、プレイヤーは奇妙に振る舞い始めます。たとえば、mplayerが停止して終了し、vlcが速度を変更し、不気味な音を出し始めることができます。

最も簡単な解決策は、oggencを永久に実行し、stdinで読み取る波形を置き換えることです。しかし、それほど難しい方法でこれを行う方法がわかりません。ソースクライアントの信頼性に影響を与えるので、ここでは複雑な問題を避けたいと思います。どう思いますか?

ありがとう

ベストアンサー1

おすすめ記事