Wie kann ich GStreamer gst-omx installieren?


16

Ich hatte in der letzten Woche die härteste Zeit damit, das GST-OMX-Plugin mit GSTREAMER auf dem Raspberry PI zum Laufen zu bringen.

Ich frage mich, ob jemand hier es getan hat und mir zeigen könnte, wie?

Ich habe Wheezy installiert, da es git://git.collabora.co.uk/git/user/gkiagia/gst-omx0.10-debian.giteine Testversion von Gstreamer benötigt.

Gstreamer funktioniert einwandfrei mit den normalen Plugins auf der Himbeere, daher keine Hardwarebeschleunigung.

Sobald ich gst-omx installiert habe, taucht es in der Blacklist für gstreamer auf und ich stecke völlig fest, da meine Linux-Kenntnisse sehr begrenzt sind und das Debuggen für mich unmöglich ist.


Können Sie etwas ausführen? Was geht nicht
Jivings

Können Sie uns auch sagen, wozu Sie das brauchen? Vielleicht gibt es eine bessere Alternative, die Sie verwenden könnten.
Jivings

2
Alles was ich brauche ist ein Kommandozeilen-Video / Audio-Player. Damit ich den Code aus meinem Code heraus aufrufen und auf eine Mediendatei verweisen kann, lasse ich ihn wiedergeben und kehre dann zum Code zurück. Ich denke, ich habe es überkompliziert und ich sollte versuchen, das hallo_video mit dem hallo_audio-Beispiel zusammenzuführen. Ich dachte, Gstreamer wäre einfacher, weil es ein Framework ist, anstatt zu lernen, wie man OpenIL codiert, aber ich glaube nicht, dass das Framework noch alles ist.
user185955

Ich denke, was Sie sehen müssen, ist diese Frage! raspberrypi.stackexchange.com/questions/100/…
Jivings

1
Das Problem mit omxplayer ist, dass das Laden eines Videos sehr lange dauert, wie im Beispiel hello_video fast augenblicklich. Ich muss viele Videos nacheinander abspielen, wenn ich den Omx-Player verwenden würde, würde es große Lücken zwischen den Dateien geben, die nicht funktionieren. Aus diesem Grund versuche ich, gstreamer zu verwenden oder hello_audio und hello_video irgendwie zusammenzuführen ... Da ich die Videos selbst codiere, wird es immer der gleiche Codec sein.
user185955

Antworten:


8

Details von Raspberry Pi Forumbeitrag

Besorgen und installieren Sie ggf. rpi-update

sudo wget http://goo.gl/1BOfJ -O /usr/bin/rpi-update && sudo chmod +x /usr/bin/rpi-update
sudo apt-get -y install git-core

Aktualisieren Sie auf die neuesten Pakete und Firmware

sudo apt-get update
sudo apt-get upgrade -y
sudo rpi-update
sudo reboot

Holen Sie sich gst-omx-Quelle aus dem Himbeer-Zweig

cd $HOME 
git clone -b 0.10 git://anongit.freedesktop.org/gstreamer/gst-omx

Installieren Sie die Gstreamer-Pakete und die zum Erstellen von omx erforderlichen Pakete

sudo apt-get install -y autoconf gtk-doc-tools libtool 

Erstellen Sie das Konfigurationsskript automatisch, konfigurieren, erstellen und installieren Sie gst-omx

cd gst-omx
./autogen.sh --noconfigure
./configure --prefix=/home/pi/omx
make 
make install

Richten Sie die gst-omx-Umgebung für den pi-Benutzer ein

cp  omx/gstomx-raspberry.conf $HOME/omx/lib/gstreamer-0.10/gstomx.conf
cd $HOME
echo -e \\n# Gstreamer environment >> .profile
echo export GST_PLUGIN_PATH=$HOME/omx/lib/gstreamer-0.10/ >> .profile
echo export GST_OMX_CONFIG_DIR=$HOME/omx/lib/gstreamer-0.10/ >> .profile
echo export LD_LIBRARY_PATH=$HOME/omx/lib/gstreamer-0.10/ >> .profile
. ./.profile

Installieren Sie die GStreamer-Tools

sudo apt-get install gstreamer0.10-tools

Stellen Sie sicher, dass gst-omx korrekt installiert wurde.

Wenn es den folgenden Befehl hat, sollten diese Plug-Ins angezeigt werden:

> gst-inspect-0.10 | grep omx
openmax  omxmpeg4videodec: OpenMAX MPEG4 Video Decoder
openmax  omxh264dec: OpenMAX H.264 Video Decoder

Probleme mit der Sperrung von omxmpeg-Plug-ins

Es gibt einen Konflikt mit omx und gstreamer-plugins-bad, daher wurde die schwarze Liste wie folgt gelöscht:

sudo aptitude remove libgstreamer-plugins-bad0.10-0

Aktivieren Sie das omxh264enc-Plugin für die Hardware-H.264-Codierung

Dieses Plugin scheint defekt zu sein, aber hier erfahren Sie, wie Sie es aktivieren. Fügen Sie $ GST_OMX_CONFIG_DIR / gstomx.conf Folgendes hinzu

[omxh264enc]
type-name=GstOMXH264Enc
core-name=/opt/vc/lib/libopenmaxil.so
component-name=OMX.broadcom.video_encode
rank=256
in-port-index=200
out-port-index=201
hacks=no-empty-eos-buffer;no-component-role

Nach einem Anon Benutzer hat der git branch Name geändert, so unter Get gst-omx Quelle aus der Himbeere Zweig , git clone -b raspberrysollte sein git clone -b 0.10. Das habe ich nicht bestätigt.
Goldlöckchen

Wie kann ich gstreamer verwenden, um Videos vom CSI-Kameramodul an nginx-rtmp zu senden?
WillyWonka

4

Fügen Sie diese Repo-Zeile in ein /etc/apt/sources.list

deb http://vontaene.de/raspbian-updates/ . Main

Dann einfach ....

sudo apt-get update
sudo apt-get install gstreamer1.0

Dieses Drittanbieter-Repository wird von einem Mitglied außerhalb der Pi-Foren gehostet . Sie kompilieren die neuesten Versionen des gst-omx-Projekts und veröffentlichen die Dateien dort.

Mit diesem Befehl können Sie überprüfen, ob die Hardware-Funktionen des Pi erkannt wurden

gst-inspect-1.0 | grep omx

Bildbeschreibung hier eingeben


1
Ab sofort ist dies die schnellste und einfachste Methode. Das Kompilieren wie unten in Unkle Georges Antwort beschrieben hat bei mir nicht funktioniert, da einige Abhängigkeiten veraltet waren.
PTS

4

Ab April 2015 enthalten die Raspbian-Repositorys GStreamer 1.2 und die OpenMAX-Plugins. Der einfachste Weg ist also die Antwort von ppumkin, jedoch ohne Bearbeitung /etc/apt/sources.list:

sudo apt-get update
sudo apt-get install gstreamer1.0

dann erkundigen Sie sich bei:

gst-inspect-1.0 | grep omx

Ich habe nicht gstreamer1.0im Repository. Wie füge ich es hinzu?
shrx

Es gibt kein Paket gstreamer1.0, aber apt-get sollte es als regulären Ausdruck verwenden und alle gstreamer1.0 ... -Pakete herunterladen. Zeigt apt-cache search ^gstreamer1.0irgendwelche Pakete?
M. Rubio-Roy

Es werden gstreamer-bezogene Pakete gefunden. Ich dachte nur, es sollte ein tatsächliches gstreamer1.0Deb-Paket geben, das alle grundlegenden gstreamer-Pakete enthält.
shrx
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.