문제

라이브 소스에서 WMV 파일로 비디오를 기록하는 소프트웨어를 개발하고 있습니다 (WMV1 압축 사용).

스토리지 하드 드라이브에 남은 공간을 기준으로 남은 기록 시간의 대략적인 추정치를 제공하려고합니다. 비디오 압축은 이미지의 복잡성에 따라 출력 크기가 크게 변한다는 것을 의미하기 때문에 불행히도 코덱의 비트 속도에 대한 출력 파일 크기를 간단히 기본으로 할 수는 없습니다.

이견있는 사람?

fyi 나는 c#과 Directshow를 사용하고 있습니다.

도움이 되었습니까?

해결책

이것은 정말 좋은 질문입니다. 불행히도,이 작업을 수행하는 확실한 방법은 없지만 두 가지 기본 옵션이 있습니다.

  1. 코덱 제공 업체의 실험 또는 데이터를 기반으로 주어진 비트 전송률에서 주어진 시간 단위 당 사용되는 평균 공간을 미리 계산하십시오.
  2. 기술 #1을 사용하여 시작한 다음 현재 사용중인 공간을 총 녹음 시간으로 나누어 주어진 녹음 중에 사용되는 평균 공간을 결정하는 메커니즘을 만듭니다. 그런 다음이 메트릭을 사용하여 남은 시간을 결정하십시오.

옵션 1은 시작하는 빠르고 쉬운 방법입니다. 옵션 2에는 좀 더 프로그래밍이 필요하지만 추정치는 실질적으로 더 정확합니다. 결국,이 인스턴스의 압축은 녹음중인 내용을 기반으로합니다. 1 시간 동안 단단한 녹색 스크린을 녹음하는 것은 지속적으로 변화하는 전경 또는 프랙탈 시퀀스로 움직이는 배경을 기록하는 것보다 실질적으로 디스크가 소요됩니다. 미리 좋은 견적을 할 수있는 방법이 없습니다.

다른 팁

지난 x 초 안에 수신 된 압축 속도를 사용하여 미래의 압축 크기 만 추정 할 수 있습니다. 값이 너무 크거나 너무 작습니다.

기간이 너무 작 으면 시간이 비디오의 움직임량에 따라 크게 변할 수 있고 시간이 너무 길어지면 시간이 매우 비정상적이지 않을 것입니다.

30 초의 시간이 합리적인 정확도를 제공 할 수있을 것 같아요

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top