G.729、PCM、またはH.264を伝送するRTPストリームを受信する組み込みデバイスにアプリケーションを作成しています。パケットはRTPパケットのchar *としてアプリケーションに届きます。私はストリームを(テストとして)見たり聞いたりできますが、このデバイスではプレイヤーを持っていません。私は、このストリームをソケットに転送し、プレイヤーを実行しているLinuxマシンのように、RTPストリームをどこか別の場所で再生できると考えました。これは可能でしょうか?私はRTSPを持っていません、RTPだけです。例えば、VLCはこれを行う可能な方法ですか? RTPパケットをソケットに送信して相手側で再生することはできますか? ありがとう!ソケットを使用して内蔵デバイスからRTPストリームを再生する
答えて
いいえ、できません。シンプルなRTPには、ストリームフォーマットなどに関する情報は含まれておらず、パケット自体に関する情報(シーケンス番号、タイムスタンプ、追加の同期情報)のみが含まれています。 RTPをストリームする最も簡単な方法は、RTP/MPEG TS(MPEG Transport Stream)です。
残念ながら私は解決策を使用する準備ができていません。 VLCはそのようなストリームをファイルからUDP上でストリーミング(および再生)することができるため、ファイルコンテナ形式から必要な情報を取得します。そのような解決策はSDP形式の外部ストリーム記述と実際のRTPパケットを取ることができます
[編集] btw、その形式の説明なしのRTPストリームだけを受信するのは奇妙です。通常、RTSP、 MPEG-TSまたは何か他のH.264ストリームが含まれているSDPの
UDPソケットを介してRTPパケットを転送することができます。
[OK]を、ので、私は前方のUDPソケットを開き、私は反対側にVLCを使用することができますか? File-> Open netwrok ...-> Open RTP/UDP Streamを選択し、プロトコルとして何を選択しますか?私はそれが実際のプロトコルであるのでRTPを仮定します。私は正しい?これは正しい方法ですか? RTPヘッダー内のデータは、VLCがペイロード内にあるものを理解し、コンテンツをレンダリングするのに十分なはずですか?ありがとう! –
RTPはプロトコルであり、各RTPパケットヘッダーの実際のメディアペイロードタイプを指定します。スタティック/デフォルトパラメータ(クロックレートなど)を使用して、多くのRTPペイロードタイプがIANAに登録されます。ただし、他のパラメータを使用することは可能です。実際のRTPストリームが送信される前に、SIP/SDP、RTSP、またはいくつかの他のプロトコルのいずれかが一般に、RTPパラメータをアナウンス/ネゴシエートするために使用されます。私はVLCがそれをどのように処理するのかわかりません。 –
例:
Server: rtsp server
Content-type: application/sdp
Content-base: rtsp://[some URL]
Content-length: 505
v=0
o=rtsp 1295996924 1590699491 IN IP4 0.0.0.0
s=RTSP Session
i=rtsp server
c=IN IP4 192.168.1.2
t=0 0
a=control:*
m=audio 0 RTP/AVP 97
a=rtpmap: 97 mpeg4-generic/8000/1
a=fmtp: 97 streamtype=5; profile-level-id=15; objectType=2; mode=AAC-hbr;
a=range:npt=now-
a=control:trackID=0
m=video 0 RTP/AVP 96
a=rtpmap:96 H264/90000
a=fmtp:96 profile-level-id=42E015; sprop-parameter-sets=Z0LgFdoHgtE=,aM4wpIA=; packetization-mode=1
a=range:npt=now-
a=framesize:96 480-352
a=control:trackID=1
- 1. VLCを使用してRTPを再生
- 2. Qtを使用してRTPビデオストリームを再生しますか?
- 3. Androidメディアプレーヤーを使用した再生RTP
- 4. MediaElementを使用してストリームからビデオを再生する
- 5. MCIを使用してメモリからaviストリームを再生する
- 6. iOS:オーディオユニットを使用してRTPパケットを再生する
- 7. デバイスの内蔵メモリを使用
- 8. H264 RTPストリームをPCAPから再生可能なビデオファイルに変換する方法
- 9. gstreamerを使用してローカルソケットからH264ストリームを再生
- 10. sdp sessionを使用してストリームを再生しますか?
- 11. H264 RTPストリーム(gstreamer-1.0を使用)
- 12. bareSIPを使ったRTPストリーム
- 13. ジュークボックスを使用してストリームから音楽を再生する - Swift、IOS
- 14. iPhoneオーディオ再生:内蔵スピーカーを強制しますか?
- 15. UDP/RTP H264ストリームを記述する.sdpファイルを再生するiOS 8+
- 16. USB/ETH接続を使用して内蔵デバイスにアクセスするフレンドリ名
- 17. gstreamerを使用してrtpでH.264ビデオをストリーム
- 18. libvlcを使用してRTSPストリームを再生するには
- 19. HTML5ビデオタグを使用したRTPビデオストリームの再生
- 20. libstreamingからrtspストリームを再生する
- 21. のGStreamer:私は使用して私のラズベリーカメラからのRTPストリームを開始しています受信したRTPストリーム
- 22. ソケットを使用してAndroidデバイスからESP8266に接続
- 23. 外部スピーカーまたは内蔵スピーカーからプログラムで音を再生する
- 24. Python内でMMSストリームを再生する
- 25. MCIデバイスを使用してmp4ビデオを再生する方法
- 26. 内蔵デバイスのファームウェアイメージのフォーマット
- 27. Android内蔵ストレージからの動画再生がハングアップする/クラッシュする
- 28. WebソケットとReactJを使用して各ファイルの内容をストリームする
- 29. 内蔵スピーカーでサウンドを再生し、古いXP APIを使用する可能性がありますか?
- 30. 最低遅延でVLCを使用してRTPでデスクトップをストリームする
このSDPを書くのは簡単ではないようです。 RFCはかなり複雑なようです。 PCMUストリームまたはH.264ストリームのために私が参照できるリンクはありますか?ご回答有難うございます。私はこれが正しいと思います。 –