µ±Ç°Î»ÖãºLinux½Ì³Ì - Linux×ÊѶ - ʹÓà GStreamer ½øÐжàÓÃ;µÄ¶àýÌå´¦Àí

ʹÓà GStreamer ½øÐжàÓÃ;µÄ¶àýÌå´¦Àí

±¾ÎÄÏòÄú½éÉÜ GStreamer£¬ËüÊÇÒ»ÖÖͨÓõĶàýÌå´¦Àí¿â£¬¿ÉÒÔʹµÃ¶àýÌå´¦Àí¸ü¼ÓÈÝÒס£

    ¶àýÌ壬ÒÀÕÕÆ䶨Ò壬±íʾ¸÷ÖÖ¸÷ÑùµÄýÌåÀàÐÍ¡£Äú¿ÉÒÔ¸÷ÖÖ¸ñʽ´æ´¢ÒôƵ¡¢ÊÓƵºÍÔªÊý¾Ý¡£È»¶ø£¬ÕâÒ²¾ÍÒâζ×ÅҪʹÓÃÐí¶à¹¤¾ßÀ´´¦ÀíÕâЩ²»Í¬µÄÄÚÈÝ¡£

    GStreamer ¿ÉÒÔΪÄúÌṩ°ïÖú¡£Í¨¹ý½«ËùÓв»Í¬µÄ¹¤¾ßºÍ¿âÒþ²Øµ½ËüµÄ²å¼þÖУ¬ÒÔ¼°Ê¹ÓÃýÌå¹ÜµÀ Õâ¸öÒ»°ãÐÔ¸ÅÄGStreamer ÄÜÒÔÒ»ÖÖͳһµÄ·½Ê½±íʾ¶Ô²»Í¬ÀàÐÍýÌåËù½øÐеIJÙ×÷¡£ÕâʹµÃÄúÄܹ»½«¾«Á¦¼¯ÖÐÓÚÏÖÓеÄýÌ壬¶ø²»ÊÇÀ§»óÓÚ¾¿¾¹Ó¦¸ÃʹÓÃʲôÑùµÄ¹ÜµÀ¡£

    ÕâÖÖͳһ´¦Àí·½·¨µÄÓŵãÏÔ¶øÒ×¼û¡£Äú¿ÉÒÔ±àдÒôÀÖ »òÊÓƵ ²¥·ÅÆ÷£¬¶ø²»ÊDZàд mp3 ²¥·ÅÆ÷»òÕß AVI/DivX ²¥·ÅÆ÷¡£µ±ÄúÏ£ÍûÖ§³ÖÁíÒ»ÖÖ¸ñʽʱ£¬ÎÞÐè½øÐÐÉîÈëµÄÑо¿²¢ÎªÐµĿâ±àд´úÂë¡£Ïà·´£¬½öÐèÒª°²×°ÕâÖÖ¸ñʽµÄ²å¼þ¾Í¿ÉÒÔÁË¡£¾ÍÊÇÕâô¼òµ¥£¬ÉõÖÁ²»ÐèÒª½øÐÐÖØбàÒë¡£ËùÓÐµÄ GStreamer Ó¦ÓóÌÐò¶¼¿ÉÒÔÔÚÔËÐеĹý³ÌÖвÉÓÃеĸñʽ¡£

    GStreamer ¿ÉÒÔ½â¾öÐí¶àÎÊÌ⣬±ÈÈç¡°ÐèÒª´æ´¢À´×Ô²»Í¬À´Ô´¾ßÓÐÏàͬ¸ñʽµÄËùÓÐÒôƵ²ÉÑù¡±¡£ÒòΪ¶ÔËùÓеĸñʽ½øÐÐÏàËƵĴ¦Àí£¬ËùÒÔÄúÖ»ÐèÒª±àдһ¸ö¹¤¾ß¡£Õ⽫½Úʡʱ¼ä£¬²¢Ê¹µÃ½â¾ö·½°¸¸ü¼Ó½¡×³ÇÒ¸üÒ×ÓÚά  »¤¡£¶øÇÒ£¬ÔÚÄúÁ˽âÁË GStreamer µÄÏà¹Ø¸ÅÄîÖ®ºó£¬¼¸ºõ¿ÉÒÔ½«ËüÓ¦Óõ½Èκεط½¡£Èç¹ûÄúÒªÈÃÒôƵÐÅÏ¢Á÷¾­ÍøÂ磬ÄÇôֻÐèÒª¿¼ÂÇÕâ¸öÍøÂ磬ÒòΪÄúËùʹÓõÄÒôƵ API£¨Ó¦ÓóÌÐò±à³Ì½Ó¿Ú£©ºÍËùÓÐÆäËûµÄ²Ù×÷¶¼±£³Ö²»±ä¡£

