2014-09-09 4 views
2

저는 VideoView에서 ExoPlayer로 전환 중입니다. GIT 저장소의 ExoPlayer에 포함 된 샘플 코드를 사용했으며 비디오를 시작한 후 끝까지 재생할 수있는 비디오를 가지고 있습니다.매우 느린 Android ExoPlayer

검색 표시 줄을 사용하여 앞뒤로 이동할 때 문제가 발생합니다. 막대기를 탭하고 위치를 찾길 기다릴 때 약간의 지연이 있습니다. 프로그램에 대한 로그 파일의 메시지가 주 스레드에서 너무 많은 작업을하는 것을 볼 수 있습니다.

시크 바를 끌면 마치 "새로운 범위 : offset = ######"유형의 메시지가 마치 시크릿 이동 지점 사이에 대기하지 않는 것처럼 보이는 메시지가 표시됩니다. 섬기는 사람. 최종 탐색이 발생하고 비디오가 그 위치에서 다시 재생되기 전에 메시지를 응답하지 않으면 응용 프로그램을 얻지 못해 오랜 시간이 걸릴 수 있습니다.

콘텐츠를 호스팅하는 서버가 SmoothStreaming 또는 DashVod 모드에 응답하지 않기 때문에 비디오에 DefaultRendererBuilder를 사용하고 있습니다.

이 모든 것은 iOS 프로젝트의 표준 MPMoviePlayerController를 사용하여 동일하게 작동합니다. 동일한 비디오, 동일한 서버, 원활한 시작을 원할 정도로 서버가 합리적인 콘텐츠를 표시합니다.

VideoViewer에서 ExoPlayer로 전환하면 이러한 문제를 해결할 수 있기를 정말로 기대하고있었습니다. VideoViewer에서 버퍼의 지난 끝을 찾는 것이 맞을지 모르는 문제가있었습니다. 적어도 ExoPlayer에서 더 잘 작동하지만 지금은 드래그하여 거의 사용할 수 없게되는 새로운 문제가 있습니다.

우리가 소유하고 양면을 코딩 할 때 수행 할 수있는 변경을 서버에서 수행해야하는 경우. 모든 것이 iOS에서 잘 작동하는 것처럼 보이기 때문에이 문제는 서버 측 문제보다 Android 코드 측면의 문제라고 생각합니다.

동영상은 모두 30 초에서 4 분 범위에 있으며 MP4 형식입니다. 여전히 대답이 필요하지만, 버퍼 세그먼트 크기와 같은 일부 매개 변수를 미세 조정과 상당히 버퍼링 속도에 영향을 미칠 세그먼트 수를 버퍼 경우

response.headers={ 
"Accept-Ranges" = bytes; 
"Content-Length" = 24267506; 
"Content-MD5" = [[redacted]]; 
"Content-Type" = "application/octet-stream"; 
Date = "Mon, 08 Sep 2014 19:27:04 GMT"; 
Etag = [[redacted]]; 
"Last-Modified" = "Mon, 08 Sep 2014 16:44:48 GMT"; 
Server = "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0"; 
"x-ms-blob-type" = BlockBlob; 
"x-ms-lease-state" = available; 
"x-ms-lease-status" = unlocked; 
"x-ms-meta-aspect_ratio_x" = 16; 
"x-ms-meta-aspect_ratio_y" = 9; 
"x-ms-meta-audio_bit_rate" = 1536000; 
"x-ms-meta-created_date" = "9/8/2014 4:44:45 PM"; 
"x-ms-meta-essence_typeid" = 2359823; 
"x-ms-meta-expected_filesize" = 24267506; 
"x-ms-meta-framerate" = "29.97"; 
"x-ms-meta-generation" = 102; 
"x-ms-meta-height" = 288; 
"x-ms-meta-interlaced" = True; 
"x-ms-meta-video_bit_rate" = 974503; 
"x-ms-meta-width" = 512; 
"x-ms-request-id" = [[redacted]]; 
"x-ms-version" = "2014-02-14"; 
} 

답변

0

은하지 마십시오 : 이것은 전형적인 응답 헤더입니다.