비디오 트랙을 버리는 동안 미디어 스트림의 오디오 부분 만 선택할 수있는 방식으로 Youtube 스트리밍 프로토콜을 유연하게 관리 할 수있는 Android 앱을 원한다면 android 용 VLC를 주시하십시오 . 여전히 '개발 중'이지만 아마도 '오디오 전용'기능을 다룰 것입니다.
보다 기술적 인 관점에서이 문제를 미디어 스트리밍에 사용 가능한 Youtube 네트워크 프로토콜로 분류 할 수 있습니다 RTSP. RTSP 스펙을 사용하면 클라이언트가 서버가 SDP 데이터 세그먼트로 응답하는 DESCRIBE 명령을 사용하여 요청을 할 수 있습니다 (아래 세부 사항 참조). Youtube 서버는 다양한 프로토콜로 응답 할 수 있으며, 기본 스트림을 전송하여 다양한 인코딩 (오디오 용, 비디오 용)을 사용하여 네트워크를 통해 미디어 비트를 클라이언트로 전송합니다. 모바일 네트워크에서 오디오 만 재생하는 동안 비디오를 삭제하기 전에 오디오 및 비디오 트랙을 모두 수신하기 위해 YouTube로가는 기능은 사용하지 않는 비디오 스트림에 대한 네트워크 요구 사항이 많기 때문에 좋은 방법이 아닙니다. 추가 기술 드릴 다운을 통해 네트워크 비 효율성을 극복 할 수 있습니다.
Youtube에서 관찰 한 RTSP 및 SDP 표준을 통해 스트리밍 클라이언트 (안드로이드 장치)는 클라이언트 / 서버 핸드 셰이크 단계 및 미디어 스트리밍을 수행 할 네트워크 연결 설정 주위의 협상 단계에서 오디오 만 요청할 수 있습니다. 이 경우 비디오가 전송되지 않으며 Android 플레이어는 오디오 전용 스트림에서 구성됩니다. 이 'youtube audio only'시나리오에 대한 일부 CLI 명령 세부 사항 및 일부 프로토콜 세부 사항은 다음과 같습니다.
특정 비디오에 대한 YouTube, 형식 1 오디오 전용 트랙은 다음 RTSP URI에서 사용할 수 있습니다.
rtsp://v8.cache8.c.youtube.com/CigLENy73wIaHwlcw_gs85OUchMYDSANFEgGUgx1c2VyX3VwbG9hZHMM/0/0/0/video.3gp
전체 비디오 (오디오 트랙 및 비디오 트랙)에 대한 RTSP URI에서 다음 CLI 표현식은 2 개의 미디어 클라이언트 openRTSP 및 mPlayer 를 사용하여 Youtube로 이동 한 다음 channel = 1 만 요청하여 Youtube 오디오 트랙 만 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
이 CLI 표현식은 맨 아래 링크에 자세히 설명되어 있습니다.
Youtube 'feeds'는 위에서 언급 한 RTSP URI를 포함하여 모든 Youtube 비디오에 사용 가능한 스트림 형식을 설명합니다. Youtube 스트리밍 형식에 대한 기술 설명은 긴 표에서 '형식' 1,5,6 항목을 참조하십시오 .
다음 요청은 특정 동영상에 사용할 수있는 다양한 형식의 RTSP URI가 포함 된 피드를 Youtube에서 가져옵니다.
http://gdata.youtube.com/feeds/api/users/rowntreerob/uploads?vq=cpST8yz4w1w&prettyprint='true'
오디오 트랙 만 스트리밍 / 재생할 수 있도록 특정 YouTube 비디오에 대해 전체 SDP 설명을 요청하는 연결 RTSP 세션의 세부 정보는 여기에 있습니다 .
위 링크에서 번호가 매겨진 줄의 키 :
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