Ïà¹Ø¸ÅÄî

    ÓÉÓÚÆä±¾ÉíµÄÌØÐÔ£¬GStreamer ±ÈÆÕͨµÄ¿âλÓÚ¸ü¸ßµÄ²ã´Î¡£Òò´Ë£¬Îñ±ØÀí½â GStreamer ¾¿¾¹ÊÇʲôÒÔ¼°ËüÄܹ»Íê³ÉÄÄЩ¹¤×÷¡£

    GStreamer ÊÇÒ»ÖÖýÌå´¦Àí¿â¡£Õâ¾ÍÒâζ×Å£¬ËüΪÄúÌṩÁËijÖÖת»»¹ý³ÌµÄ³éÏóÄ£ÐÍ£¨ÓÉÊäÈë¡¢Êä³öºÍ²»Í¬µÄ½×¶Î×é³É£©£¬²¢ÇÒÔÊÐíÄúΪÂú×ãÌØÊâµÄ×îÖÕ½á¹ûºÍÌØÊâµÄýÌåÀàÐͶø¹¹½¨ÕâÖÖת»»¹ý³ÌµÄʵÀý¡£ÏÂÃæÊÇÕâÖÖ´¦Àí¹ý³ÌµÄһЩʾÀý£º

½« MP3 ÒôƵÎļþת»»Îª Ogg Vorbis ²¥·Å AVI µçÓ°Îļþ ʹÓà IEEE1394 Êý×ÖÊÓƵ (DV) ÉãÏñ»ú²¶»ñÏÖ³¡±íÑÝ£¬²¢½«Ëü±£´æΪ MPEG-2 Á÷

    ΪÁËʵÏÖÕâЩ²»Í¬µÄ½á¹û£¬GStreamer ͨ¹ý³éÏóµÄ¹ÜµÀ¸ÅÄî½øÐй¤×÷¡£¹ÜµÀ ÊÇÒ»¸öÓÐÏòͼ£¬Ã½ÌåÔÚÕâ¸öÓÐÏòͼÖдÓÊäÈëÁ÷µ½Êä³ö¡£¹ÜµÀÓɸ÷ÖÖÔªËØ×é³É£¬¶øÔªËØÔòÊÇÁíÒ»¸öºËÐĸÅÄî¡£ÔªËØ ÊÇ¿ÉÒÔ·ÅÈëµ½¹ÜµÀÖеĶÔÏó£¬ÆäÖаü×°Á˶ÔýÌå½øÐеÄijÖÖ²Ù×÷¡£Äú¿ÉÒÔ½«²»Í¬µÄÔªËØÁ´½ÓÔÚÒ»Æð£¬ÒÔʹËüÃǹ²Í¬×é³É½«ÊäÈëת»»ÎªÐèÒªµÄÊä³öµÄÍêÕû´¦Àí¹ý³Ì¡£Í¨³££¬Ê¹ÓôÓ×ó£¨ÉÏÓΣ©µ½ÓÒ£¨ÏÂÓΣ©µÄÊý¾ÝÁ÷À´¶Ô¹ÜµÀ½øÐÐÃèÊö¡£Ê¹Óà gst-launch ÒÔͬÑùµÄ·½Ê½À´±àд¹ÜµÀ£¬¹ØÓÚ gst-launch µÄÄÚÈݽ«ÔÚ±¾ÎĺóÃæ½éÉÜ¡£

    ÇëÎñ±Ø×¢Ò⣬µ½Ä¿Ç°ÎªÖ¹£¬ËùÓеÄÄÚÈݶ¼ÊÇÍêÈ«³éÏóµÄ¡£Ã»ÓÐÉæ¼°µ½ÊÓƵ»òÒôƵ£¬Ö®ËùÒÔÕâÑù×ö£¬ÓÐÒ»¸öºÜºÃµÄÀíÓÉ¡£ÉÏÃæÃèÊöµÄÄ£ÐͲ¢²»¾ÖÏÞÓÚÈκÎÌض¨µÄýÌåÀàÐÍ¡£Ö»ÒªÄú¿ÉÒÔ½«ÆäÃèÊöΪÊäÈë¡¢Êä³öºÍת»»¹ý³Ì£¬¾Í¶¼¿ÉÒÔÀûÓùܵÀÀ´¶ÔÆä½øÐвÙ×÷¡£ÀýÈ磬×ÀÃæ¿ÉÒÔ×÷ΪýÌåÀ´Ô´£¬Äú¿ÉÒÔ¼ÖƶÔÊÓƵÎļþµÄÆÁÄ»²¥·Å¡£ÊÂʵÉÏ£¬Istanbul Ó¦ÓóÌÐòÕýÊÇÕâÑù×öµÄ£¨Çë²Î¼û²Î¿¼×ÊÁϲ¿·Ö£©¡£

    GStreamer µÄºËÐı¾Éí²¢²»°üº¬ÈκÎÔªËØ¡£ËüÖ»Ìṩ¹ØÓڹܵÀµÄ֪ʶ¡£¶øËùÓÐÌض¨µÄÄÚÈÝ£¬¶¼ÓÉÏàÓ¦µÄ²å¼þÌṩ¡£²å¼þ ÊÇÒ»¶Î¾­¹ý±àÒëµÄ´úÂ룬ͨ³£ÒÔ¶ÔÏóÎļþ£¨UNIX® É쵀 .so ºÍMicrosoft® Windows® É쵀 .dll£©µÄÐÎʽ·Ö·¢£¬¿ÉÒÔÌṩһ¸ö»ò¶à¸öÔªËØ¡£ÔÚÆô¶¯¹ý³ÌÖУ¬GStreamer ¶ÔËùÓÐÒÑ°²×°µÄ²å¼þ½øÐвéѯ£¬ÒÔ»ñÈ¡¿ÉÓÃÓÚÓ¦ÓóÌÐòµÄÒ»×éÔªËØ¡£²å¼þͨ³£¿ÉÒÔµ÷ÓÃÆäËûµÄ¿â£¬ÒÔÍê³ÉÌض¨µÄÈÎÎñ£¨ÀýÈ磬MPEG-2 ½âÂëÆ÷¿ÉÒÔʹÓÃÏÖÓеĿâÀ´´¦Àí MPEG ¸ñʽµÄÐÅÏ¢£©£¬µ«ÊÇÓ¦ÓóÌÐò²¢²»ÐèÒªÖªµÀÕâÒ»µã¡£ËüËù¿´µ½µÄÖ»ÊÇһЩÍâ¹ÛºÍ¹¤×÷·½Ê½ÏàͬµÄÔªËØ¡£

    ÓÐЩ²å¼þÒÔºËÐÄÔ´°üµÄÐÎʽ·Ö·¢£¬²¢ÇÒ½«Æä±àÒëΪ¿â£¬ÉõÖÁ´Ó¸ÅÄîÉÏ¿´£¬ËüÃÇÊÇһЩ¶ÀÁ¢µÄʵÌå¡£ÆäËûµÄ»ù±¾²å¼þÒÔ»ùÓÚ gst ²å¼þ°üµÄÐÎʽ·Ö·¢¡£ÔÚ´ó¶àÊýµÄ GStreamer °²×°ÖУ¬¶¼°üº¬ÕâЩ»ù±¾²å¼þ¡£È»ºó»¹ÓÐһЩºÃµÄ¡¢²îµÄºÍÔã¸âµÄ gst ²å¼þ°ü£¬ÆäÖУ¬¸ù¾ÝÕâЩ²»Í¬µÄ²å¼þµÃµ½µÄÖ§³Ö¼¶±ðºÍÐí¿ÉÌõ¿î¶ÔÆä½øÐÐÊÕ¼¯¡£×îºó£¬»¹ÓÐһЩÓɵÚÈý·½¹©Ó¦ÉÌ·Ö·¢»ò×¢²áרÃÅÓÃÓÚÌض¨Ó¦ÓóÌÐòµÄ²å¼þ¡£

