web-dev-qa-db-ja.com

Gstreamerを使用してRTSPストリームを提供し、実際のサンプルを探しました

GstreamerをDM368 Leopardboard *で動作させようとしています。テストビデオ(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

VLCでsomethingが発生するようです(tcp:// board_ip:portを使用)-何かがあると思うようです進行中(エラーをスローしません)が、何も再生/表示しません。 gstプロセスを中断(^ C)すると、VLCが通知します。

それで、基本的に-どんなガイダンス/フィードバックも素晴らしいでしょう、働く1ライナーは素晴らしいでしょう。

編集して追加します:はいtest_video.cの例がありますが、それは特別なプログラムをコンパイルして、単に呼び出すことができるように見えるようにしますコマンドラインから概念を証明します。

* = Linux version 2.6.32-17-ridgerun /CPU: ARM926EJ-S
16
John U

最後に、ここで実際の例を見つけました:

vlcへのGStreamer rtpストリーム

ただし、VLC用の.SDPファイルを作成し、IPアドレスを指定する必要があります。これは、実際にはどのようにしたいかではありません...

2
John U

ソース :RTPとは異なり、RTSPサーバーはRTPサーバーとクライアント間の接続をオンデマンドでネゴシエートします( Link )。 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 )"
    • アドレス(rtsp://Host_IP:8554/test_)によってリモートでストリームにアクセスできます(たとえば、VLCを使用)。
22
Tik0

プロセスの最後に問題がありました。次のようなものです。

  • configure:パッケージ 'gstreamer-1.0'が見つかりません
  • configure:エラー:no gstreamer-1.0> = 1.2.3(GStreamer)found

私はこの投稿で解決策を見つけました:

https://askubuntu.com/questions/384059/error-compiling-a-package-configure-error-no-gstreamer-1-0-1-0-

そして、それは完全に機能しました!!!

0
fgfernandez0321