新型コロナウィルスの流行が始まった2019年末頃からリモートワークが急増し、現在では私たちの生活のスタイルの一つとして、リモートワークやオンラインでの打ち合わせなどが定着してきたのではないでしょうか。
その裏側でさまざまな技術が活用されていますが、その中でも今回は動画や音声などを利用する際に活用されている「RTP」や「RTSP」について、その違いとそれらの役割をご紹介していきたいと思います。
そもそもRTP/RTSPとは何か?
RTPはReal-time Transport Protocolと言い、 主にオーディオやビデオなどリアルタイムのデータをネットワークで効率的に転送するためのプロトコルです。
その特徴は、データの遅延を最小限に音声や映像の同期を維持して、データ自体を運ぶ役割を果たします。
RTSPはReal-Time Streaming Protocolと言い、 ストリーミングメディアの制御を行うためのプロトコルです。
再生・停止・早送りなど、メディアの制御に特化したコントロールプロトコルです。実際のデータ転送はRTPと連携して行われることが多いです。
RTPの役割は、音声や映像を運ぶこと
前項でご紹介したとおり、RTP(Real-time Transport Protocol)は、主に音声や映像などリアルタイムのデータ伝送を目的としたプロトコルです。例えば、音声通話やビデオ会議、ストリーミングなどで活用されています。
例えて言えば、RTPは音声や映像を運ぶトラックの様な役割です。
具体的には、データパケットにタイムスタンプやシーケンス番号を含めてUDPでデータ送信を行い、受信側で正しい順序とタイミングで再生できるようにし、これにより、ネットワーク上での遅延やパケット損失がある場合でも、スムーズなメディア再生が可能となるのです。
参照
https://www.nic.ad.jp/ja/materials/iw/2002/proceeding/T21-2.pdf
RTSPは基本的にはRTPと連携して使われ、映像や音声をコントロールする
RTPは音声や映像を運ぶトラックと前項でお伝えしましたが、同じような名前の「RTSP」はどの様な役割なのでしょうか?
RTSP(Real-Time Streaming Protocol)は、主にストリーミングメディアの制御を行うためのプロトコルです。
現代では多くの映像配信サービスが提供されていますが、そのような映像を視聴する際に皆さんは「ちょっと止めておこう」や「ここは早送りしたい」など自分で操作・制御したいシーンが生まれますよね。
また、業務の中でもセキュリティカメラなどを用いて必要な操作をする場合もあると思います。
このような場合にRTSPを用いてメディアサーバーに接続し、再生、停止、早送りなどの操作をすることが可能になります。これにより、セキュリティカメラやビデオ配信システムなどで、リアルタイムにストリーミングの管理が行われ、安定した視聴体験を提供することができます。
参照
https://www.nic.ad.jp/ja/materials/iw/2002/proceeding/T21-2.pdf
開発の現場ではどの様な役割を果たしているのか
実際の産業開発の現場では、どの様なシーンでRTPやRTSPが活用されているのでしょうか。
産業開発の現場、特に遠隔監視、ロボティクス、IoT、セキュリティ、遠隔会議などにおいて、RTPやRTSPは活用されています。
例えば、遠隔地にあるプラントや機器の動作状況をモニタリングする際、映像ストリーミングが重要な役割を果たすと思いますが、RTSPは、遠隔地のカメラに接続し、映像視聴開始を知らせるために使われ、RTPは、カメラ映像をリアルタイムで伝送する際に利用されています。
これら2つの技術は、リアルタイムデータの伝送と制御に不可欠であり、特に自動化やリモート制御が進む現場では重要な役割を果たしていると言えるでしょう。
ちなみに、オープンソースのビデオプレイヤーVLC Media PlayerもRTPプロトコルに対応しており、ネットワークストリーミング機能の一環として活用されています。
参照
https://www.videolan.org/vlc/features.html