ÈÚ»á¹áͨ

   ¼ÈÈ»ÒѾ­Á˽âÁ˹ܵÀ£¬Äú¾Í»¹ÐèÒªÁ˽âÈçºÎ½«ËüÓ³ÉäΪ GStreamer ʵÏÖ¡£Ôڴ˹ý³ÌÖУ¬Äú»¹½«Á˽⵽¸ü¶àµÄÊõÓï¡£

ΪʲôҪ½»»»Ô´ºÍ½ÓÊÕÆ÷ÄØ£¿

ʵ¼ÊÉϲ¢Ã»ÓжÔËüÃǽøÐн»»»¡£½ÓÊÕµ¥ÔªÊÇÊý¾ÝÁ÷½øÈëÔªËصĵط½£¬¶øÔ´µ¥ÔªÊÇÊý¾ÝÁ÷²úÉúµÄµØ·½¡£Òò´Ë£¬Ö»°üº¬Ô´µ¥ÔªµÄÔªËسÆΪԴ£¬¶øÖ»°üº¬½ÓÊÕµ¥ÔªµÄÔªËسÆΪ½ÓÊÕÆ÷¡£ÕâÊǷdz£·ûºÏÂß¼­µÄ£¬¼´Ê¹Õ§¿´ÉÏÈ¥¿ÉÄÜÓÐЩ±ðŤ¡£

    ÕýÈçÎÒËùÌáµ½µÄ£¬ÔªËØÊÇ´¦Àí¹ý³ÌµÄ»ù±¾µ¥Ôª£¬ÓÉ GstElement ÀàÀ´±íʾ¡£GStreamer ÊÇʹÓà C ½øÐбàдµÄ£¬µ«ÊÇËüʹÓÃÁËÀ´×Ô GTK+ ¹¤¾ß°üµÄ GObject ¿â£¬ÒÔ»ñµÃÃæÏò¶ÔÏóµÄÌØÐÔ£¨Çë²Î¼û²Î¿¼×ÊÁϲ¿·Ö£©¡£ÔªËØÖаüº¬Ò»Ð©µ¥Ôª£¬ÕâЩµ¥ÔªÊÇÁ´½Óµ½ÆäËûÔªËصÄλÖá£ÓÐÁ½ÖÖÀàÐ͵ĵ¥Ôª£º

