Это действительно хороший вопрос. К сожалению, нет надежного способа сделать это, но у вас есть два основных варианта:
- Предварительно вычислите среднее пространство, используемое за данную единицу времени при данной скорости передачи данных, на основе экспериментов или данных от поставщика кодеков.
- Начните с использования метода # 1, но затем также создайте механизм для определения среднего пространства, используемого во время данной записи, разделив пространство, используемое в данный момент файлом, от общего времени записи. Затем используйте этот показатель, чтобы определить оставшееся время.
Вариант 1 - это быстрый и простой способ начать работу. Вариант 2 требует немного больше программирования, но ваша оценка будет значительно более точной. В конце концов, сжатие в этих случаях основано на том, что вы записываете. Запись сплошного зеленого экрана в течение 1 часа занимает значительно меньше диска, чем запись движущегося фона с постоянно меняющимся передним планом или, возможно, последовательностью фракталов. Там нет никакого способа сделать хорошую оценку заранее.