Comment puis-je installer GStreamer gst-omx?

16

J'ai eu le plus de mal au cours de la semaine dernière à essayer de faire fonctionner le plugin gst-omx avec gstreamer sur le Raspberry PI.

Je me demande si quelqu'un ici l'a fait et pourrait me montrer comment?

J'ai installé Wheezy as a git://git.collabora.co.uk/git/user/gkiagia/gst-omx0.10-debian.gitbesoin d'une version de test de gstreamer.

Gstreamer fonctionne bien sur la framboise en utilisant les plugins normaux, donc pas d'accélération matérielle.

Une fois que j'ai installé gst-omx, il apparaît dans la liste noire de gstreamer et je suis complètement bloqué car mes connaissances Linux sont très limitées, donc le débogage est impossible pour moi.

user185955
la source
Pouvez-vous élaborer un peu? Qu'est-ce qui ne marche pas?
Jivings
Pouvez-vous également nous dire pourquoi vous en avez besoin? Il existe peut-être une meilleure alternative que vous pourriez utiliser.
Jivings
2
Tout ce dont j'ai besoin, c'est d'un lecteur vidéo / audio en ligne de commande. Pour que de l'intérieur de mon code, je puisse appeler le code et le pointer vers un fichier multimédia, le laisser jouer puis revenir au code. Je pense que je l'ai trop compliqué et je devrais essayer de fusionner hello_video avec l'exemple hello_audio. Je pensais que gstreamer serait plus facile car c'est un framework au lieu d'apprendre à coder OpenIL, mais je ne pense pas que le framework soit encore là.
user185955
Je pense que ce que vous devez regarder est cette question! raspberrypi.stackexchange.com/questions/100/…
Jivings
1
Le problème avec omxplayer est qu'il faut beaucoup de temps pour charger une vidéo, alors que l'exemple hello_video le fait presque instantanément. J'aurai besoin de lire beaucoup de vidéos les unes après les autres, si je devais utiliser omx player, j'aurais de grands écarts entre les fichiers qui ne fonctionneraient pas. C'est pourquoi je cherche à utiliser gstreamer ou à fusionner en quelque sorte hello_audio et hello_video ... Parce que mal encoder les vidéos moi-même, ce sera toujours le même codec.
user185955

Réponses:

8

Détails du message du forum Raspberry Pi

Obtenez et installez rpi-update si nécessaire

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

Mise à niveau vers les derniers packages et micrologiciels

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

Obtenez la source gst-omx de la branche framboise

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

Installez les packages Gstreamer et les packages requis pour construire omx

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

Générez automatiquement le script de configuration, configurez, créez et installez gst-omx

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

Configurer l'environnement gst-omx pour l'utilisateur pi

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

Installer les outils GStreamer

sudo apt-get install gstreamer0.10-tools

Vérifiez que gst-omx a été installé correctement.

S'il a la commande suivante, il doit afficher ces plug-ins:

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

Problèmes avec les plug-ins omxmpeg sur liste noire

Il y a un conflit avec omx et gstreamer-plugins-bad, donc ce qui suit a effacé la liste noire:

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

Activer le plugin omxh264enc pour le codage matériel h.264

Jusqu'à présent, ce plugin semble être cassé, mais voici comment l'activer. Ajoutez ce qui suit à $ GST_OMX_CONFIG_DIR / gstomx.conf

[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
Unkle George
la source
Selon un utilisateur anon, le nom de la branche git a changé, donc sous Get gst-omx source from the raspberry branch , git clone -b raspberrydevrait être git clone -b 0.10. Je n'ai pas confirmé cela.
goldilocks
Comment puis-je utiliser gstreamer pour envoyer de la vidéo à nginx-rtmp à partir du moudule de la caméra CSI ??
WillyWonka
4

Ajoutez cette ligne de repo dans /etc/apt/sources.list

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

Alors simplement ...

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

Ce référentiel tiers est hébergé par un membre hors des forums Pi . Ils compilent les dernières versions du projet gst-omx et y publient les fichiers.

Vous pouvez vérifier s'il a reconnu les capacités matérielles du Pi en utilisant cette commande

gst-inspect-1.0 | grep omx

entrez la description de l'image ici

Piotr Kula
la source
1
C'est maintenant la méthode la plus rapide et la plus simple. Compiler comme décrit ci-dessous dans la réponse de Unkle George n'a pas fonctionné pour moi car certaines dépendances étaient obsolètes.
PTS
4

Depuis avril 2015, les référentiels Raspbian incluent GStreamer 1.2 et les plugins OpenMAX, donc le moyen le plus simple est la réponse de ppumkin mais sans modification /etc/apt/sources.list:

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

vérifiez ensuite avec:

gst-inspect-1.0 | grep omx
M. Rubio-Roy
la source
Je n'ai pas gstreamer1.0dans le référentiel. Comment puis-je l'ajouter?
2015 à 7h44
Il n'y a pas de paquet gstreamer1.0 mais apt-get devrait l'utiliser comme expression régulière et télécharger tous les paquets gstreamer1.0 .... Affiche apt-cache search ^gstreamer1.0des packages?
M. Rubio-Roy
Il trouve des paquets liés à gstreamer, je pensais juste qu'il devrait y avoir un vrai gstreamer1.0paquet deb qui inclurait tous les paquets de base de gstreamer.
2015