2014-02-07 2 views
3

내가 달성하고자하는 것은 Android 디바이스를 통해 실시간 스트리밍을하는 것입니다. 테스트를 마친 이전 버전 4.3에서는 장치가 HLS .m3u8을 사용하여 라이브 스트리밍을 제대로 재생하고 있습니다. 예제 소스 코드는 다음과 같다 :안드로이드 4.3에서 HLS 재생 문제

<video controls="controls" style="height:400px; width:320px;"> 
    <source src="/hls-live/my-stream_/my-stream_,1360,500,.m3u8"></source> 
</video> 

<a href="/hls-live/my-stream_/my-stream_,1360,560,.m3u8">Direct Link<a/> 

위에서 볼 수 있듯이, 내가 스트림을 렌더링하는 HTML5 비디오 태그를 사용하는 것을 시도하고있다. 브라우저에서 재생되지 않지만 동일한 경로로 직접 링크를 클릭하면 플레이어가 팝업되고 스트림이 올바르게 재생됩니다.

그래서 나는 조금 라이브 제대로 HTML5 플레이어에서 선수가 될 수없는 이유를 여기에 혼동하지만, 팝업 플레이어에서 재생 할 수 있어요 (I는 나중에 가정이 안드로이드에서 기본 플레이어?)

환경 :

  • 안드로이드 OS 4.3
  • ASUS 넥서스 7
  • 크롬 브라우저

EDIT : 여기에 더 많은 정보가 추가되었습니다. 다른 유형의 비디오도 시도했습니다. 예를 들어 http://184.72.239.149/vod/mp4:BigBuckBunny_115k.mov/playlist.m3u8 이 페이지에서 http://www.wowza.com/forums/showthread.php?32675-HLS-playback-issue-on-Android-4-3입니다. 따라서이 m3u8을 <source> 태그로 바꾸면 Chrome 브라우저에서 정상적으로 재생됩니다. 작동중인 m3u8을 살펴보면 코덱이 avc1.66.30, mp4a.40.2이라는 것을 알 수 있습니다. 이는 파일의 실제 코덱이 문제의 원인이라고 생각합니다.

또한 media.canPlayType('application/vnd.apple.mpegURL')을 호출하려고 시도했으며 빈 문자열을 반환합니다.

+0

자세한 내용은 일을해야 당신이 당신의 .m3u8.ts 파일에 Access-Control-Allow-Origin: *를 추가해야합니다. 당신의 장치는 무엇입니까? – Raptor

+0

현재 4.3 OS에서 ASUS Nexus 7을 통해 테스트를 실행 중입니다. –

+0

당신은 앱에서 ('WebView'를 사용하여) 또는 전화 브라우저에서 (예, 어떤 브라우저를 사용하고 있습니까? 기본/다른 하나?) – Raptor

답변

0

브라우저에서 직접 작동하지만 비디오 태그를 통과하는 이유는 cross origin proxy (사파리에는 HSL에 대한 제한이 없습니다)이라고 생각합니다.

, 그것은 필요

관련 문제