Raspberry PiでRTSPを使用してH.264をストリーミングすることは可能ですか?


9

2つのRaspberry Piボードを使用して、ビデオ会議システムをセットアップしようとしています。

イーサネット接続を介してリアルタイムストリーミングプロトコルでH.264プロトコルをストリーミングするにはどうすればよいですか?

Raspberry Piボードでの開発にはどのOSを使用すればよいですか?


nginxとrtmp-moduleは本当にまともですが、CRTMPServerもまともで安定しています。どちらのソリューションでも1秒未満の遅延が発生しました。私の本または私のブログで部分的に
示さ

linux-projects.orgでUV4Lを確認してください。また、H264ハードウェアエンコードビデオ、リアルタイム、フルfps、最小CPU使用率もサポートします。
prinxis

回答:


4

編集:これはRTSPではありませんが、役立つ場合があります

待ち時間なしでRaspberry Piからビデオとオーディオをストリーミングする方法を試すことができます。

Raspberry Piビデオサーバーにgstreamer1.0をインストールします。

  1. /etc/apt/sources.listに、「deb http://vontaene.de/raspbian-updates/。main」を追加します
  2. sudo apt-get update
  3. sudo apt-get install gstreamer1.0

ビデオのストリーミングを開始する

  1. コマンドを使用したRaspberry Piで:

    raspivid -t 0 -w 1080 -h 720 -fps 25 -hf -b 2000000 -o - | gst-launch-1.0 -v fdsrc ! h264parse ! rtph264pay config-interval=1 pt=96 ! gdppay ! tcpserversink host=VIDSERVERIP port=5000
    

ビデオの受信を開始します

  1. PCで次のコマンドを入力します。

    gst-launch-1.0 -v tcpclientsrc host=VIDSERVERIP port=5000 ! gdpdepay ! rtph264depay ! avdec_h264 ! videoconvert ! autovideosink sync=false
    

これを機能させるには、クライアントにソフトウェアをインストールする必要もあります。OS Xの場合:brew install gstreamer gst-libav gst-plugins-ugly gst-plugins-base gst-plugins-bad gst-plugins-good
ThomasW

1
これはRTSPを使用しません。
Alistair Buxton 2015

技術的にこれはどのような用途ですか?
ルカシュZaroda


1

nginx-rtmpと呼ばれるカスタムソースがあります-これは非常にうまく機能しますが、機能する前にかなりのことを行う必要があります。内蔵機能が豊富で、RTS だけでなく、HLSやWebサイトへのMPEG-DASHの埋め込みなど、他のストリーミングプロトコルをサポートしているので、すばらしいです。ビデオストリームをflvまたはmp4に再パッケージする際に非常に効率的です。

これを機能させる方法についてのブログ投稿があります

唯一の深刻な前提条件は、ffmpegを最新のフォークからRasbpianでコンパイルする必要があることです(遅いリポジトリを使用しないでください)。Archでは正しいffmpegがあると思います。これはPiで5時間かかります。コンパイル済みのバージョンを試すか、qemoを使用してクロスコンパイルします。

しかし、簡単に言えば、nginx 1.4.1を使用します(必要に応じて、より新しく試すことができます)

 cd /usr/scr  
 #clone the latest version of rtmp module for nginx  
 git clone git://github.com/arut/nginx-rtmp-module.git  
 #download nginx source tested with- 1.4.1  but 1.5.0 is also supported
 wget http://nginx.org/download/nginx-1.4.1.tar.gz  
 tar xzf nginx-1.4.1.tar.gz  
 cd nginx-1.4.1  

ビルドとnginxの依存関係を取得する必要があります(ブログへのリンクを確認してください)。次に、rginモジュールにリンクするnginxソース内のビルドを構成します。ビルドはPiで10分かかります。

 ./configure --prefix=/var/www \  
             --sbin-path=/usr/sbin/nginx \  
             --conf-path=/etc/nginx/nginx.conf \  
             --pid-path=/var/run/nginx.pid \  
             --error-log-path=/var/log/nginx/error.log \  
             --http-log-path=/var/log/nginx/access.log \  
             --with-http_ssl_module \  
             --without-http_proxy_module \  
             --add-module=/usr/src/nginx-rtmp-module \  

Raspbianの最新バージョンには、PSIPSを修正するUV4Lドライバーが含まれています(元のraspividドライバーで壊れていたh264のタイムフレームの埋め込み)。これにより、ストリーミングに関する多くの問題が修正されます。


-1

1
その記事の最初の2行は、コマンドラインでビデオをストリーミングする方法です。これは問題ありませんが、実際には堅牢ではなく、すべてのパイプで何が行われているのかをあまり説明していません。しかし、記事の残りの部分は、OPの質問に実際には関係していません。短い、リンクベースの回答も眉をひそめています。答えを少し強化することを検討してください。回答を編集した後、反対票を賛成票に変換できます。
Piotr Kula 14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.