2011-10-17 2 views
1

매우 민감한 스크러빙 기능이 필요한 동영상 플레이어를 제작하고 있습니다. 내 목표는 사용자가 가장 높은 감도를 선택하면 프레임별로 프레임을 스크럽 할 수 있도록하는 것입니다. AVPlayer로 민감한 동영상 스크럽

은 현재 내가 방법을 사용하고 있습니다 :

[player seekToTime:CMTimeMakeWithSeconds(duration*(Float64) slider.value, 600)];

하지만 난 지금까지 내가 달성하고자하는 감도에서입니다. 누군가가이 기능을 수행하기 위해 더 나은 방법 또는 프레임 워크를 조언하거나 지적 할 수 있습니까?

미리 감사드립니다.

답변

4

이 문제를 해결하십시오. 어떻게 든 내 눈에서 미끄러하지만 정확히 수행하는 방법이있다 :

[player seekToTime:CMTimeMakeWithSeconds(duration*(Float64)value , 600) 
     toleranceBefore:kCMTimeZero 
     toleranceAfter:kCMTimeZero]; 

toleranceBeforetoleranceAfter은 당신이 찾고있는 지점에 정확하게 얻을 것이다하지만 시간이 더 걸릴 것 의미하는 0으로 설정 프레임을 디코딩합니다.

+0

디코딩 시간에 만족하십니까? 나는 정확히 같은 기능을 찾고있다. – headkit

0

여기서 HLS의 한계를 언급하고 싶습니다. 허용 오차를 0으로 지정하더라도 모든 TS 세그먼트의 중간에서 탐색 할 수는 없습니다. 위치를 찾기 위해 스크러버에서 손가락을 들어 올리면 플레이어는 가장 가까운 TS 세그먼트에서 비디오 재생을 시작합니다.