½ÓÊÕµ¥Ôª ΪԪËØÌṩÊäÈë¡£ ¿ÉÒÔͨ¹ýÔ´µ¥Ôª ·ÃÎÊÔªËØËù²úÉúµÄÊý¾Ý¡£

    ÕâЩµ¥ÔªËù¾ßÓеÄÏàÓ¦¹¦ÄܳÆΪÄÜÁ¦¡£ÕâЩ¹¦ÄܱíʾʲôÀàÐ͵ÄÊý¾Ý¿ÉÒÔÁ÷¾­¸Ãµ¥Ôª¡£ÀýÈ磬Èç¹ûÄú¼ì²éÒ»¸ö vorbisdec ÔªËØ£¨ËüÊÇÒ»¸öÃâ·Ñ Vorbis ´úÂëµÄ½âÂëÆ÷£©£¬¿ÉÒÔ¿´µ½ÈçÇåµ¥ 1 ÖÐËùʾµÄ´úÂë¡£Ò»ÐпªÍ·´¦µÄÃÀÔª·ûºÅ ($) ±íʾ¸ÃÐÐÊdz£¹æµÄ UNIX Shell ÃüÁî¡£

Çåµ¥ 1. vorbisdec ÔªËØÐÅÏ¢ÖеĴúÂë¶Î

