2010-02-21 2 views
2

Je suis en train de entrelacer deux fichiers audio comme indiqué dans la documentation GStreamer entrelacée:GStreamer: entrelacer 2 Audios - erreur de lien

gst-launch interleave name=i ! audioconvert ! wavenc ! filesink location=file.wav filesrc location=file1.wav ! \ 
decodebin ! audioconvert ! "audio/x-raw-int,channels=1" ! queue ! i.sink0 filesrc location=file2.wav ! \ 
decodebin ! audioconvert ! "audio/x-raw-int,channels=1" ! queue ! i.sink1 

Mais l'exécution de cette commande donne l'erreur suivante:

0:00 : 00,125000000 2264 00332BC0 erreur GST_PIPELINE grammar.tab.c: 656: gst_parse_perform_link: impossible de lier un queue0 i

Si je supprime la deuxième filesrc commandes liées à savoir toute la commande après « l'emplacement de filesrc = file2.wav, la commande se exécute bien . Quel est le problème avec la commande ci-dessus?

Merci

Répondre

0

essayer

gst-launch interleave name=i ! audioconvert ! wavenc ! filesink location=file.wav filesrc location=file1.wav ! \ 
decodebin ! audioconvert ! "audio/x-raw-int,channels=1" ! queue ! i. filesrc location=file2.wav ! \ 
decodebin ! audioconvert ! "audio/x-raw-int,channels=1" ! queue ! i. 

les plaquettes de puits pour l'élément entrelacée sont demande seulement, donc je parie que le pavé i.sink0 n'existe pas quand gst-launch tente de relier les éléments . en laissant une seule période (i.) dit à gst-launch d'essayer tous les pads jusqu'à ce que celui-ci soit trouvé. Pour n'importe quoi mais les exemples les plus basiques, vous feriez mieux de créer le pipeline manuellement dans un langage de haut niveau facile comme python.

voir aussi

man gst-launch