1

directx アプリケーションから取得した画像から生成された FLV ストリームを作成して、最終的に Web ページにしたいと考えています。

私の現在の計画は、スクリーンショットを JPG:s として dx アプリから Linux で実行されているクライアントに送信することです。このクライアントは、JPG:s を MJPEG ストリームに変換します。そして、ffmpeg は MJPEG ストリームを FLV に変換し、ブラウザーの Flash Player で終了します。

何かのようなもの;

  1. Windowsマシンでdxアプリを実行すると、接続をリッスンしてスクリーンショットJPGを送信します
  2. Linux マシン上。./jpg_to_mjpeg_client | ffmpeg -f mjpeg -i - output.flv

計画は良かったと思ったが、今は行き詰まっている. ffmpeg は、クライアントからの MJPEG ストリームを正しく処理していないようです。JPG:s から MJPEG ストリームを作成するためにネットで見つけたコードを使用しましたが、MJPEG 形式には実際の仕様がないことを理解しているため、同じ MJPEG 形式などを使用していない可能性があります。

現在、dx アプリからフレームごとに [JPG バッファのサイズ]、[JPG バッファ] を送信しています。何らかの形でストリームをエンコードすることもできると思いますが、一方で、レンダリング マシンであまりにも多くの CPU を浪費したくありません。

どのようにしますか?どんなヒントでも大歓迎です!ライブラリ/API: 使用するもの、その他のソリューション.. ビデオ エンコーディングの経験はまったくありませんが、「一般的なプログラミング」の方法はよく知っています。

C または C++ が推奨されますが、Java または Python も問題ない場合があります。私はそれをかなり速くしたい-リアルタイムで作成する必要があり、dxアプリからの1フレームはできるだけ早くブラウザに表示されるはずです:-)

ああ、将来的には、ブラウザーの webapp から DX アプリと通信/制御できるように、インタラクティブにする予定です。その情報も追加すると良いかもしれません。Web ベースの VCR のようなもので、ムービーは DX アプリからリアルタイムでレンダリングされます。

ありがとう、

4

1 に答える 1

0

Linux で gstreamer を使用します。好きなコーデックを使用して、入力と出力のほぼすべての組み合わせをパッチすることができます。学ぶのは少し面倒です。

于 2011-04-20T01:12:59.707 に答える