0

gstreamerを使用してRTPを介してあるデバイスから別のデバイスにビデオファイルをストリーミングしようとしています。送信側では、次のコマンドを使用しています。

gst-launch filesrc location = / home / kuber / Desktop / MELT.MPG!mpegparse!rtpsend ip = localhost

しかし、これにより次のエラーが発生します。要素「rtpsend」がありません。すべてのrtpツールをダウンロードしましたが、それでも同じエラーが発生します。rtpsendを間違った方法で使用していますか?また、誰かがビデオファイル(testvideosrcファイルではなくラップトップにローカルに保存されている)をあるデバイスから別のデバイスにストリーミングするためのコマンドラインコードを教えてもらえますか?強いテキスト

4

1 に答える 1

1

これが送信したい MPEG1/2 エレメンタリ ストリーム (mpegparse を使用しているため) であると仮定すると、mpegparse の後に rtpmpvpay を使用し、その出力を udpsink に渡す必要があります。

mpegparse ! rtpmpvpay ! udpsink host="hostipaddr" port="someport"

私はそのような rtpsend プラグインを認識していません。上記は、rtp でのすべてのストリーミングに当てはまります。

gst-inspect | を実行します。grep rtp を実行して、すべてのペイロード、デペイヤを確認します

それが mpegps ストリームの場合は、残りのパイプラインの前にまず mpegpsdemux を実行する必要があります。

編集:

なぜmpegparseを削除しないのですか? なぜそれが必要なのかわかりません。コンポーネントの gst-inspect でソースとシンクの要件を確認することを学ぶ必要があります。これにより、ノード間で必要な互換性がわかります。受信は逆 udpsrc port="portno" になります!capsfilter caps="application/x-rtp, pt=32, ..ここに大文字を入力" ! rtpmpvdepay !

于 2012-12-14T21:53:05.533 に答える