VLC:StreamおよびStream Server#2

画像
このパートでは、主婦向けのGUIを介した「シンプルストリーミング」を取り上げ 、例としてシチュエーションを使用します。
1.ローカル翻訳者として、インターネットが限られている人、インターネットがオフになっている人、またはあなたの好みを考慮し、あなたがお勧めするものを見たい人のために行動するとき。
3. Webカメラからビデオを転送する場合は、DirectShowを介してデジタルカメラと他の同様のデバイスのみを転送します。


すでに説明されている質問がある場合は、トピックの回答をご覧ください。
VLCに関する真剣な話
VLC#2に関する真剣な話
VLC:StreamおよびStream Server#1
そして
VLCを介した安定したIPTVブロードキャスト


コメント:
1.便宜上、大量のファイルをアップロードする場合は、事前にM3U形式のプレイリストを準備することをお勧めします。
2. VLCの最新バージョンでは、もちろん必要な場合を除き、ほとんどすべてのプロトコルを一度にブロードキャストするようにストリームを安全に構成できます。
3.デバッグと学習のために、「ロガー」モジュールを使用してVLCで作業を開始することをお勧めします
画像
vlc -extraintf logger
4.ストリームにロゴを適用するには、できればPNG形式のロゴフィルターを使用します。
画像
5. VLCでストリームを再生するための代替プレーヤーとして、WindowsとWinamp Media Playerを使用しました。

ストリーム出力方法



受信データを構成する


すべてのタイプのブロードキャストについて、最初のGUIダイアログは同じように見えます。
画像
ファイル:プレイリストまたは任意のファイル(オーディオ/ビデオ)を選択し、ネットワークにブロードキャストする内容に応じて選択します。
ディスク: DVD。 オーディオCD VCD、ここでは、メニュー出力を無効にし、ドライブを選択し、チャプタを作成できます。
ネットワーク:ここでは、リレー/変換/保存する着信ストリームのプロトコルとアドレスを選択できます(たとえば、Youtubeから)。また、VLCがRTMPストリームに適切に対応していることも確認されたため、Webカメラからビデオをブロードキャストできます。どのフローがred5によって管理されるサービスに送られます。
画像
キャプチャデバイス:ここでは、ダイレクトショー、カメラ、ウェブカメラ、デジタルテレビ、衛星テレビ、およびデスクトップ(画面で発生するすべてがブロードキャストされます)で動作するデバイスを選択できます。
画像
着信ストリームの選択を決定したら、[ストリーム]ボタンをクリックします。 その後、新しいダイアログボックスが開き、同時にストリームおよび/または変換設定として機能します。最終的な結果は、ここで行った設定によって異なります。 [ 次へ ]ボタン、または[ 宛先 ]タブをクリックします
図に示すように、また既に述べたように、サポートされているすべてのプロトコルで同時にブロードキャストできます。この例では、HTTP / MMSを介したブロードキャストの例を示します。
選択してください:
新しい宛先 -HTTP、[追加]をクリックして、アドレス(0.0.0.0、またはipconfigを参照)を駆動し、ポートを指定します。 さらにプロトコルが必要な場合は、[+]をクリックします。
画像
トランスコーディングオプション:既成のプロファイルからトランスコーディング方法を選択するか、独自のプロファイルを作成します(クライアントVLCの処理を行わずにストリームを開始することもできます)。

コーデックが使い果たされたため、結論に至り、ネットワークを読んで、私は自分だけではないことに気付きました-技術データを使用したmmsおよびhttpプロトコルを介したビデオストリームの送信:
カプセル化 -ASF
コーデック -DivX3
-320 (負荷を減らすため)
高さ -200 (負荷を減らすため)
オーディオ -mp3
ビットレート -96
ほとんどのプレイヤーへの送信に最適です。
画像
  :sout =#transcode {vcodec = DIV3、vb = 800、scale = 1、width = 320、height = 200、acodec = mp3、ab = 96、channels = 2、samplerate = 44100}:std {access = mmsh、mux = asfh、dst = 0.0.0.0:1234} 
このような場合、10台のクライアントでテストすると、プロセッサの負荷は5〜12%でした

