Existe uma maneira de usar o ffprobe ou ferramentas de linha de comando semelhantes para testar a taxa de bits do vídeo por GOP?
ffprobe parece gerar apenas a taxa de bits geral para todo o vídeo, mas não para os pacotes.
ffprobe -i video.mp4 -show_entries packets
que eu acho que é um grupo de fotos.
[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]
Responder1
Um pacote não é um grupo de imagens – dependendo do contêiner, um pacote é apenas um quadro ou também pode conter apenas parte de um quadro.
Em vez disso, você deve verificar se possui um pacote contendo um quadro-chave. Verifique o flags
atributo. Se você conseguir K
, este é o início do GOP. Lembre-se do DTS do pacote e some o size
atributo até chegar ao próximo quadro-chave, dividindo essa soma pelo delta em carimbos de data/hora ou, alternativamente, pela soma de duration_time
.
Isto lhe dará a taxa de bits por GOP, incluindo sobrecarga de empacotamento.