Youtube akış protokollerinin esnek bir şekilde yönetilmesini sağlayacak bir android uygulaması istiyorsanız, video parçasını atarken medya akışının sadece ses bölümünün seçimini destekleyecek, android için VLC'ye göz atın . Hala 'geliştirilme aşamasındadır' ama muhtemelen 'sadece ses' özelliğini ele alacaktır.
Daha teknik bir perspektiften bakıldığında, sorunu medya akışı RTSP için mevcut Youtube ağ protokollerine ayırmaya yardımcı olur. RTSP özellikleri, istemcinin sunucunun bir SDP veri segmentiyle yanıt verdiği DESCRIBE komutunu kullanarak istekte bulunmasına izin verir (aşağıdaki ayrıntılara bakın). Youtube sunucuları çeşitli protokollerde yanıt verebilirler ve ağdaki medya bitlerini istemciye aktarmak için ses için bir, video için bir tane olmak üzere çeşitli kodlamaları kullanan temel akışları gönderebilirler. Mobil ağlar üzerinden, yalnızca ses çalınırken videoyu atmadan önce hem ses hem de video parçalarını almak için youtube'a giden bir özellik, kullanılmayan video akışı için yoğun ağ gereksinimi nedeniyle iyi bir uygulama değildir. Daha fazla teknik detaylandırma ile ağ verimsizliğini aşabilirsiniz.
Youtube tarafından gözlemlenen RTSP ve SDP standartları, bir akış istemcisinin (android cihaz) SADECE İstemci / Sunucu el sıkışma adımları ve medya akışını gerçekleştirecek ağ bağlantısı kurulumu etrafında müzakere adımları sırasında Ses istemesine izin verecektir. Bu durumda, hiçbir video gönderilmez ve android oynatıcı yalnızca ses akışı üzerinden yapılandırılır. Bu 'yalnızca youtube ses' senaryosundaki bazı CLI komut ayrıntıları ve bazı protokol ayrıntıları izler.
Belirli bir video için yalnızca format 1 ses parçası, aşağıdaki RTSP URI'sinde mevcuttur:
rtsp://v8.cache8.c.youtube.com/CigLENy73wIaHwlcw_gs85OUchMYDSANFEgGUgx1c2VyX3VwbG9hZHMM/0/0/0/video.3gp
Tüm video için RTSP URI'sinden (ses parçası artı video parçası) aşağıdaki CLI ifadesi, 2 kanal istemcisini openRTSP ve mPlayer'ı kullanarak Youtube'a gidiyor ve burada sadece kanal = 1 isteğinde bulunarak sadece Youtube ses parçasını GETS / PLAYS .
./openRTSP -a rtsp://v8.cache8.c.youtube.com/CigLENy73wIaHwlcw_gs85OUchMYDSANFEgGUgx1c2VyX3VwbG9hZHMM/0/0/0/video.3gp | ./mplayer -cache 8092 - -rawaudio channels=1:rate=8000:samplesize=2:format=0x73616D72
Bu CLI ifadesi, alt kısımdaki bir bağlantıda ayrıca açıklanmaktadır.
Youtube 'özet akışları', yukarıda belirtilen RTSP URI'leri de dahil olmak üzere herhangi bir Youtube videosu için kullanılabilir akış biçimlerini açıklar. Youtube akış formatlarının teknik açıklaması için uzun tabloda 'format' 1,5,6 girişine bakınız .
Aşağıdaki istek, Youtube'dan söz konusu video için kullanılabilen çeşitli biçimlendirilmiş RTSP URI'lerini içeren bir feed alır:
http://gdata.youtube.com/feeds/api/users/rowntreerob/uploads?vq=cpST8yz4w1w&prettyprint='true'
Tam SDP açıklaması bu sadece ses parçası olarak akış biçiminde böylece / Belirli youtube video için istenen oynanır olduğu bir bağlı, RTSP OTURUM kanlı detaylar burada .
Yukarıdaki bağlantıda numaralı satırların anahtarı:
82 – the RTSP DESCRIBE request
101 – the SDP response
103 – video track’s format
116 – the attributes describing the audio track
line 165 – the audio track setup by the player
184 – the audio-only playback
201 – using a separate CLI expression this is playback of a previous download on just the audio track