Зонд командной строки для битрейта видео на 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, включая издержки на пакетирование.

Другие вопросы по тегам