$ gst-inspect-0.10 vorbisdec [...] Pad Templates: SRC template: 'src' Availability: Always Capabilities: audio/x-raw-float rate: [ 8000, 50000 ] channels: [ 1, 6 ] endianness: 1234 width: 32 SINK template: 'sink' Availability: Always Capabilities: audio/x-vorbis [...]

    Äú¿ÉÒÔ¿´µ½£¬ÆäÖÐÓÐÁ½ÖÖµ¥ÔªÄ£°å£ºÒ»ÖÖÓÃÓÚÔ´ (src)£¬ÁíÒ»ÖÖÓÃÓÚ½ÓÊÕÆ÷¡£Ô´µ¥ÔªµÄ¿ÉÓÃÐÔΪ always£¨ÆäËû¿ÉÄܵĿÉÓÃÐÔȡֵΪ sometimes ºÍ request£©£¬²¢ÇÒÄܹ»ÒÔ 8kHz µ½ 50kHz µÄËÙÂÊÊä³öԭʼ¸¡µãÒôƵ£¬¸ÃÒôƵ¾ßÓÐ 1 ÖÁ 6 ÉùµÀ¡¢Ð¡¶Ë×Ö½Ú˳ÐòÒÔ¼° 32 λ¿íµÄ²ÉÑù¡£ÁíÒ»·½Ã棬½ÓÊÕµ¥Ôª½ö½ÓÊÕ Vorbis ±àÂëµÄÒôƵÁ÷¡£

    Ҫʹ¹ÜµÀÕý³£¹¤×÷£¬ÕâЩģ°åÊÇÖÁ¹ØÖØÒªµÄ¡£µ±ÄúÊÔͼ½«Á½¸öÔªËØÁ´½Óµ½Ò»ÆðÒÔ×é³ÉÒ»¸ö¹ÜµÀʱ£¬GStreamer »á²é¿´ËüÃǵĵ¥ÔªÄ£°åÊÇ·ñ¼æÈÝ¡£Õâ¸ö¹ý³Ì³ÆΪЭÉÌ¡£ÔÚЭÉ̹ý³ÌÖУ¬ÕâЩԪËػ᳢ÊÔ·¢ÏÖËüÃÇÖ®¼ä¹²Í¬Ö§³ÖµÄ×î¼Ñ¸ñʽ¡£Èç¹û²»´æÔÚÕâÑùµÄ¸ñʽ£¬ÄÇôÁ´½Ó½«»áʧ°Ü¡£·ñÔò£¬ËüÃǽ«»á´ï³ÉЭÒéʹÓÃÒ»ÖÖͨÓøñʽ¡£ÕâÖÖ¸ñʽ²»ÔÙÊÇÄ£°å£¬¶ø³ÆΪ¹Ì¶¨µÄÄÜÁ¦£¬Õâ±íʾËùÓеÄÖµ¶¼¾ßÓÐʵ¼ÊÒâÒå²¢ÇÒÊÇÃ÷È·µÄ¡£È»ºó£¬¿ÉÒÔ½«Êý¾Ý´ÓÒ»¸öÔªËØ´«µÝµ½ÁíÒ»¸öÔªËØ¡£

    ÏÖÔÚ£¬ÄúÒѾ­Á˽âÁË¿ªÊ¼¹¤×÷Ç°ËùÐèÒªµÄÄÚÈÝ¡£ÎªÁËÍê³É¾ßÌåµÄ¹¤×÷£¬ÎÒ½«½éÉÜ GStreamer ÖÐÈç¡°ÈðÊ¿¾üµ¶¡±°ãÈñÀûµÄ¹¤¾ß£¬gst-launch ¹¤¾ß¡£

