Расчет битрейта - PullRequest
       5

Расчет битрейта

0 голосов
/ 18 января 2010

(извините за мой английский, он урод из Лос-Анджелеса) Я пытаюсь завершить процесс трассировки в VB6.0, я работаю с ffmpeg, очень хорошим транскодером, чтобы завершить проект, я хочу индикатор выполнения процесса трассировки, но это очень сложно, сначала мне нужно понять, как программа может рассчитать время, оставшееся до процесса, если у меня есть входные данные

  • Средний битрейт
  • Частота кадров
  • Размер файла запуска.

Я пытаюсь: Размер файла (КБ) / Средний битрейт Кб / с.

Теоретически это должно работать, но рассчитанное время очень мало, чем в реальном времени. Кто-то имеет какое-либо представление об этом, какова формула (отсеченная) для вычисления времени, оставшегося в процессе трассировки. В этой удивительной паутине я нахожу множество ответов на проекты MyS ..

Ответы [ 2 ]

1 голос
/ 19 января 2010

Битрейт не поможет вам в расчете прогресса.

Если у вас есть длина файла в секундах и частота кадров, а ffmpeg выводит, какой кадр обрабатывает в данный момент, вы можете рассчитать приблизительное время.

0 голосов
/ 19 января 2010

Общее решение для «оставшегося времени» дано:

  • Число total_units, которое представляет размер, количество единиц и т. Д. Для обработки
  • Число единиц_обработки, которое представляет, сколько M было обработано до сих пор
  • Число start_seconds, которое дает время в секундах с момента начала операции

есть:

seconds_elapsed = current time - start time
seconds_per_unit = seconds_elapsed / units_processed
units_left = total_units - units_processed
seconds_remaining = unit_left / seconds_per_unit

Этот алгоритм работает лучше всего, когда время обработки каждой единицы почти одинаково или, по крайней мере, когда время / единица имеет небольшую корреляцию с прошедшим временем. Воняет на льду, если время / единица изменяется с истекшим временем.

...