2017-04-17 1 views
0

Je suis en train de créer un simple pipeline gstreamer1-0 qui code et décode h264 une source webcam en utilisant, espérons-le, les éléments les plus basiques possibles. J'ai déjà (théoriquement) toutes les bibliothèques gstreamer standard, bonnes, mauvaises et moche installées. J'ai utilisé le mot «Théoriquement» parce que je n'ai pas de privilèges root et je dois demander au service informatique de télécharger/installer chaque bibliothèque dont j'ai besoin et c'est assez pénible.Pipeline simple de codage et de décodage avec gstreamer?

J'ai essayé le pipeline suivant, mais cela n'a pas fonctionné:

gst-launch-1.0 v4l2src ! autovideoconvert ! x264enc bitrate=256 ! decodebin ! autovideosink 

Je reçois la sortie suivante:

Setting pipeline to PAUSED ... 
Pipeline is live and does not need PREROLL ... 
Setting pipeline to PLAYING ... 
New clock: GstSystemClock 
Redistribute latency... 
Missing element: H.264 decoder 
ERROR: from element /GstPipeline:pipeline0/GstDecodeBin:decodebin0: Your GStreamer installation is missing a plug-in. 
Additional debug info: 
gstdecodebin2.c(3977): gst_decode_bin_expose(): /GstPipeline:pipeline0/GstDecodeBin:decodebin0: 
no suitable plugins found 
Execution ended after 0:00:01.795803500 
Setting pipeline to PAUSED ... 
Setting pipeline to READY ... 
Setting pipeline to NULL ... 
Freeing pipeline ... 

Ainsi, selon que je manque un bloc à mon plugin pour décoder h264 à droite?

Maintenant, j'ai lu ce forum et je ne sais pas comment installer le bloc décodeur. Si quelqu'un peut m'expliquer comment faire cela pour faire fonctionner ce simple pipeline? Plus l'explication est élaborée, mieux c'est, car plus tard je dois transmettre cette explication à l'informatique et en français, donc j'insiste: ce sera une douleur énorme.

TY.

Répondre

2

Il se peut que vous manquiez le plugin décodeur h264. Vous pouvez le vérifier avec

gst-inspect-1.0 | grep 264 

Le décodeur qui est généralement utilisé est avdec_h264

Cela liste les plug-ins en rapport avec H264. Si vous n'avez pas de décodeurs, vous devrez installer les paquets gst-libav.

+0

Oui, j'ai essayé et je ne l'ai pas vu ... Le plus reconnaissant pour les informations de paquetage avdec_h264 et gst-libav. Je vais regarder dans cela. Est-ce que le mot avdec_h264 avec le bloc x264enc ou dois-je utiliser le bloc de codage avdec_h264 correspondant? EDIT: Voici ce que je reçois quand je n'inspectez: x264: x264enc: x264enc udp: rtph264depay: RTP H264 depayloader udp: rtph264pay: RTP H264 payloader videoparsersbad: h264parse: analyseur H.264 de typefindfunctions: vidéo/x-h264: h264, x264, 264 – user3521388

+0

Oui, il vous manque un décodeur h264. avdec_h264 fonctionnera bien avec x264enc. Je suppose que le paquet gst-libav a un autre encodeur pour h264 mais x264enc est ok. –

+0

Génial, merci beaucoup ... Je vais essayer et revenir à vous dès que je peux ... btw, comment puis-je sélectionner la réponse? Est-ce nécessaire s'il n'y en a qu'un? xD – user3521388