Jeśli potrzebujesz aplikacji na Androida, która umożliwiałaby elastyczne zarządzanie protokołami strumieniowymi Youtube w sposób, który wspierałby wybór tylko części audio strumienia multimediów podczas odrzucania ścieżki wideo, miej oko na VLC dla Androida . Nadal jest „w fazie rozwoju”, ale prawdopodobnie dotyczyłby funkcji „tylko dźwięk”.
Z bardziej technicznego punktu widzenia pomaga rozbić ten problem na dostępne protokoły sieciowe Youtube do przesyłania strumieniowego multimediów RTSP. Specyfikacje RTSP pozwalają klientowi na wysłanie żądania za pomocą polecenia DESCRIBE, na które serwer odpowiada segmentem danych SDP (patrz szczegóły poniżej). Serwery Youtube mogą odpowiadać na różne protokoły, wysyłając bazowe strumienie, które z kolei używają różnych kodowań - jednego dla audio, jednego dla wideo - do przesyłania bitów multimediów przez sieć do klienta. W sieciach komórkowych funkcja, która trafia na youtube w celu odbierania zarówno ścieżek audio, jak i wideo przed odrzuceniem wideo podczas odtwarzania samego dźwięku, nie jest dobrą praktyką ze względu na duże wymagania sieciowe dla nieużywanego strumienia wideo. Można obejść nieefektywność sieci dzięki dodatkowym szczegółowym analizom technicznym.
Standardy RTSP i SDP przestrzegane przez Youtube pozwoliłyby klientowi przesyłającemu strumieniowo (urządzeniu z Androidem) żądać TYLKO dźwięku podczas kroków uzgadniania klient / serwer i kroków negocjacyjnych wokół konfiguracji połączenia sieciowego, która przeprowadzi strumieniowanie multimediów. W takim przypadku nie zostanie przesłane żadne wideo, a odtwarzacz Android zostanie skonfigurowany w strumieniu tylko audio. Poniżej podano niektóre szczegóły polecenia CLI i niektóre szczegóły protokołu w tym scenariuszu „Tylko dźwięk z YouTube”.
Ścieżka audio w formacie YouTube tylko dla określonego wideo jest dostępna pod następującym identyfikatorem URI RTSP:
rtsp://v8.cache8.c.youtube.com/CigLENy73wIaHwlcw_gs85OUchMYDSANFEgGUgx1c2VyX3VwbG9hZHMM/0/0/0/video.3gp
Z identyfikatora URI RTSP dla całego wideo (ścieżka audio plus ścieżka wideo) poniższe wyrażenie CLI korzysta z 2 klientów mediów openRTSP i mPlayer przechodzących na Youtube, gdzie następnie GETS / PLAYS tylko ścieżkę audio Youtube, żądając tylko kanału = 1 .
./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
To wyrażenie CLI jest dalej opisane w linku na dole.
„Kanały” na YouTube opisują dostępne formaty strumieniowe dla dowolnego filmu na Youtube, w tym wspomniane powyżej URI RTSP. Aby uzyskać wyjaśnienie techniczne formatów przesyłania strumieniowego w YouTube , zobacz pozycję „format” 1,5,6 w długiej tabeli.
Następujące żądanie pobiera kanał z Youtube, który zawiera różnorodnie sformatowane identyfikatory URI RTSP dostępne dla tego konkretnego filmu:
http://gdata.youtube.com/feeds/api/users/rowntreerob/uploads?vq=cpST8yz4w1w&prettyprint='true'
Krwawe szczegóły połączonej SESJI RTSP, w której wymagany jest pełny opis SDP dla konkretnego filmu na youtube, tak aby można było strumieniowo / odtwarzać tylko ścieżkę audio tutaj .
Klucz do linii numerowanych w powyższym linku:
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