ʹÓà gst-launch

Á˽âÄúµÄ¹¤¾ß

³ýÁË gst-launch Ö®Í⣬GStreamer ÔÚ·Ö·¢Ê±»¹¸½´øÁËһЩÆäËûµÄ¹¤¾ß£¬Èç gst-inspect ºÍ gst-typefind¡£ÇëʹÓÃÕâЩ¹¤¾ß£¬ËüÃǽ«ÊÇÄú×îºÃµÄ»ï°é¡£

ÔÚ²»ÖªµÀÈçºÎʹÓÃij¸öÔªËØʱ£¬¿ÉÒÔʹÓà gst-inspect¡£Ö¸¶¨ÈκÎÔªËØ»ò²å¼þµÄÃû³Æ£¬Ëü½«ÏÔʾ GStreamer ËùÖªµÀµÄ¹ØÓڸöÔÏóµÄËùÓÐÐÅÏ¢£¬µ±È»£¬Ïà¹ØµÄÐÅÏ¢¿ÉÄÜ»á±È½Ï¶à¡£

ʹÓà gst-typefind£¬ÕâÊÇ GStreamer °æ±¾µÄÓÅÐãµÄ¾Éʽ file(1) UNIX ʵÓóÌÐò£¬Äú¿ÉÒÔÕÒ³öÎļþÀàÐÍ£¨»òÕßÈ·ÇеØ˵£¬GStreamer ËùÈÏΪµÄÎļþÀàÐÍ£©¡£

gst-launch ÊÇÄúËùÅöµ½ÓÃ;×î¶àµÄ¹¤¾ßÖ®Ò»¡£¶ÔÓÚ GStreamer À´Ëµ£¬Ëü¾ÍÏñÊÇ UNIX µÄ Shell¡£Ê¹Óøù¤¾ß£¬ÄúÉõÖÁ¿ÉÒÔͨ¹ýÌØÊâµÄÓï·¨£¨ÏàÓ¦µØ³ÆΪ gst-launch Óï·¨£©¹¹½¨¸´ÖƵĹܵÀ£¬ÈçÇåµ¥ 2 ÖÐËùʾ¡£

Çåµ¥ 2. gst-launch ÐеÄʾÀý

$ gst-launch-0.10 filesrc location= "concept.mp3" ! decodebin ! alsasink Setting pipeline to PAUSED ... Pipeline is PREROLLING ... Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: audioclock0

Çåµ¥ 2 ÊÇÒ»ÖÖ×î¼òµ¥µÄÒôƵ²¥·ÅÆ÷¡£ÏÖÔÚ£¬ÎÒÕýʹÓÃËüÌý concept.mp3¡£±í 1 ½âÊÍÁËÈçºÎ´Ó×óµ½ÓÒÔĶÁ¸ÃÃüÁîÐС£

