속도 제어 정보
Media Foundation에서 재생 속도는 현재 재생 속도와 일반 재생 속도의 비율로 표현됩니다. 예를 들어 2.0의 속도는 정상 속도의 두 배이고 0.5는 정상 속도의 절반입니다. 음수 값은 역방향 재생을 나타냅니다. -2.0의 재생 속도는 정상 속도의 두 배로 스트림을 통해 뒤로 재생됩니다. 속도가 0이면 하나의 프레임이 렌더링됩니다. 그 후에는 프레젠테이션 시계가 진행되지 않습니다. 0의 속도로 다른 프레임을 얻으려면 애플리케이션이 새 위치를 찾아야 합니다.
애플리케이션은 재생 속도를 제어하기 위해 다음 인터페이스를 사용합니다.
- IMF 금리 지원. 가능한 가장 빠르고 느린 재생 속도를 찾는 데 사용됩니다.
- IMFRateControl. 재생 속도를 변경하는 데 사용됩니다.
이러한 두 인터페이스를 얻으려면 미디어 세션에서 IMFGetService::GetService 호출합니다. 서비스 식별자는 MF_RATE_CONTROL_SERVICE입니다.
애플리케이션은 속도 제어 서비스를 사용하여 빠른 전달 및 역방향 재생을 구현할 수 있습니다.
얇아짐
씬닝은 스트림 내 샘플 수를 줄여 전체 비트 속도를 낮추는 절차입니다. 비디오의 경우 일반적으로 델타 프레임을 삭제하고 키 프레임만 전달하여 씬닝을 수행합니다. 델타 프레임이 디코딩되지 않기 때문에 데이터 속도가 낮아져, 파이프라인은 씬닝된 재생을 사용하여 더 빠른 재생 속도를 지원할 수 있습니다.
씬닝은 샘플의 타임스탬프나 지속 시간을 변경하지 않습니다. 예를 들어 비디오 스트림의 명목 속도가 초당 25프레임인 경우 미디어 원본이 모든 델타 프레임을 삭제하더라도 각 프레임의 지속 시간은 여전히 40밀리초로 표시됩니다. 즉, 한 프레임의 끝과 다음 프레임의 시작 사이에 시간 간격이 있습니다.
스크러빙
스크러빙 스크롤 막대, 시간 표시 막대 또는 시간의 다른 시각적 표현과 상호 작용하여 스트림의 특정 지점을 즉시 찾는 프로세스입니다. 이 용어는 릴 투 릴 테이프 플레이어의 시대에서 나왔습니다. 섹션을 찾기 위해 테이프를 재생 헤드에 대고 앞뒤로 조작하는 것은 테이프로 헤드를 문지르는 것과 같았습니다.
스크러빙은 재생 속도를 0으로 설정하여 Media Foundation에서 구현됩니다. 자세한 내용은 스크러빙을 수행하는 방법을 참조하세요.
관련 항목