ビデオを一緒に見るかVLC同期

少し前までは、2台のコンピューターでビデオを同期する必要がありました。 既製のグーグルソリューションは機能しなかったため、このサービスを自分で実装することにしました。 VLCプログラムがビデオビューアとして選択されました。 私はあなたと仕事の結果を共有することにしました。 このプログラムが役立つ人がいると思います。



なぜ必要なのですか?




どのように機能しますか?


このプログラムは、クライアントとサーバーの2つの部分で構成されています。 サーバー部分はいずれかのコンピューターで実行され、小さな機能を備えたエコーサーバーの役割を果たします。クライアントの1つから受信したメッセージは、接続されているすべてのクライアントに送信されます。 クライアント部分は、動作するvlcプレーヤーを備えた各コンピューターで起動され、一方でvlcの動作を制御し、他方でサーバーと通信します。 いずれかのコンピューターでユーザーがしばらく一時停止すると、クライアント部分はこのイベントを処理し、すぐにサーバーに送信します。 サーバーはこのイベントを他のすべてのクライアントに送信し、他のコンピューターでの再生も停止します。 同様のプロセスが、再生または巻き戻しの開始時に発生します。



通常のtelnetクライアントを使用してサーバーに接続し、コンソールを使用して再生を制御し、特定のコマンドをサーバーに送信することもできます。 コマンドは次のとおりです。

1.一時停止-再生を一時停止

2. start-現在の瞬間から再生を開始します

3. seek-現在の位置を先頭からNミリ秒変更します(例:seek 60000)

4. play-開始からNミリ秒の位置から再生を開始します。



プログラムには、Linuxファミリのオペレーティングシステム、またはライブラリglib-2.0およびdbus-glib-1がインストールされたCygwin for Windowsが必要です。



始め方


はい、とても簡単です:

./server 0.0.0.0 9888

./client 192.168.0.5 9888

ここで、0.0.0.0はサーバーが起動されるネットワークインターフェース(この場合はすべてのインターフェース)のアドレス、192.168.0.5はサーバーのアドレス、9888はポート(その他、同じものを指定できます)です。 Ctrl + Cの組み合わせを使用して、アプリケーションを適切に停止できます。 何らかの理由でクライアントプログラムが起動しない場合は、サーバー(および正しいアドレス)とvlcプレーヤーが実行されているかどうかを確認してください。 すべてが開始されたら、コンピューターで目的のビデオを安全に開き、任意のビデオを押します。

また、vlcでは、d-busを介して制御する機能を有効にする必要があります。 これはここで行います:ツール->設定->設定の表示:すべて->インターフェース->コントロール->チェックマーク「d-busコントロールインターフェース」。 vlcの再起動が必要になる場合があります。



ここからソースコードをダウンロードでき、コンパイルされたバージョンはここからダウンロードできます。



All Articles