2

非常に単純なストリーミング サーバーを構築する必要があります。デバイスからビデオをキャプチャし、そのビデオをマルチキャスト経由で LAN 上の複数のクライアントにストリーミングできる必要があります。

これのキャプチャ部分は、誰かが DirectShow.Net ( http://www.codeproject.com/KB/directx/directxcapture.aspx )で作成したライブラリのおかげで (C# で) 非常に簡単です。

私が今持っている質問は、これをマルチキャストする方法ですか? これは私が立ち往生している部分です。次に何をすべきか、またはどのような手順を踏めばよいかわかりません。

4

3 に答える 3

3

プラグインして使用できるフィルターはありません。

ここでは、次の 3 つのことを行う必要があります。

  1. ビデオを MPEG2 または MPEG4 に圧縮します
  2. MPEG トランスポート ストリームに多重化する
  3. 放送する

パート 1 で使用できるコーデックは多数あり、圧縮されたビデオを出力できるデバイスもあります。

パート 3 も非常に簡単です。

MPEG トランスポート ストリームは特許を取得しているため、主な問題はパート 2 にあります。それに基づいてフリーソフトウェアを開発できないようにライセンスされており (VLC と FFMPEG はそのライセンスに違反しています)、仕様のコピーを入手するだけでも数百ドルを支払わなければなりません。

開発する必要がある場合は、次のことを行う必要があります。

  • ISO/IEC 13818-1-2000 のコピーを入手してください (サイトから PDF としてダウンロードできます)。MPEG トランスポート ストリームについて説明しています。
  • MPEG エレメンタリ ストリームを取り込んでトランスポート ストリームに多重化するレンダラー フィルタを開発する

トランスポート ストリームは変換フィルターではないため、レンダラーである必要があります。定期的に送信する必要のあるある種のアウトバンド データ (プログラム アロケーション テーブルと基準クロック) があり、それを行うにはワーカー スレッドを維持する必要があります。

于 2009-01-15T22:29:55.540 に答える
1

http://www.codeproject.com/KB/directx/DShowStreamingServer.aspxが役立つ可能性があり、http://en.wikipedia.org/wiki/VLC_media_player#cite_note-14

VLCは、任意のデバイスからネイティブにストリーミングできる必要もあります。

于 2010-11-12T20:52:17.157 に答える
1

これを実現するには、ある種のビデオ ストリーミング サーバーをセットアップ/作成する必要があります。

プロジェクトで同じ目的でVideoCapXを使用しました。ドキュメントとサポートは一流ではありませんが、十分です。WMV ストリーミング技術を使用しています。ストリームはMMSストリームと呼ばれます。ほとんどのメディア プレーヤーで表示できます。Windows Media Player、Media Player Classics、および VLC でテストしました。まだコードを記述せずにその機能を確認したい場合は、U-Broadcastをご覧ください。VideoCapX を使用して舞台裏でジョブを実行します。

私は DirectShow.Net をほぼ 2 年間使用していますが、DirectShow テクノロジの複雑さのために、自分でストリーミング サーバーを作成するのはまだ難しいと感じています。

WMV の他に、 Helix Serverや Apple Streaming Serverを見ることができます。後者は無料ではなく、Microsoft の WMV Streaming Server も無料です。

また、VLC またはWindows Media Encoderを見て、アプリケーションから直接ストリーミングを行うこともできます。しかし、これまでのところ、U-Broadcast は上記の両方を行っていることがわかりました。VLC には非 VLC プレーヤーからのコーデックと再生に関する互換性の問題があり、WME にはキャプチャ デバイスの起動に関する問題があります。

幸運を

注: 私は VideoCapX やその会社とは関係がありません。私はただそれを楽しんでいるだけです。

于 2008-12-12T11:34:48.787 に答える