VLCマルチキャストを使用してビデオファイルをブロードキャストします。 理論で。

理論的知識を追加して記事を書き直してください。 したがって、いくつかの定義:





マルチキャスト (英語のマルチキャスト) -パケットのコピーが宛先の特定のサブセットに送信される特別な形式のブロードキャスト。 IPマルチキャストテクノロジーは、224.0.0.0〜239.255.255.255のアドレスを使用します。 静的および動的アドレス指定がサポートされています。 静的アドレスの例は、224.0.0.1-ローカルネットワークのすべてのノードを含むグループのアドレス、224.0.0.2-ローカルネットワークのすべてのルーターです。 アドレス範囲224.0.0.0〜224.0.0.255は、ルーティングプロトコルおよびその他の低レベルマルチキャストサポートプロトコル用に予約されています。 残りのアドレスは、アプリケーションによって動的に使用されます。 ローカルネットワーク内のさまざまなグループのメンバーを決定するために、ルーターはIGMPプロトコルを使用します。 サブネットルーターの1つは、定期的にサブネットホストをポーリングして、ホストアプリケーションが使用しているグループを見つけます。 グループごとに、サブネットで1つの応答のみが生成されます。 新しいグループのメンバーになるために、受信者ノードはローカルネットワークのルーターへの要求を開始します。 宛先ノードのネットワークインターフェイスは、このマルチキャストアドレスを持つパケットを受信するように構成されています。 各ノードはアクティブなグループアドレスを個別に監視し、このグループに参加する必要がない場合、IGMP要求への確認の送信を停止します。 IGMPクエリ結果は、グループルーティングプロトコルによって使用され、グループメンバーシップ情報を近隣ルーターに送信し、さらにネットワークを介して送信します。



VLCメディアプレーヤー (元はVideoLAN Clientから)は無料のメディアプレーヤーです。

このプログラムは、最新のオペレーティングシステム、特に次のもので実行されます。

* GNU / Linux

* BSD(FreeBSD、NetBSD、OpenBSD、Apple Darwin、Mac OS X)

* Solaris

*およびその他のUNIXの種類...

* BeOSファミリー(BeOS、Zeta-OS、Haiku-OS)

* QNX

* MorphOS

* Microsoft Windows

* Microsoft Windows CE

VLCプレーヤーは、ネットワーク経由でオーディオ/ビデオストリームをブロードキャストするサーバーとして使用できます(IPv4およびIPv6プロトコルをサポート)。 マルチメディアファイルを再生するために、追加のコーデックをインストールする必要はありません。それらは既にプログラムに「組み込まれています」。 VLCは、DVDを再生し、暗号化されていない(無料の)ビデオ(IPTV)およびインターネットラジオをストリーミングできます。 このプログラムは、ストリーミングオーディオ/ビデオをコンピューターに記録することもできます。 VLCは不良ファイルをうまく再生します。



ブロードキャストには、512 Mb RAMとRAID1のディスクサブシステムを備えた弱いPentium III 800MHzが選択されました。 Gentoo Linuxは、このすべてのハードウェアを引き継ぎました:



Portage 2.1.6.4 (default/linux/x86/2008.0, gcc-4.1.2, glibc-2.6.1-r0, 2.6.25-gentoo-r8 i686)

=================================================================

System uname: Linux-2.6.25-gentoo-r8-i686-Pentium_III_-Coppermine-with-glibc2.0

Timestamp of tree: Mon, 09 Feb 2009 22:15:02 +0000

app-shells/bash: 3.2_p39

dev-lang/python: 2.4.4-r13, 2.5.2-r7

dev-python/pycrypto: 2.0.1-r6

sys-apps/baselayout: 1.12.11.1

sys-apps/sandbox: 1.2.18.1-r2

sys-devel/autoconf: 2.13, 2.63

sys-devel/automake: 1.7.9-r1, 1.9.6-r2, 1.10.2

sys-devel/binutils: 2.18-r3

sys-devel/gcc-config: 1.4.0-r4

sys-devel/libtool: 1.5.26

virtual/os-headers: 2.6.27-r2








VLCは、次のフラグでコンパイルされました。



media-video/vlc-0.9.7 USE="a52 aac ffmpeg hal libgcrypt mp3 mpeg ncurses stream x264 -X -aalib -alsa (-altivec) -arts -atmo -avahi -bidi -cdda -cddax% -cddb -cdio -dbus -dc1394 -debug -dirac -directfb -dts -dvb -dvd -esd -fbcon -flac -fluidsynth -fontconfig -ggi -gnome -gnutls -httpd -id3tag -jack -kate -libass -libcaca -libnotify -libsysfs -libv4l2 -lirc -live -lua -matroska -mmx -modplug -musepack -nsplugin -ogg -opengl -optimisememory -oss -pda% -png -pulseaudio -pvr -qt4 -remoteosd -rtsp -run-as-root% -samba -schroedinger -sdl -sdl-image -seamonkey -shout -skins -speex -sse -svg -svga -taglib -theora -truetype -twolame -upnp -v4l -v4l2 -vcdinfo -vcdx -vlm -vorbis -win32codecs -xinerama -xml -xosd -xv -zvbi (-vcd%)"







したがって、好きなようにフラグを操作できます。 ストリームフラグが必要です。 フラグの説明は、 gentoolkitパッケージのequery u vlcコマンドを使用して表示できます。 注目したいのは、 optimizememoryフラグだけです。 以前のバージョンを3つ収集しましたが、プロセスは数日でプロセッサリソースを100%消費し、終了しました。



最初に、古いプレイリストを削除し、新しいプレイリストを作成し、画面でvlc自体を起動するデーモンを作成しました。

vlc -v /home/ftp/pub/playlist.m3u --sout '#standard{access=udp{ttl=15},mux=ts{tsid=22,pid-video=23,pid-audio=24,pid-pmt=25,use-key-frames},dst=[multcast ip]}' --random --loop --volume 100







プロセスをより簡単かつ便利に監視するために、複数のチャネルを並行して実行するために、デーモンではなく画面が選択されました。 STBとMidlleWareがすべてを正しく食べるように、PIDが必要です。 ファイルは以下に変換されました:



: MPEG Video

: Version 2

: Standard

:

: 7 762 /

: 1 920 .

: 1 080 .

: 16/9

: 30,000 /

: 4:2:0

:








: MPEG Audio

: Version 1

: Layer 2

:

: 64,0 /

() : 2 ()

: 44,1

: 16








性能:

最大70日、17:08、平均負荷:0.16、0.17、0.11



ネットワークダウンロード:

30秒の入力レート8718000ビット/秒、801パケット/秒

30秒の出力レート2000ビット/秒、2パケット/秒



All Articles