P2P 映像伝送
ここでは、SIM間のP2P(Peer to Peer)通信によって、映像ファイルを伝送する手順を示します。 概要
映像伝送に際して、アプリケーションは ffmpeg 、プロトコルは SRT を使用します。
このチュートリアルではP2P通信によって映像伝送を行うため、2台のPCを準備しそれぞれ送信用、受信用としてください。
まず、送信用、受信用のPCそれぞれがMECダイレクト®を用いて通信します。 MECダイレクトを用いた接続
手順については以下をご覧ください。
送信用、受信用両方のPCにSRTプロトコルに対応したffmpegをインストールします。 ffmpegのインストール
手順はOSにより異なりますので、該当する手順をご参照ください。
インストール手順(MacintoshまたはUbuntuの場合)
- 以下のコマンドを実行し、パッケージを最新の状態に更新します。
- 必要なライブラリをインストールします。
- srtをダウンロードします。
- 以下のコマンドを順番に実行し、srtのビルドを行います。
- ffmpegをダウンロードし、解凍します。
- 解凍したフォルダを/usr/binにコピーします。
$ apt update
$ apt install -y tclsh pkg-config cmake libssl-dev build-essential iputils-ping net-tools dnsutils
$ git clone https://github.com/Haivision/srt -b v1.4.3 --depth 1
$ cd srt
$ ./configure
$ make
$ make install
$ cd /tmp
$ wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz
$ tar -xvf /tmp/ffmpeg-release-amd64-static.tar.xz ffmpeg-4.4-amd64-static/ffmpeg
$ cp /tmp/ffmpeg-4.4-amd64-static/ffmpeg /usr/bin
インストール手順(Windowsの場合)
- FFmpegのダウンロードのため、以下サイトへアクセスします。
- 「Download」をクリックします。
- Windowsのボタンをクリックし、「Windows builds from gyan.dev」をクリックします。
- gyan.devのサイトが表示されますので下方にスクロールし、「ffmpeg-release-full.7z」をクリックしダウンロードします。
- ダウンロードしたファイルを解凍します。
- binフォルダ内の「ffmpeg.exe」「ffplay.exe」「ffprobe.exe」を任意の場所へコピーします。
- ここから、環境変数を変更し、パスを通す作業を行います。まず、「スタート」ボタンを右クリックし、「システム」をクリックします。
- 「システムの詳細設定」をクリックします。
- システムのプロパティウィンドウが表示されますので、「環境変数」をクリックします。
- 「Path」を選択し、「編集」ボタンをクリックします。
- 「新規」をクリックし、6.でコピーした場所のアドレスを入力します。
- コマンドプロンプトを起動し、以下コマンドを入力します。バージョン情報等が表示されればインストールは成功です。
※ 解凍用のソフトウェアが必要な場合があります。以下のようなソフトウェアを使用し、解凍してください。
> ffmpeg
映像ファイルのテスト送受信に用いる映像ファイルを準備します。 映像ファイルの準備
お手元のものをご利用いただいて問題ありませんが、もし適切なファイルがない場合は、CCBYライセンスで公開されている以下の動画などをご利用ください。
動画の送受信
今回は 5001 番のポートを使用します。あらかじめそれぞれのPCやルーターのファイアウォール設定を変更し、5001 番ポートでの通信を許可してください。また、必要に応じて、5001 番以外のポートを通じて行うことも可能です。
5Gデータ通信端末「Wi-Fi STATION SH-52A」、「Wi-Fi STATION SH-52B」を用いてMECダイレクト専用回線をご利用いただいている場合、特定ポートでの通信を許可するには、以下のリンクから取扱説明書をご覧いただき、 各種設定(webブラウザ) > 設定 > LAN設定 > ポートマッピング を参照してください。
5Gデータ通信端末「Wi-Fi STATION SH-52A」、「Wi-Fi STATION SH-52B」を用いてMECダイレクト専用回線をご利用いただいている場合、特定ポートでの通信を許可するには、以下のリンクから取扱説明書をご覧いただき、 各種設定(webブラウザ) > 設定 > LAN設定 > ポートマッピング を参照してください。
操作手順
- 受信側のPCで以下のコマンドを入力し、映像送信を待機します。
- 送信側のPCでは準備した動画を保存したフォルダに移動します。<path>の部分には動画を保存したフォルダへのパスを入力して下さい。
- 以下コマンドを入力し、映像を送信します。<file_name>の部分には先ほど準備した動画のファイル名を拡張子込みで書いてください。また、<target_pc_addr>の部分には受信側PCのIPアドレスを書いてください。
- 受信側のPCで映像が再生されましたら、テスト成功です。
$ ffplay -i srt://0.0.0.0:5001?mode=listener
$ cd <path>
$ ffmpeg -re -i <file_name> -c:v copy -c:a copy -f mpegts srt://<target_pc_addr>:5001
Big Buck Bunny Copyright (C) 2008
Blender Foundation | peach.blender.org Some Rights Reserved. Creative Commons Attribution 3.0 license.
http://www.bigbuckbunny.org/
Stereoscopic / 4K / 60 fps / HDRI changes Copyright (C) 2013
Janus B. Kristensen Some Rights Reserved. Creative Commons Attribution 3.0 license.
http://bbb3d.renderfarming.net/