Wie versprochen die Anleitung zum selbst kompilieren aktuellster sourcen!
Installation von Gstreamer 1.4.1, den Plugins good, bad und ugly sowie gst-rtsp-server-1.4.1 und gst-rpicamsrc
Vorraussetzung ist ein frisches Raspbian basierend auf Debian Wheezy
http://downloads.raspberrypi.org/raspbian_latest
Dauer der Prozedur ca. 8-10 Stunden
Los gehts
VORAB BENÖTIGTE PAKETE INSTALLIEREN
Code:
sudo apt-get install bison flex libglib2.0-dev autogen
GSTREAMER 1.4.0 INSTALLIEREN
Code:
su pi
cd /home/pi/
wget [URL]http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.4.1.tar.xz[/URL]
tar xvf gstreamer-1.4.1.tar.xz
cd gstreamer-1.4.1
./configure --prefix=/usr --with-package-name="GStreamer 1.4.1 BLFS" --with-package-origin="http://www.linuxfromscratch.org/blfs/view/svn/"
make
sudo make install
GSTREAMER BASE-PLUGINS INSTALLIEREN
Code:
sudo apt-get install liborc-0.4-dev
wget [URL]http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.4.1.tar.xz[/URL]
tar xvf gst-plugins-base-1.4.1.tar.xz
cd gst-plugins-base-1.4.1/
./configure --prefix=/usr --with-package-name="GStreamer Base Plugins 1.4.1 BLFS" --with-package-origin="http://www.linuxfromscratch.org/blfs/view/svn/"
make
sudo make install
GSTREAMER PLUGIN-GOOD INSTALLIEREN
Code:
wget [URL]http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.4.1.tar.xz[/URL]
tar xvf gst-plugins-good-1.4.1.tar.xz
cd gst-plugins-good-1.4.1/
./configure --prefix=/usr --with-package-name="GStreamer Good Plugins 1.4.1 BLFS" --with-package-origin="http://www.linuxfromscratch.org/blfs/view/svn/"
make
sudo make install
GSTREAMER PLUGIN-BAD INSTALLIEREN
Code:
wget [URL]http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.4.1.tar.xz[/URL]
tar xvf gst-plugins-bad-1.4.1.tar.xz
cd gst-plugins-bad-1.4.1
./configure --prefix=/usr --with-package-name="GStreamer Bad Plugins 1.4.1 BLFS" --with-package-origin="http://www.linuxfromscratch.org/blfs/view/svn/"
make
sudo make install
GSTREAMER PLUGIN-UGLY INSTALLIEREN
Code:
wget [URL]http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.4.1.tar.xz[/URL]
tar xvf gst-plugins-ugly-1.4.1.tar.xz
cd gst-plugins-ugly-1.4.1
./configure --prefix=/usr --with-package-name="GStreamer Ugly Plugins 1.4.1 BLFS" --with-package-origin="http://www.linuxfromscratch.org/blfs/view/svn/"
make
sudo make install
GST-RTSP SERVER INSTALLIEREN
Code:
wget [URL]http://gstreamer.freedesktop.org/src/gst-rtsp/gst-rtsp-server-1.4.1.tar.xz[/URL]
tar xvf gst-rtsp-server-1.4.1.tar.xz
cd gst-rtsp-server-1.4.1
./configure
make
RPICAMSRC INSTALLIEREN
Code:
echo "export GST_PLUGIN_PATH=/usr/lib/gstreamer-1.0/" >> /home/pi/.profile
git clone [URL]https://github.com/thaytan/gst-rpicamsrc.git[/URL]
cd gst-rpicamsrc/
./autogen.sh --prefix=/usr --libdir=/usr/lib/arm-linux-gnueabihf/
make
sudo make install
sudo reboot
Benutzung
Windows Gstreamer SDK herunterladen und installieren (full)
64 Bit:
http://gstreamer.freedesktop.org/data/pkg/windows/1.4.1/gstreamer-1.0-x86_64-1.4.1.msi
32 Bit:
http://gstreamer.freedesktop.org/data/pkg/windows/1.4.1/
Variante 1 Direkter Stream auf Windows PC
Eingabeaufforderung des Windows rechners öffnen und in den bin Ordner vom Gstreamer navigieren
Bei mir liegt er unter d:\gstreamer\1.0\x86_64\bin
Windows Pipe eingeben:
Code:
gst-launch-1.0 -e -v udpsrc port=9000 ! application/x-rtp, payload=96 ! rtpjitterbuffer ! rtph264depay ! avdec_h264 ! fpsdisplaysink sync=false text-overlay=false
Danach mit Putty per ssh zum Pi verbinden und die Linux Pipe eingeben:
Code:
raspivid -n -w 1280 -h 720 -b 6500000 -fps 49 -vf -hf -t 0 -pf high -o - | gst-launch-1.0 -v fdsrc ! h264parse ! rtph264pay ! udpsink host=sledge-pc port=9000
Auf dem Windows Rechner öffnet sich nun ein Fenster mit dem Videostream. Auf meinem Notebook habe ich so eine Latenz um die 100 ms!
Variante 2 Stream am rtsp Server abholen
Mit Putty per ssh zum Pi verbinden.
rtsp Server starten:
Code:
/home/pi/gst-rtsp-server-1.4.1/examples/test-launch "(rpicamsrc bitrate=8500000 hflip=true vflip=true preview=false ! video/x-h264,width=1280,height=720,framerate=45/1,profile=high ! h264parse ! rtph264pay name=pay0 pt=96 )"
Am windows Rechner Console öffnen und in den gstreamer Ordner navigieren
Stream starten (IP auf die IP des Raspberry ändern!):
Code:
gst-launch-1.0.exe rtspsrc location=rtsp://192.168.178.119:8554/test latency=0 ! application/x-rtp, payload=96 ! rtpjitterbuffer ! rtph264depay ! avdec_h264 ! fpsdisplaysink sync=false text-overlay=false
Auf meinem Notebook habe ich leider eine Latenz von 2 Sekunden
Alternativ Stream per VLC Player starten
VLC öffnen -> Medien -> Netzwerkstream öffnen -> Adresse eingeben: (Wieder auf die Ip des Raspberry achten!)
Code:
rtsp://192.168.178.119:8554/test
Mit VLC habe ich sogar 4 Sekunden Latenz
Hierfür wird sich aber sicher auch noch irgend eine Lösung finden lassen.
Die Variante mit dem rtsp Server hat den Charme, dass sich auch Gäste mit nahezu beliebigen Geräten in den Stream einklinken können. Darüber hinaus kann man den Server bequem beim Systemstart starten und muss nicht erst auf einen Clienten warten.