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

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

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

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

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


person Geovanny1974    schedule 18.01.2010    source источник
comment
Лос-Анджелес? Это объясняет несколько вещей.   -  person JMD    schedule 19.01.2010
comment
Дон t use back apostrophes it ain т весело.   -  person Kornel Kisielewicz    schedule 19.01.2010
comment
Извините всех так же, как я изучаю программирование, я учусь говорить и писать по-английски, спасибо за понимание, что я живу в Лос-Анджелесе, но я из Аргентины ...   -  person Geovanny1974    schedule 19.01.2010


Ответы (2)


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

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

person adamJLev    schedule 18.01.2010

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

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

is:

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

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

person Wayne Conrad    schedule 18.01.2010