±í 1. Çåµ¥ 2 ÖнéÉܵÄÓï·¨µÄÔªËØÃèÊö ÔªËØ ÃèÊö gst-launch-0.10 ÕâÊǸÃÃüÁîµÄÃû³Æ¡£-0.10 ±íʾÔÚͬʱ°²×°ÁË¾ÉµÄ 0.8 ·¢²¼°æµÄÇé¿öÏ£¬Ó¦¸ÃʹÓÃÌض¨°æ±¾ GStreamer 0.10¡£ filesrc location="concept.mp3" Ëü´´½¨ÁËÒ»¸ö filesink ÀàµÄÔªËØ£¬²¢½«Æä location ÊôÐÔÉèÖÃΪ concept.mp3¡£ÒòΪ filesrc ÔªËØ¿ÉÒÔ¶ÁÈ¡ÓÉ location Ö¸¶¨µÄÎļþ£¬ËùÒÔ¸ÃÃüÁîΪµ±Ç°Ä¿Â¼ÖÐµÄ concept.mp3 Îļþ´´½¨ÁËÒ»¸ö¶ÁÈ¡Æ÷¡£ ! ¸Ð̾ºÅ±íʾÁ´½Óµ½¡£Óë Shell ÖеĹܵÀ·ûºÅ () ÀàËÆ£¬Ö®ËùÒÔÑ¡ÔñʹÓøÐ̾ºÅ£¬ÊÇÒòΪËü¿´ÆðÀ´Óë () ±È½ÏÏàËÆ£¬²¢ÇÒÔÚ Shell ÖÐÎÞÐè¶ÔÆä½øÐÐתÒ壨ֻҪËüµÄÇ°ºó¶¼Óпոñ¼´¿É£©¡£ decodebin ÕâÊÇÓÉ GStreamer ÌṩµÄ autoplugger¡£autoplugger ÊÇÒ»¸öÔªËØ£¬Ö¸¶¨ÁËÆäÊäÈëºÍÊä³öµÄÊý¾ÝÀàÐÍ£¬Ëü¿ÉÒÔʹÓÃÆäËûµÄ¿ÉÓÃÔªËØÀ´²éÕÒÌṩËùÐè½á¹ûµÄ×ӹܵÀ¡£Çë¼Çס£¬GStreamer ÖÐËùÓеÄÁ´½Ó¶¼Ó¦¸ÃÊÇÀàÐÍ»¯µÄ£¬Òò´Ë£¬¸Ð̾ºÅ (!) ÒþʽµØ±íʾÁËËüËùÁ´½ÓµÄÔªËصÄÀàÐÍÐÅÏ¢¡£ÒòΪ filesrc ¾ßÓÐ ANY ÀàÐ͵ÄÄÜÁ¦£¬ËùÒÔ decodebin Ê×ÏȶÔÁ÷³¢ÊÔ typefind ²Ù×÷¡£Ò²¾ÍÊÇ˵£¬Ëü½«²éÕÒ±íʾÀàÐ͵ÄÌØÕ÷·ûºÅ¡£ËùÓеÄÕâЩ²Ù×÷£¬¶ÔÓÚÓû§À´Ëµ¶¼ÊÇ͸Ã÷µÄ¡£ alsasink ÕâÊÇÊʺÏÓÚÎÒµÄ Linux® ϵͳµÄÒôƵÊä³öµÄÔªËØ¡£ËüÓëÉù¿¨½øÐÐͨÐŲ¢ÎªÆäÌṩԭʼÒôƵ²ÉÑù¡£Ëü±ØÐëÓëÕû¸ö¹ÜµÀºÏÅÄ£¬ÒòΪÉù¿¨¾ßÓÐʹÓÃÊý¾ÝµÄÕý³£ËÙÂÊ¡£

    µ±ÎÒ°´Ï Enter ʱ£¬Ëü»áÏÔʾһЩ״̬ÐÅÏ¢£¬Ö±µ½¹ÜµÀµ½´ï PLAYING ״̬¡£È»ºó£¬¿ªÊ¼ÒÔÁ÷µÄÐÎʽ´«ÊäÊý¾Ý£¬¶øÎÒ¿ÉÒÔÌýµ½ÉùÒô£¬ÓÉÎÒµÄÉù¿¨ (audioclock0) É趨Æä½Ú×à¡£

   ÕýÈçÄúËù¿´µ½µÄ£¬GStreamer ΪÄú½ÚÊ¡ÁË´óÁ¿µÄ ¹¤×÷¡£ÄúÉõÖÁÎÞÐèÁ˽ⳢÊÔ½âÂëµÄýÌåÀàÐÍ¡£Çë¼Çס£¬ÕýÈç Shell ÎÞ·¨È¡´ú C ³ÌÐò£¬gst-launch ¹¤¾ßÎÞ·¨È¡´úÍêÕûµÄ GStreamer Ó¦ÓóÌÐò¡£ÀýÈ磬gst-launch ²»ÔÊÐíÄúÔÚÆäÆô¶¯Ö®ºóÒÔÈκη½Ê½¶Ô¹ÜµÀ½øÐпØÖÆ£¬ËùÒÔÄúÎÞ·¨Ìø¹ýÁ÷ÖеÄijЩ²¿·Ö¡£¾¡¹ÜÈç´Ë£¬ËüÈÔÈ»ÊǷdz£ÓÐÓõģ¬ÌرðÊǶÔÓÚһЩ¿ìËÙµÄÈÎÎñ£¬±ÈÈ罫ÒôƵÎļþ¼ÖÆΪÁíÒ»ÖÖ¸ñʽ»òÕß½öʹÓùܵÀ½øÐÐÊÔÑé¡£

