2011-11-09 4 views
2

J'ai un fichierrc connecté à un élément de typefind. Sur le signal "avoir-type" j'imprime les capacités. Que puis-je faire avec cette information? I.e:GStreamer: Utilisation du type find

"Media type video/mpeg, systemstream=(boolean)false, mpegversion=(int)4, parsed=(boolean)false found, probability 79%" 

Puis-je rechercher des éléments compatibles ou dois-je traiter ceci manuellement? Comment puis-je décider quel devrait être le prochain élément dans le pipeline?

Aussi, s'il vous plaît ne pas suggérer d'utiliser playbin2 - il ne convient pas pour mon application.

Merci!

Répondre

1

Ceci vous indique au moins ce qui est dans votre fichier. Vous pouvez maintenant connecter un demux (en fonction des informations de typefinds) et utiliser le signal "pad-added" des démultiplexeurs pour traiter les flux multimédia à l'intérieur. (Jusqu'à ce qu'il dit « sans plus-pads »)

http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/section-dynamic.html

+0

Peut typefind informations être utilisé comme « GstPluginFeature » (mentionné dans le lien) - Je pense que ce que je pourrais être à la recherche ... – user975326

1
uridecode2 ,playbin2 ,decodebin2 

ce sont tous signifie que vous avez juste besoin d'auto-fouloirs pour donner un nom de fichier d'entrée, ils vont créer automatiquement pipeline pour cela. D'abord, ils prennent l'élément filesrc et ouvrent ce fichier et, selon certaines informations d'en-tête, ils fixent des limites de filesrc.

maintenant en fonction des bouchons de pad src de filesrc suivant démultiplexeur va trouver de registery et il est lié ... et ainsi de suite

et je pense que vous allez à une sorte de ces choses dans votre application donc je vous suggère un coup d'oeil dans ce code source de autoplugger ..

début avec le code playbin2 ..

+1

Merci encore Mr.32, +1 pour l'utilité. Je ne suis pas sûr si je peux encore accepter cela comme une réponse. Je vais jeter un coup d'oeil à la source et voir ce que je viens avec. Cordialement. – user975326

+0

une autre bonne option est de préparer le pipeline avec ces autopluggers et activer --gst-debug = 5 et vider tous les journaux dans le fichier et les étudier .. il vous aidera également à comprendre cela –