74

ストリーミングサーバーの開発を考えていますが、次の質問があります。RTSP(URLの例:)rtsp://192.168.0.184/myvideo.mpgまたはRTP( URLの例:)を実行してくださいrtp://192.168.0.184

私が理解しているように、RTSPサーバーは主に、すでに存在する、つまりライブではないファイルのストリーミングに使用されます。RTPサーバーはブロードキャストに使用されます。

私が間違っていたら誰かが私を訂正します、私は正しいですか?

ライブコンテンツをパソコンの画面で放送するサーバー、つまりストリーミング放送時に表示されるサーバーを開発したい。

4

8 に答える 8

118

何か問題が発生しています... RTSPはリアルタイムストリーミングプロトコルです。つまり、リアルタイムで好きなものをストリーミングできます。したがって、これを使用してLIVEコンテンツをストリーミングできます(ビデオ、オーディオ、テキスト、プレゼンテーションなど)。RTPは、RTSPを介してネゴシエートされるメディアデータを転送するために使用される転送プロトコルです。

RTSPを使用して、RTPを介したメディア送信を制御します。ストリームのセットアップ、再生、一時停止、破棄に使用します...

したがって、URLが要求されたときにサーバーがストリーミングを開始するようにしたい場合は、ある種のRTP専用サーバーを実装できます。ただし、より詳細な制御が必要で、ライブビデオをストリーミングしている場合は、RTSPを使用する必要があります。RTSPはSDPやその他の重要なデコードデータを送信するためです。

ここでリンクしたドキュメントを読んでください。それらは良い出発点です。

于 2010-11-29T12:11:17.587 に答える
19

AFAIK、RTSPはストリームをまったく送信しません。これは、PLAYやSTOPなどの機能を備えた帯域外制御プロトコルにすぎません。

生のUDPまたはRTPoverUDPは、生のTCPまたはHTTPoverTCPと同じようにストリームの伝送プロトコルです。

特定の送信プロトコルを介して特定のプログラムをストリーミングできるようにするには、コンテナ形式に対してカプセル化メソッドを定義する必要があります。たとえば、TSコンテナはUDPを介して送信できますが、Matroskaは送信できません。

ただし、ほとんどすべてがTCPを介して転送できます。

(どのコーデックを使用するかは、使用できるコンテナ形式を制限するため、間接的にも重要です。)

于 2011-03-02T10:26:54.797 に答える
13

いくつかの基本:

RTSPサーバーは、ライブソースだけでなくデッドソースにも使用できます。RTSPプロトコルは(VCRリモートのように)コマンドを提供し、機能は実装によって異なります。

RTPは、オーディオとビデオをリアルタイムで転送するために使用されるリアルタイムプロトコルです。使用されるトランスポートは、トランスポートアドレスとポートに応じて、ユニキャスト、マルチキャスト、またはブロードキャストになります。RTPの転送に加えて、パケット化、並べ替え、ジッター制御、QoS、リップシンクのサポートなど、多くのことが行われます。

ストリーミングストリーミングサーバーをブロードキャストする場合は、RTSP(制御用)とRTP(オーディオとビデオのブロードキャスト)の両方が必要です。

まず、 live555が提供するサンプルコードを確認できます。

于 2010-11-29T12:27:50.730 に答える
8

あなたの痛みが聞こえます。私は今(数年後)これを経験しています。私が学んだことから、RTSPは「VCRコントローラー」と考えることができます。プロトコルを使用すると、再生するストリーム(プレゼンテーション)を指定でき、メディアの説明が送信されます。その後、次のことができます。 RTSPを使用して、リモートストリームを再生、停止、一時停止、および記録します。メディア自体がRTPを通過します。RTSPは通常、別のソケットまたは通信レイヤーを介して実装されます。これは単なるプロトコルですが、ほとんどの場合、ソケットを介してサーバーによって実装されます。ライブストリームの場合、要求するRTSPストリームは単にストリームの名前です。サーバー上のファイルを参照する必要はありません。サーバーのRTSP実装は、そのストリームを解析し、ライブグラフをまとめて、そのストリーム名のSDP(説明)を提供できます。だが、もちろん、これはRTSPサーバーの実装方法に固有のものです。「ライブ」ストリームの場合、RTPを使用する方がおそらく簡単ですが、RTPサーバーからそのストリームを再生するクライアントにSDPを転送する方法が必要になります。