¸üÉîÈëµÄÑо¿

   ±¾ÎÄÖ»ÊǼòµ¥µØ½éÉÜÁËÄúÄܹ»Ê¹Óà GStreamer ½øÐÐÄÄЩ¹¤×÷¡£ºÜÏÔÈ»£¬Ê¹Óüòµ¥µÄ Shell ÃüÁî´´½¨ÒôƵ²¥·ÅÆ÷·Ç³£²»´í¡£È»¶ø£¬ÕâÖ»ÊÇÒ»¸ö·Ç³£¼òµ¥µÄ²¥·ÅÆ÷£¬Ã»ÓÐÈκÎÓû§½çÃæºÍ¿Ø¼þ¡£ÒªÌí¼ÓÕâЩÏîÄ¿ºÍ¸ü¶àµÄÄÚÈÝ£¬ÄúÐèҪʹÓÃһЩ´úÂë¡£¼´±ãÈç´Ë£¬ GStreamer API ÈÔÈ»ºÜ¼òµ¥²¢ÇÒ¾­¹ýÁË×ÐϸµÄ¿¼ÂÇ¡£Èç¹ûÄú²»Ï²»¶ C£¬¿ÉÒÔ´ÓÆäËûµÄ°ó¶¨ÖнøÐÐÑ¡Ôñ£¬°üÀ¨ Python ÓïÑ԰󶨵Ľ÷É÷ά»¤×Ó¼¯¡£

   ÇëÔĶÁ gst-launch µÄ man Ò³Ãæ¡£ÍêÕûÓï·¨µÄ·¶Î§¸ü¼Ó¹ã·º£¬²¢ÇÒÄú¿ÉÒÔʹÓÃËüÀ´´´½¨¸ü¸´ÔÓºÍÓÐȤµÄ¹ÜµÀ£¬°üÀ¨ÄÇЩ¿ÉÒÔ´Ó´úÂëÖд´½¨µÄ¹ÜµÀ¡£Êǵģ¬ÄúÉõÖÁ¿ÉÒÔ´´½¨×Ô¼ºµÄ gst-launch£¨Çë²é¿´gst_parse_launch () º¯ÊýÎĵµÒÔÁ˽âÈçºÎÍê³ÉÕâÏ×÷£©¡£

   ÁíÍ⣬Çë¼ÓÈë¸ÃÓʼþÁÐ±í²¢Ë³±ã·ÃÎÊ IRC ƵµÀ£¨#[email protected]£©¡£GStreamer ¿ª·¢ÈËÔ±×é³ÉÁËÒ»¸ö·Ç³£»îÔ¾µÄ¼¯Ì壬ͨ³£×ÜÓÐÈËΪÄúÌṩ°ïÖú»òµÃµ½ÄúµÄ°ïÖú¡£

£¨³ö´¦£ºhttp://www.sheup.com£©