Я использую ffmpeg для преобразования домашнего видео в формат DVD и хочу рассчитать размер выходного файла перед выполнением преобразования.
Мой входной файл имеет скорость передачи данных 7700 кбит / с и длину 114 секунд. Скорость передачи аудио составляет 256 кбит (в секунду?). Входной файл составляет 77 МБ. Чтобы получить эту информацию, я побежал:
mplayer -vo null -ao null -frames 0 -identify input.MOD
Таким образом, теоретически входной файл должен иметь (примерно) размер файла:
((7700/8) * 114) / 1024
То есть (7700/8) - это килобайты в секунду, умноженные на 114 секунд, а затем преобразованные в мегабайты. Это дает мне 107 МБ, что намного превышает мои 77. Таким образом, я скептически отношусь к его формуле.
Тем не менее, после преобразования видео:
ffmpeg -i input.MOD -y -target ntsc-dvd -sameq -aspect 4:3 output.mpg
Числа, кажется, имеют больше смысла. Битрейт составляет 9000 кбит / с, и, применяя приведенную выше формулу, я получаю 125 МБ, а мой фактический размер выходного файла составляет 126 МБ.
Итак, два вопроса:
Как включить битрейт аудио в этот расчет? Это дополнение (размер видеофайла + размер аудиофайла)?
Всегда ли DVD имеют скорость 9000 килобит / секунду? Это определение DVD? Или это может измениться в зависимости от качества моего входного видео? Что "-target ntsc-dvd" гарантирует относительно моего видео?
Почему мой входной файл не «соответствует» расчету, а выходной файл соответствует? Есть ли какая-то другая переменная, которую я не учитываю?
Как правильно рассчитать размер файла?