Зонд командной строки для битрейта видео на GOP
Есть ли способ использовать ffprobe или аналогичные инструменты командной строки для определения битрейта видео на GOP?
ffprobe, по-видимому, выводит только общую скорость передачи битов для всего видео, но не для пакетов.
ffprobe -i video.mp4 -show_entries packets
который я думаю, это группа фотографий.
[PACKET]
codec_type=video
stream_index=0
pts=126976
pts_time=9.920000
dts=126464
dts_time=9.880000
duration=512
duration_time=0.040000
convergence_duration=N/A
convergence_duration_time=N/A
size=6229
pos=5648590
flags=__
[/PACKET]
1 ответ
Пакет не является группой изображений - в зависимости от контейнера пакет представляет собой всего один кадр или может также содержать только часть кадра.
Вместо этого вы должны посмотреть, есть ли у вас пакет, содержащий ключевой кадр. Проверить flags
приписывать. Если вы получите K
в этом, это начало Республиканской партии. Запомните пакет DTS и суммируйте size
атрибута, пока не дойдете до следующего ключевого кадра, разделив эту сумму на дельту в метках времени или, альтернативно, на сумму duration_time
,
Это даст вам битрейт на GOP, включая издержки на пакетирование.