于 2015-09-03T05:40:09.887 に答える
4

それは正しいと思います。RTSPは内部でRTPを使用する場合があります。

于 2010-11-29T11:58:17.340 に答える
0

RTPは、リアルタイムデータのトランスポートプロトコルです。タイムスタンプ、シーケンス番号、およびリアルタイムデータ転送のタイミングの問題を処理するその他の手段を提供します。

RTSPは、メディアサーバーからのストリーミングマルチメディアデータの配信を開始および指示する制御プロトコルです。「インターネットVCRリモートコントロールプロトコル」です。その役割は、リモコンを提供することです。ただし、実際のデータ配信は個別に行われ、ほとんどの場合RTPによって行われます。

また、RTCPはRTPの制御部分であり、サービス品質とメンバーシップ管理を支援します。

これらの3つの関連プロトコルは、インターネットを介したリアルタイムマルチメディアデータに使用されます。このリンクで優れた完全なドキュメントを読んでください:RTP、RTCP&RTSP

于 2021-07-05T16:14:54.283 に答える
0

RTSPはIPカメラで広く使用されており、カメラでRTSPサーバーとして実行されるため、ユーザーはカメラからRTSPストリームを再生(プル)できます。中央のメディアサーバーが必要ないため、これは低コストのソリューションです(数千のカメラストリームを考えてみてください)。アーチは次のとおりです。

IP Camera      ----RTSP(pull)--->    Player
(RTSP server)                      (User Agent)

RTSPプロトコルには、実際には次のものが含まれています。

  • メディア機能について、SDP(WebRTCでも使用)を交換するために使用される、ポート554でのTCPを介したシグナリング。
  • サーバルポート(通常は2つのポート、1つはRTCP用、もう1つはRTP用(WebRTCでも使用))を介したUDP/TCPストリーム。

H5で利用できるようになったWebRTCとの比較:

  • SDPの交換に使用される、HTTP/WebSocketを介したシグナリングまたは他のプロトコルによる交換。
  • 1つまたは複数のポートを介したUDPストリーム(RTP / RTCP)は、通常1つのポートにバインドされ、クラウドサービスのロードバランサーを満足させます。

プロトコルビューでは、RTSPとWebRTCは似ていますが、使用シナリオは大きく異なります。トピックから外れているため、大幅に簡略化してみましょう。WebRTCはWeb会議用に設計されており、RTSPはIPカメラシステム用に使用されています。

したがって、RTSPとWebRTCの両方がソリューションとプロトコルであり、異なるシナリオで使用されることは明らかです。RTPはトランスポートプロトコルですが、WebRTCによるライブストリーミングでも使用できます。

注:RTSPはH5またはインターネットライブストリーミングでは使用できませんが、FFmpegとゲートウェイサーバーで変換できます。こちらをご覧ください

于 2021-12-18T04:47:52.167 に答える
-2

RTSP(実際にはRTP)は、ビデオのストリーミングに使用できますが、ライブプレゼンテーションを含む他の多くの種類のメディアにも使用できます。Rtspは、RTPセッションのセットアップに使用されるプロトコルにすぎません。

詳細については、次のアドレスで私のオープンソースRTSPサーバーの実装を確認できます:https ://net7mma.codeplex.com/

または私の記事@http ://www.codeproject.com/Articles/507218/Managed-Media-Aggregation-using-Rtsp-and-Rtp

ストリームのリソースの再調達とストリームの動的な作成をサポートし、さまざまなRFCが実装され、ライブラリはFFMPEGやトランスポート層の他のソリューションよりも優れたパフォーマンスと少ないメモリを実現するため、次のように使用するのに適しています。ほとんどのシナリオで一元化されたアクセスポイント。

于 2013-03-12T01:49:33.953 に答える