2012-10-31 2 views
0

나는 h264 코덱과 AAC를 사용하여 ffmpeg로 비디오를 mp4로 변환하고 기준 프로파일을 사용했습니다.Android : mp4 파일을 다운로드 할 때 재생되지만 "비디오"플레이어가 "비디오를 재생할 수 없음"을 얻었을 때

비디오

540x360x250kbps 내가 다음 오른쪽 순서로 원자를 이동하는 파일에 QT-는 FastStart를 실행합니다.

나는 우리가 사용하는 위키에서 파일을 찔러서 링크를 만들었습니다.

내 테스트 용 전화는 삼성 Galaxy S3입니다.

mp4에 대한 링크가있는 페이지를 탐색하고 클릭하면 인터넷 및 비디오의 두 가지 옵션이있는 팝업 창이 나타납니다.

"인터넷"옵션을 사용하여 비디오를 다운로드하는 경우 문제없이 전화로 재생할 수 있습니다.

주 프로필로 다른 인코딩을했는데 이것들도 정상적으로 작동합니다. 나는 s3과 같은 강력한 휴대 전화가 h264에서 사용할 수있는 고급 압축 방식을 처리 할 수있을 것이라고 생각했지만, 지원되는 비디오 형식과 관련하여 안드로이드 문서를 탐색했으며 "기본" 압축 프로파일이 지원됩니다.

무엇이 작동하지 않는 것은 비디오를 스트리밍하려고하는 "비디오"옵션을 사용하려고하는 것입니다. 링크를 클릭 문제의 위키를 들어

은 콘텐츠 유형 및 콘텐츠 길이 헤더가 설정되고 있음을 보여준다 : 브라우저로 링크를 클릭

Content-Length 6175996 
Content-Type video/mp4;charset=UTF-8 

대부분 (퀵타임 플레이어를 호출 사례) mp4를 재생할 수 있습니다.

링크를 만들면 HTTP 스트림 가능 파일이 더 있어야하나요? Android 4에서이 파일을 재생하지 않는 이유는 무엇입니까?

업데이트 : 비디오 태그를 사용하여 빠른 HTML5 페이지를하기로 결정하고, 비디오 내 갤럭시 S3 최신 IOS 모두에서 플레이 할 .

+1

"비디오"링크 – av501

+0

@ av501의 의미를 이해하지 못했습니다. 위의 "메뉴 선택"을 의미했습니다.동영상 링크가있는 웹 페이지에 액세스하면 메뉴 팝업에 2 가지 옵션이 있습니다. "비디오"는 제가 말하고있는 것입니다. 원래 메시지를 분명히했습니다. – gview

+0

@gview 나는 api 데모에서 샘플 코드를 사용해 보았습니다.이 링크는 [video link] (http://www.ooklnet.com/files/381/381489/video.mp4) 실제 장치에서 작동했습니다. 그러나 제가 체크했을 때 – edwin

답변

0

Honeycomb 이후 Android에서 지원되는 Apple의 HTTP 실시간 스트리밍 (HLS)을 언급하는 것으로 의심됩니다. HTTP 서버에 mp4 파일을 꽂는 것보다 (당신이 의심 스러울 때) 더 많이 관여합니다. Apple's developer resources에서 자세한 내용을 볼 수 있습니다.

+0

나는 비디오 플레이어가 일종의 HTTP 스트리밍을 지원한다고 생각했다. 나는 왜 플레이어가 비디오를 재생할 수 없다는 오류를 반환하는지 이해하려고 노력하고있다. 비디오가 다운로드되면 분명히 할 수있을 때 말이다. 아마 우리가 할 일은 HTTP Pseudostreaming을 구현하는 것이지만, HTTP를 통해 제공되는 일반 mp4 파일의 경우에도 비디오 플레이어가 작동 할 것이라고 기대하고 있습니다. – gview

0

mp4는 스트리밍 비디오가 아닙니다. 의사 스트리밍 또는 pd 스트리밍을 처리 할 수있는 플레이어가 없으면 링크를 통해 다운로드가 이루어집니다. 다운로드없이 mp4 파일을 재생하려면 플레이어를 지원해야합니다. 기본 플레이어는 로컬 파일을 재생합니다. 웹에서 가상 음악 스트리밍 형식으로 파일을 재생하려면 적어도 적절한 플레이어와 웹 앱이 있어야합니다. [say jwplayer]

+0

다른 사이트에서 직접 mp4를 재생하기 위해 비디오 옵션을 사용했습니다. 그 사이트가하는 일에 대해 조사를해야 할 것 같습니다. HTTP를 사용하는 점진적 다운로드로 작동하지 않는다는 사실에 놀라움을 금치 못합니다. – gview

+1

서버에서 mp4 파일을 반환 할 MIME 유형을 확인하십시오. 아마 그것은 단지 그것 일뿐입니다. – av501

0

mp4를 스트리밍 할 수있게 만들려면 다운로드가 완료되기 전에 재생을 시작해야합니다. 올바른 장소에 moov 원자를 얻기 위해서는 qt-faststart를 실행해야합니다.

자세한 내용과 많은 참조 자료는 http://forums.creativecow.net/thread/291/486#610을 참조하십시오.

+2

필자는 3 호에 분명히 언급 한 것처럼 내 질문을주의 깊게 읽지는 않았다. "파일을 qt-faststart로 실행하여 원자를 올바른 순서로 이동 시켰습니다." – gview

관련 문제