Se você deseja um aplicativo para Android que permita o gerenciamento flexível dos protocolos de streaming do YouTube de uma maneira que ofereça suporte à seleção de apenas a parte de áudio do fluxo de mídia enquanto descarta a faixa de vídeo, fique de olho no VLC para Android . Ele ainda está "em desenvolvimento", mas provavelmente abordaria o recurso "apenas áudio".
De uma perspectiva mais técnica, ajuda a dividir o problema em protocolos de rede do YouTube disponíveis para streaming de mídia RTSP. As especificações RTSP permitem que um cliente faça uma solicitação usando o comando DESCRIBE ao qual o servidor responde com um segmento de dados SDP (veja detalhes abaixo). Os servidores do YouTube podem responder em uma variedade de protocolos, enviando fluxos subjacentes que, por sua vez, usam uma variedade de codificações - uma para áudio e outra para vídeo - para transferir os bits de mídia pela rede para o cliente. Nas redes móveis, um recurso que vai ao youtube para receber faixas de áudio e vídeo antes de descartar o vídeo enquanto reproduz apenas o áudio não é uma boa prática devido ao grande requisito de rede para o fluxo de vídeo não utilizado. Você pode contornar a ineficiência da rede com algumas pesquisas técnicas adicionais.
Os padrões RTSP e SDP observados pelo Youtube permitem que um cliente de streaming (dispositivo Android) solicite APENAS o áudio durante as etapas de handshake do cliente / servidor e as etapas de negociação em torno da configuração da conexão de rede que fará o streaming de mídia. Nesse caso, nenhum vídeo seria enviado e o player Android seria configurado em um fluxo apenas de áudio. A seguir, alguns detalhes de comando da CLI e alguns detalhes de protocolo neste cenário 'somente áudio do youtube'.
Uma faixa somente de áudio do formato 1 do youtube para um vídeo específico está disponível no seguinte URI RTSP:
rtsp://v8.cache8.c.youtube.com/CigLENy73wIaHwlcw_gs85OUchMYDSANFEgGUgx1c2VyX3VwbG9hZHMM/0/0/0/video.3gp
No URI do RTSP para o vídeo inteiro (faixa de áudio mais faixa de vídeo), a seguinte expressão CLI utiliza 2 clientes de mídia openRTSP e mPlayer indo para o Youtube, onde GETS / PLAYS apenas a faixa de áudio do YouTube solicitando apenas o canal = 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
Essa expressão da CLI é descrita em mais detalhes em um link na parte inferior.
Os 'feeds' do YouTube descrevem os formatos de fluxo disponíveis para qualquer vídeo do YouTube, incluindo os URIs RTSP mencionados acima. Para uma explicação técnica dos formatos de streaming do YouTube , consulte a entrada 'formato' 1,5,6 na tabela longa.
A solicitação a seguir obtém um feed do YouTube que inclui os URIs de RTSP de vários formatos disponíveis para esse vídeo específico:
http://gdata.youtube.com/feeds/api/users/rowntreerob/uploads?vq=cpST8yz4w1w&prettyprint='true'
Os detalhes sangrentos de uma SESSÃO RTSP conectada na qual a descrição completa do SDP é solicitada para um determinado vídeo do youtube, para que apenas a trilha de áudio possa ser transmitida / reproduzida, estão aqui .
Chave para linhas numeradas no link acima:
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