Apakah mungkin untuk streaming H.264 dengan RTSP di Raspberry Pi?

9

Saya mencoba mengatur sistem konferensi video dengan menggunakan dua papan Raspberry Pi.

Bagaimana saya bisa melakukan streaming protokol H.264 melalui protokol streaming real-time melalui koneksi Ethernet?

OS mana yang harus saya gunakan untuk mengembangkan pada papan Raspberry Pi?

sujal
sumber
nginx dengan rtmp-module benar-benar layak tetapi juga CRTMPServer sangat baik dan stabil. Saya berhasil mendapatkan penundaan sub 1 detik dengan kedua solusi. Ditampilkan di buku saya atau sebagian di blog saya
Piotr Kula
Periksa UV4L di linux-projects.org . Ini juga mendukung video yang dikodekan hardware H264, realtime, fps penuh, penggunaan CPU minimal.
prinxis

Jawaban:

4

EDIT: Ini bukan dengan RTSP tetapi dapat membantu Anda

Anda dapat mencoba dengan Cara streaming video dan audio dari Raspberry Pi tanpa latensi .

Instal gstreamer1.0 di server video Raspberry Pi:

  1. Di /etc/apt/sources.list, tambahkan "deb http://vontaene.de/raspbian-updates/ . Main"
  2. sudo apt-get update
  3. sudo apt-get install gstreamer1.0

Mulai streaming video

  1. Di Raspberry Pi dengan perintah:

    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
    

Mulai menerima video

  1. Di PC Anda, ketikkan perintah:

    gst-launch-1.0 -v tcpclientsrc host=VIDSERVERIP port=5000 ! gdpdepay ! rtph264depay ! avdec_h264 ! videoconvert ! autovideosink sync=false
    
inye
sumber
Anda juga harus menginstal perangkat lunak pada klien Anda agar ini berfungsi. Pada OS X:brew install gstreamer gst-libav gst-plugins-ugly gst-plugins-base gst-plugins-bad gst-plugins-good
ThomasW
1
Ini tidak menggunakan RTSP.
Alistair Buxton
Apa yang secara teknis digunakan ini?
Łukasz Zaroda
2

Saya memposting solusi yang mungkin di forum raspberry menggunakan server RTSP sederhana berdasarkan live555 yang diberi makan dengan driver H264 V4L2 yang dapat Anda temukan dari github h264_v4l2_rtspserver

mpromonet
sumber
1

Ada sumber khusus yang disebut nginx-rtmp - Ini berfungsi sangat baik tetapi Anda perlu melakukan banyak hal sebelum berfungsi. Ini luar biasa karena memiliki banyak fitur bawaan dan mendukung protokol streaming lainnya, seperti HLS atau menanamkan MPEG-DASH ke situs web, bukan hanya RTMP. Ini sangat efisien dalam mengemas ulang aliran video ke flv atau mp4.

Berikut adalah posting blog tentang cara membuatnya berfungsi .

Satu-satunya prasyarat serius adalah ffmpeg perlu dikompilasi di Rasbpian (Jangan gunakan repo yang lambat) dari fork terbaru. Saya pikir pada Arch memiliki ffmpeg yang benar. Ini membutuhkan waktu 5 jam pada Pi. Coba dan temukan versi yang dikompilasi atau gunakan qemo untuk melakukan kompilasi silang.

Tetapi singkatnya menggunakan nginx 1.4.1 (Anda dapat mencoba yang lebih baru jika perlu)

 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  

Anda perlu mendapatkan dependensi (periksa tautan ke blog) untuk membangun dan nginx. Kemudian Anda mengkonfigurasi build di dalam sumber nginx yang menghubungkan ke modul rtmp. Membangun membutuhkan 10 menit pada Pi.

 ./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 \  

Versi terbaru dari Raspbian termasuk driver UV4L yang memperbaiki PSIPS (kerangka waktu untuk h264 yang rusak di driver raspivid asli.) Jadi itu harus memperbaiki cukup membagikan masalah streaming sekarang.

Piotr Kula
sumber
-1

Inilah resep untuk memulai: Mengirim dan menerima video PI Camera melalui jaringan

hendry
sumber
1
Dua baris pertama dalam artikel itu adalah bagaimana melakukan streaming video dalam baris perintah, yang ok, tetapi tidak benar-benar kuat dan tidak menjelaskan banyak hal yang terjadi dengan semua pipa! Tetapi sisa artikel tidak benar-benar berhubungan dengan pertanyaan OP. Pendek, jawaban berdasarkan tautan juga disukai. Pertimbangkan sedikit meningkatkan jawaban Anda. Downvotes dapat dikonversi menjadi upvotes setelah Anda mengedit jawaban Anda.
Piotr Kula