속도 제어 정보

Media Foundation에서 재생 속도 는 현재 재생 속도와 일반 재생 속도의 비율로 표현됩니다. 예를 들어 2.0의 속도는 정상 속도의 두 배이고 0.5는 정상 속도의 절반입니다. 음수 값은 역방향 재생을 나타냅니다. -2.0의 재생 속도는 정상 속도의 두 배로 스트림을 통해 뒤로 재생됩니다. 속도가 0이면 하나의 프레임이 렌더링됩니다. 그 후에는 프레젠테이션 시계가 진행되지 않습니다. 0의 속도로 다른 프레임을 얻으려면 애플리케이션이 새 위치를 찾아야 합니다.

애플리케이션은 다음 인터페이스를 사용하여 재생 속도를 제어합니다.

  • IMFRateSupport. 가능한 가장 빠르고 느린 재생 속도를 찾는 데 사용됩니다.
  • IMFRateControl. 재생 속도를 변경하는 데 사용됩니다.

이러한 두 인터페이스를 얻으려면 미디어 세션에서 IMFGetService::GetService 를 호출합니다. 서비스 식별자가 MF_RATE_CONTROL_SERVICE.

애플리케이션은 속도 제어 서비스를 사용하여 빠른 전달 및 역방향 재생을 구현할 수 있습니다.

썼 음

씬닝 은 전체 비트 속도를 줄이기 위해 스트림의 샘플 수를 줄이는 모든 프로세스입니다. 비디오의 경우 일반적으로 델타 프레임을 삭제하고 키 프레임만 제공하여 씬닝을 수행합니다. 종종 파이프라인은 델타 프레임이 디코딩되지 않기 때문에 데이터 속도가 낮기 때문에 씬 재생을 사용하여 더 빠른 재생 속도를 지원할 수 있습니다.

씬닝은 샘플의 타임스탬프를 변경하지 않습니다. 예를 들어 비디오 스트림의 명목 속도가 초당 25프레임인 경우 미디어 원본이 모든 델타 프레임을 삭제하더라도 각 프레임의 지속 시간은 여전히 40밀리초로 표시됩니다. 즉, 한 프레임의 끝과 다음 프레임의 시작 사이에 시간 간격이 있습니다.

Scrubbing

스크러빙은 스크롤 막대, 타임라인 또는 시간의 다른 시각적 표현과 상호 작용하여 스트림의 특정 지점을 즉시 찾는 프로세스입니다. 이 용어는 섹션을 찾기 위해 앞뒤로 릴을 흔들 때 릴 - 투 - 릴 테이프 플레이어의 시대에서 유래 테이프로 재생 머리를 스크러빙처럼했다.

스크러빙은 재생 속도를 0으로 설정하여 Media Foundation에서 구현됩니다. 자세한 내용은 스크러빙 수행 방법을 참조하세요.

속도 제어

검색, 빠른 전달 및 역방향 플레이

서비스 인터페이스