Что означает вывод `ffmpeg`? - PullRequest
       4

Что означает вывод `ffmpeg`?

0 голосов
/ 07 января 2020

Я конвертирую файл, и вот вывод. На этот вопрос есть частичный ответ здесь , поэтому я спрашиваю о не охваченных им частях. Я настроил ширину терминала, чтобы сохранить историю вывода

[olpc@laptop ~] ffmpeg -i input -c:a copy -s 384x216 output
ffmpeg version N-68778-g5c7227b Copyright (c) 2000-2014 the FFmpeg developers
  built on Dec 29 2014 22:12:54 with gcc 4.9.2 (GCC)

...

frame=2   fps=0.0 q=0.0  size=     0kB time=00:00:00.00 bitrate=   0.0kbits/s
frame=3   fps=2.0 q=0.0  size=     0kB time=00:00:00.00 bitrate=   0.0kbits/s
frame=5   fps=2.4 q=0.0  size=     0kB time=00:00:00.00 bitrate=   0.0kbits/s
frame=8   fps=2.9 q=0.0  size=     0kB time=00:00:00.00 bitrate=   0.0kbits/s
frame=10  fps=2.8 q=0.0  size=     0kB time=00:00:00.00 bitrate=   0.0kbits/s
frame=12  fps=2.9 q=0.0  size=     0kB time=00:00:00.00 bitrate=   0.0kbits/s
frame=13  fps=2.8 q=0.0  size=     0kB time=00:00:00.02 bitrate=  16.5kbits/s
frame=16  fps=3.1 q=0.0  size=     0kB time=00:00:00.48 bitrate=   0.8kbits/s
frame=19  fps=3.2 q=0.0  size=     0kB time=00:00:00.48 bitrate=   0.8kbits/s
frame=21  fps=3.2 q=0.0  size=     0kB time=00:00:00.48 bitrate=   0.8kbits/s

...

frame=687 fps=0.6 q=29.0 size=  1245kB time=00:00:22.84 bitrate= 446.5kbits/s
frame=688 fps=0.6 q=29.0 size=  1246kB time=00:00:22.84 bitrate= 446.7kbits/s
frame=689 fps=0.6 q=29.0 size=  1248kB time=00:00:22.84 bitrate= 447.5kbits/s
frame=690 fps=0.6 q=29.0 size=  1249kB time=00:00:22.84 bitrate= 447.8kbits/s
frame=691 fps=0.6 q=29.0 size=  1249kB time=00:00:22.84 bitrate= 448.0kbits/s
frame=692 fps=0.6 q=29.0 size=  1251kB time=00:00:22.84 bitrate= 448.7kbits/s
frame=693 fps=0.6 q=29.0 size=  1252kB time=00:00:22.84 bitrate= 448.8kbits/s
frame=694 fps=0.6 q=29.0 size=  1253kB time=00:00:22.84 bitrate= 449.1kbits/s
frame=695 fps=0.6 q=29.0 size=  1254kB time=00:00:22.84 bitrate= 449.7kbits/s
frame=696 fps=0.6 q=29.0 size=  1255kB time=00:00:22.84 bitrate= 449.9kbits/s
frame=697 fps=0.6 q=29.0 size=  1256kB time=00:00:22.84 bitrate= 450.2kbits/s
frame=698 fps=0.6 q=29.0 size=  1256kB time=00:00:22.84 bitrate= 450.3kbits/s
frame=699 fps=0.6 q=29.0 size=  1258kB time=00:00:22.84 bitrate= 451.0kbits/s
frame=699 fps=0.6 q=29.0 size=  1258kB time=00:00:22.87 bitrate= 450.5kbits/s
frame=701 fps=0.6 q=29.0 size=  1261kB time=00:00:23.31 bitrate= 443.1kbits/s

Второй сегмент занимал 20 секунд: 1 секунда на каждую строку до последней, а последний - 6 секунд, прежде чем отображался , Этот шаблон повторяется по всей длине файла. Насколько я понимаю, в видео есть контрольный кадр каждые 15 кадров, и хотя контрольного кадра нет, видео обрабатывается со скоростью 1 кадр / с.

Теперь мой вопрос: что такое time ссылаясь на? Кажется, это относится ко времени в видео, но почему оно останавливается на первые 13 кадров, а затем подкрадывается на 0,03 секунды, а затем прыгает на 0,44 секунды?

Кроме того, как может bitrate перепрыгнуть с 0,0 до 16,5 обратно на 0,8? (все вышеперечисленные строки обновляются с интервалом в одну секунду). Я имею в виду, что если через 7 секунд битрейт составит 16,5 кбит / с, то он должен обновиться как минимум до 105,5 кбит. Это означает, что даже если в следующую секунду ничего не будет обрабатываться, скорость передачи будет равна не менее 13,2 кбит / с после следующей (8-й) секунды.

Наконец, что означает q?

1 Ответ

1 голос
/ 07 января 2020

Частичный ответ:

bitrate вычисляется как (размер файла) / (количество времени в видео). Когда время в файле равно 0, приведенное выше значение не определено, поэтому битрейт указывается как 0.0kbits / se c.

Таким образом, когда чтение составляет 0,02 секунды в файл, размер выходного файла должен быть (16,5 кбит / с) * (0,02 с) = 0,33 кбит, следовательно, он все еще округляется до size=0kB. Однако, когда на следующей итерации чтение составляет 0,48 секунды в файл, тогда 0,33 кбит / 0,48 секунды = 0,7 кбит / с. Это означает, что между кадром 13 и кадром 16 размер выходного файла действительно увеличивается, поскольку скорость вывода теперь составляет 0,8 кбит / с.

Теперь, почему он скачет на 0,02 секунды, прежде чем перейти к полному переходу на 0,48 секунды вне меня. Может быть, кто-то еще может ответить на это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...