WindowsサービスとしてのVLC

グーグルの世界を長く歩いた後、私はまだ私の問題の解決策を見つけました。 問題は次のとおりでした-会社(または、当局に直接)がIPカメラの存在を知り、それらを購入してオフィスに設置することを緊急に決定しました。 D-link DCS 2102-2121では、他に何も見つかりませんでした(高価な軸-これらのうち3つまでコストがかかる)ので、選択は落ちました。 すべてが悪くなるわけではありませんが、彼らからの写真を素晴らしいネットワークに持ち込むための1つの条件がありました。



そして、どのような問題が私たちに直面しています。 Webサーバーを上げ(IPの利点は「ホワイト」)、ストリーミングビデオをブロードキャストし、それを多かれ少なかれ適切な形式にトランスコードするサーバーを選択し、実際にシステムを保守および監視します。 長文の資料の枠組み内では、すべてが非常に単純です。 デフォルトでは、サーバーはWindows Server 2003 sp2上で回転しています(vrycがvlcで正しく機能しなかったため)。



最初に、ビデオをブロードキャストするサーバーを選択します。 VLCメディアプレーヤーは、そのようなものを整理する最も一般的な手段として選ばれました。 非常に優れたウィンドウインターフェースに従って、httpにブロードキャストするようにvlcを設定するのは非常に簡単です。









ここで、最初のウィンドウでソースを選択し、ストリームをクリックします。2番目では、宛先パスhttpブロードキャストポートと、ホストから要求するファイル名を選択します。







アイテムパラメータに注意してください。選択したすべてのパラメータが記載されています。 つまり、そうするなら



vlc.exe rtsp://192.168.0.40:554/play2.sdp :sout=#transcode{vcodec=h264,vb=800,fps=15,scale=0,acodec=mp4a,ab=128,channels=2,samplerate=44100}:http{dst=:8081/1.flv} :no-sout-rtp-sap :no-sout-standard-sap :ttl=1 :sout-keep







次に、設定したものと同じものを取得します。

ここで、apache + phpをflowplayerに配置し、httpチャンネルで設定します。これがストリーミングブロードキャストです。 これについては、他の記事で詳しく読むことができます。 見て=)、あなたが見つけるでしょう。

しかし、ここで問題はありません。サーバーが再起動し、すべてのvlcウィンドウがスミスリーエンに飛びました。 くそー! ここに1つの巧妙なアイデアがあります-スタートアップですが、MBはさらにクールになりますか? なぜそれをさらに良く動作させないのか、あるいはvlcでサービスをインストールしてください。 どうやってやるの? ホラー、私はすべてを登りませんでした(もちろんロシア語)、少しも複雑なものはないことに気づくまで、一般的にvlcは多面的であるため、ここに座って何が不可能か疑問に思うだけです! したがって、設定したストリーミングパラメータを使用したvlcは、次のように開始できます。



start /D "C:\Program Files\VideoLAN\VLC\" vlc.exe -I ntservice --ntservice-install --ntservice-name=VLC --ntservice-extraintf=dummy --ntservice-options="rtsp://192.168.0.40:554/play2.sdp --rtsp-caching=1200 –loop

--sout=#transcode{vcodec=h264,vb=256,fps=10,scale=0,acodec=mp4a,ab=64,channels=1,samplerate=22050}:http{dst=:8081/1.flv} --no-sout-rtp-sap --no-sout-standard-sap --ttl=1 --sout-keep"









ここで、いくつかのパラメーターについて説明します。 –Iは、デフォルト以外のインターフェースを使用してvlcを起動することを意味します。vlcのドキュメントにアクセスする必要がある場合は、httpや他のインターフェースとは異なります。 ご覧のとおり、-ntservice-installという行はvlcサービスをインストールすることを意味します。--ntservice-name = VLCで、これはもちろん名前です。たとえば、同時に機能する別のサービスを作成する必要があります。 サービスを削除するには



start /D "C:\Program Files\VideoLAN\VLC\" vlc.exe -I ntservice --ntservice-uninstall --ntservice-name=VLC







ntservice-extraintf = dummyパラメーターは、サービスが動作するインターフェースを意味します。 ダミーは、そこにないことを意味します。httpを指定すると、httpインターフェースが作成されますが、再びドキュメントでそれを読んでください。 --ntservice-options = ""およびここでは、既に理解したように、引用符で、サービスを起動するパラメーターを示します。









今ではすべてが時計のようにうまく機能しますが、ここでも問題が発生します。カメラはループモードではありますが、とにかく定期的に消えるため、新しく作成したサービスを再構築する必要があります。 すばらしいPHPがこの厄介なイベントに処理を割り当てるべきではないのはなぜですか? 次のコンテンツを含むページを作成します。



<?php exec("net stop vlc");exec("net start vlc");?>







さて、今カメラが彼女を「死んだ」なら、私の監督は自分自身を再起動することができます、そして朝に我々はより長くより強く眠ります。



All Articles