2013-10-08 2 views
2

2 개의 .mp4 비디오 테이프를 업로드했습니다.
311.0KB mp4 비디오를 제공 할 때 문제가 없습니다. 비디오를 재생할 수 있습니다
그러나 3.3MB mp4 비디오를 제공하면 비디오가로드되지 않습니다. 그래서 나는 관리 콘솔에 갔다가 Blob Viewer 메뉴를 클릭했다. 3.3MB 비디오를 보려면 클릭해도로드되지 않습니다. 왜?Google App Engine에서 일부 mp4 파일을 제공 할 수 없습니다.

저는 무료 버전의 GAE를 사용하고 있습니다.

+0

어떤 브라우저를 사용합니까? –

+0

크롬을 사용합니다 ... – Lin

+0

BLOBSTORE에서 비디오 파일을 제공하는 데 문제가있었습니다. 내가 사용한 방법은 응답에 X-AppEngine-BlobKey 헤더를 설정하는 것이 었습니다. 이 방법은 때때로 Chunked 전송 코딩을 사용합니다. 그러나 mp4 파일을 제공하는 데 문제가 발생합니다. IE에서 실제로 문제가있었습니다. 내가이 문제를 해결하기 위해 한 것은 206 개의 응답 코드와 바이트 범위를 사용하여 파일 제공을 구현하고 캐시 제어 헤더가 mp4 파일로 설정되어 있지 않은지 확인하는 것이 었습니다. 물론 관리 콘솔 문제는 해결되지 않습니다. –

답변

2

X-AppEngine-BlobKey 및 X-AppEngine-BlobRange를 사용하면 문제가없는 것으로 밝혀졌습니다. 내가 장고를 사용하고 여기에 내가 사용하는 코드의 일부입니다, 그것은 당신에게 그것이

response = HttpResponse() 
response['Accept-Ranges'] = 'bytes' 
response['Content-Type'] = content_type 
response['X-AppEngine-BlobKey'] = blob_key 
if 'HTTP_RANGE' in request.META: 
    response['X-AppEngine-BlobRange'] = request.META['HTTP_RANGE'] 
return response 

가 X-AppEngine에-BlobRange 요청에 범위 헤더와 정확히 동일한 값으로 설정되어 있습니다 작동 방법과 아이디어를 줄 것이다 . 이 경우에 대한 GAE 문서는 "bytes = 0-499"로 설정해야하는 경우 "0-499"와 같은 값을 보여주는 것처럼 다소 혼란 스러울 수 있습니다.