同じ方法は、メディアプレーヤーをまったく持っていない人にも使用でき、Webサイトからストリームを視聴できます(ローカル、または外部IPがある場合、この方法はインターネット上のサイトでも機能します)。

これを行うには、* stream.asxなどの拡張子* .asxのドキュメントを作成し、そこにコードを配置します。
  <ASXバージョン= "3.0">
   <TITLE>ホームストリーム</ TITLE>
   <エントリー>
     <REF HREF = "http://127.0.0.1:1234" />
   </ ENTRY>
 </ ASX> 

HREFはIPとポートです。 このファイルをサーバー上の/ストリーム/フォルダーなどに配置し、ストリームを表示するhtmlファイルに次のように記述します。
  <embed src = "stream.asx" height =” 320” width =” 200 "> 


クライアントにMplayerまたはVLCがある場合は、それぞれTSやh264など、他のタイプのカプセル化やコーデックで遊ぶことができます。
画像
  :sout =#std {access = http、mux = ts、dst = 0.0.0.0:8080} 

この場合、システムの負荷は少なくなり、チャネルの負荷は大きくなりますが、顧客は元のビデオを受け取ります。

次/最後の[ オプション ]タブはオプションです。アナウンスメントを設定する人や、後でチームビルディングから使用できる生成されたスクリプトを確認したい人だけが見る価値があります。「Cron」でブロードキャストを開始する場合にも便利です。 使用方法についてはすでに書きました。
最後に[ ストリーム]をクリックして、友達を招待します。

結論:ストリームの品質と受信は、VLCの場合はプラグインとコーデックの問題を必要としないため、両側にVLCまたはMplayerが存在する場合にのみ実現できます。コーデックやカプセル化、その他の迷惑な要因に関係なく、クライアント側。 この結論は、問題の方法が「主婦」、およびコンソールとコマンドラインの使用方法を知らない人々に適しているという事実のみに基づいています。 次のパートでは、ストリーミングの機会の幅を広げる「コマンドライン」に基づいて、放送のトピックと可能性を明らかにします。

PS:ネットワークからのアクセスに問題がある場合は、
1.ファイアウォール、プロキシ、ファイルCを確認します。\ **** \ VideoLAN \ VLC \ http \ .hostsのコメント解除された行
  :: / 0
 0.0.0.0/0

UPD: UDPユニキャストでストリームを送信するには
サーバー側では、IPと宛先ポートを指定する必要があります。 例:
サーバー(192.168.0.1)、クライアント(192.168.0.2)
サーバーで、ストリーミング設定を指定します
メディア-ストリーム-UDP、192.168.0.2:1234
クライアントで、ストリームを表示するには:
メディア-オープンネットワークストリーム-UDP、@:1234

UDPマルチキャスト
マルチキャストでは、ストリームはマルチキャストIPアドレスにブロードキャストされます( IPアドレスはこれらの目的のために予約されており、範囲は224.0.0.0から239.255.255.255です )。 その後、ネットワーク上の任意のマシンがマルチキャストグループに参加して、ネットワークにリクエストを送信すると、ブロードキャストストリームを自動的に受信します。

次に、ストリームの再生を停止する要求を送信し、このグループを離れます。 マルチキャストストリームの利点は、それを受信したいマシンのみがストリームを受信し、サーバーはグループのすべてのメンバーが受信する1つのストリームのみをブロードキャストすることです。

ユニキャストの場合と同様に、マルチキャストのアクティブ化は、[ オプション ]タブでTTL *(たとえば50)IPパケットの数を指定する必要があるため、マルチキャストストリームは50のルーターを通過できます。
*-生存時間
また、クライアント側からは、マルチキャストをサポートしているプレーヤーでストリームを開き、ストリーム名の行で指定するだけで十分です。
udp:// @ _ IP_:ポート

関連リンク
ウィキペディアでのマルチキャスト
シスコのIPマルチキャスト

コマンドラインとtelnetを使用した高度なストリーミングのトピックで、マルチキャストについて詳しく説明します。

Source: https://habr.com/ru/post/J74471/


All Articles