2016-04-22 16 views
2

私は、私はかなり近いGstreamerパイプラインはrudmpに2つのudpソースをマージしますか?

gst-launch-1.0 rtpbin name=rtpbin rtpbin.recv_rtp_sink_ \ 
! udpsrc port=6004 caps="application/x-rtp, media=(string)video,clock-rate=(int)90000,payload=(int)96,encoding-name=VP8-DRAFT-IETF-01" \ 
! rtpvp8depay \ 
! queue \ 
! mux. rtpbin.recv_rtp_sink_ \ 
! udpsrc port=6005 caps="application/x-rtp, media=audio, clock-rate=48000, encoding-name=X-GST-OPUS-DRAFT-SPITTKA-00, payload=111,channels=2" \ 
! rtpopusdepay \ 
! queue \ 
午前知っている2つのUDPソース(オーディオのための1およびビデオのための1)、別々に、それは非常に簡単ですが、noobのものにそれらをマージする方法がないの手掛かりをマージする方法を見つけ出すことはできません

...?

答えて

1

私は正確な答えを知らないが、私は(私たちは:)コメントを経由して、いくつかの解決策を交渉することができます)この道を行くだろう:

gst-launch-1.0 flvmux name=mux ! rtmpsink udpsrc port=6004 caps="application/x-rtp, media=(string)video,clock-rate=(int)90000,payload=(int)96,encoding-name=VP8-DRAFT-IETF-01" ! rtpvp8depay ! vp8dec ! queue ! x264enc ! mux. udpsrc port=6005 caps="application/x-rtp, media=audio, clock-rate=48000, encoding-name=X-GST-OPUS-DRAFT-SPITTKA-00, payload=111,channels=2" ! rtpopusdepay ! queue ! opusdec ! voaacenc ! aacparse ! queue ! mux. 

をなぜ、このパイプ:

  • が3つあります

1、最初にflvmuxがrtmpsinkにリンクされていますが、通知はありません!この部分と次udpsrc一部

2、 ニーズが最初VP8からデコードし、その後 flvmuxのみH264を理解しないようH264ために再エンコードするudpsrcビデオ部との間の に署名し、私はVP8のためのサポートを推測しない(、あなたが することができます)

3、flvmuxはマルチプレクサ後、生のオーディオに

  • を理解していないようだと、これはrtpmsinkに行くことができる生のPCMオーディオで を結果オーパスからデコードして、AACでエンコードされudpsrcオーディオ部分をこれをチェックこれは要素が出現する順序は、創造のちょうどオーダーであることに留意してください

(私はこのフォーマットに精通していないです)指定された場所にそれをストリーミングする、それは結合の順序ではありません。..しかし、私はあなたがそれらをリンクしたいので要素が最初に存在しなければならないと思うので、最初にflvmuxを置いてmuxを使用できるようにします。名前は後で(エイリアスのようなものです)。 パイプラインの3つの部分を作成し、それらをmuxの使用法とリンクします。別名..

+0

は私が努力に感謝ちょうどerroanousエラー構文エラーが動作しないと私はコマンドが順番にあると思っていたとシンクが続くがありますか? – user6238466

+0

いいえ順番どおりにする必要はありません。要素の適切なつながりは整然としていなければなりません。私は間違ったエラー構文を得ません。しかし、それは私のために働いていませんでしたので、働いている(私は答えを更新する) – nayana

+0

@ user6238466私は答えを更新しました.. – nayana

関連する問題