24

DM368 Leopardboard* で Gstreamer を動作させようとしています。テスト ビデオ (videotestsrc) を作成し、エンコードして、ファイルにダンプすることに成功しました。

機能したパイプは次のとおりです。

gst-launch -v videotestsrc num-buffers=100 ! queue ! ffenc_mpeg4 bitrate=800000 ! ffmux_mp4 ! filesink location=video_test.mp4

次のステップは、パイプを変更して、ネットワーク経由でテストカードをストリーミングし、VLC を搭載した PC でrtsp://ip_addr:port/streamnameのようなものを使用して表示できるようにすることですが、これを行う方法に関するドキュメントは、地面では非常に薄いようです。 (そしてしばしば時代遅れです)、そして例はそれを行うソースコードとコマンドラインの方法を曖昧にしているようです.

問題の 50% 以上が Gstreamer とそのさまざまな部分に精通していないことにあることを率直に認めます。私は常に、最初に実際に使用できる例があれば、棒で突いて残りを解決できることを発見しました。そこから。

私はこれまでのところ持っています:

gst-launch -v videotestsrc ! queue ! ffenc_mpeg4 bitrate=800000 ! rtpmp4vpay ! tcpserversink host=<PC_ip> port=5000

( tcp://board_ip:portを使用して)VLCで何かが起こるようです-何かが起こっていると思われます(エラーはスローしません)が、何も再生/表示しません。gst プロセスを中断 (^C) すると、VLC が通知します。

したがって、基本的に、ガイダンス/フィードバックは素晴らしいものであり、機能するワンライナーは素晴らしいでしょう.

追加するために編集:はい、test_video.c の例が表示されますが、それは特別なプログラムをコンパイルして、コマンドラインから呼び出すだけで概念を証明できるように見える何かを実行しています。

* = Linux version 2.6.32-17-ridgerun /CPU: ARM926EJ-S
4

3 に答える 3

31

ソース: RTP とは対照的に、RTSP サーバーは RTP サーバーとクライアントの間の接続をオンデマンドでネゴシエートします (リンク)。gst-rtsp-serverはgstreamer プラグインではなく、独自の RTSP アプリケーションを実装するために使用できるライブラリです。次のテスト ケースは、Ubuntu 12.04.5 マシンに適用されました。

  • 予選
    • base/good/ugly/bad プラグインを使用して gstreamer-1.0 をインストールします
    • インストールautoconf automake autopoint libtoolおよびその他の欠落している重要なビルド ツール
  • gst-rtsp-server をビルドする
    • git clone git://anongit.freedesktop.org/gstreamer/gst-rtsp-server && cd gst-rtsp-server
    • gstreamer 1.2 を使用します。git checkout remotes/origin/1.2
    • ビルド: ./autogen.sh --noconfigure && GST_PLUGINS_GOOD_DIR=$(pkg-config --variable=pluginsdir gstreamer-plugins-bad-1.0) ./configure && make(何らかの理由で GST_PLUGINS_GOOD_DIR が pkg-config で設定されていないため、明示的に設定します)
  • テスト走行
    • テスト アプリケーションを実行します。cd examples && ./test-launch "( videotestsrc ! x264enc ! rtph264pay name=pay0 pt=96 )"
    • 次のアドレスでリモートからストリームにアクセスできるようになりました (例: VLC を使用):rtsp://HOST_IP:8554/test
于 2016-10-25T09:37:12.953 に答える
2

最後にここで実用的な例を見つけました:

GStreamerrtpストリームからvlcへ

しかし、VLC用の.SDPファイルを作成し、IPアドレスを指定する必要がありますが、これは実際には私たちが望んでいる方法ではありません...しかし、それは始まりです!

于 2012-12-07T17:37:45.707 に答える