Ffmpeg 什么是“;具有"b"帧”;FFprobe输出中的平均值?

Ffmpeg 什么是“;具有"b"帧”;FFprobe输出中的平均值?,ffmpeg,h.264,ffprobe,Ffmpeg,H.264,Ffprobe,我正在使用ffprobe检查视频文件以查找视频文件是否有任何b_帧,在检查不同的视频文件时,我可以看到ffprobe输出显示“有b_帧=0”、“有b_帧=1”和“有b_帧=2” index=0 codec_name=h264 codec_long_name=H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 profile=Main codec_type=video codec_time_base=1001/60000 codec_tag_string=avc1

我正在使用ffprobe检查视频文件以查找视频文件是否有任何b_帧,在检查不同的视频文件时,我可以看到ffprobe输出显示“
有b_帧=0
”、“
有b_帧=1
”和“
有b_帧=2

index=0
codec_name=h264
codec_long_name=H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
profile=Main
codec_type=video
codec_time_base=1001/60000
codec_tag_string=avc1
codec_tag=0x31637661
width=1080
height=1920
coded_width=1088
coded_height=1920
has_b_frames=1
“has_b_frames=0”表示视频文件中没有b帧


有人能告诉我这些值表示什么吗?

通常表示是否存在视频延迟,即帧的显示顺序与解码顺序相同。引用的实际属性取决于特定的比特流格式。对于H264,它是帧间的最大预期延迟(以帧为单位)编码及其表示。对于其他编解码器,它可能会显示是否有延迟,但不会显示延迟的程度。

什么是“帧解码及其表示”的意思?什么是“帧解码”的时间?以及“帧表示”的时间与帧相关联的时间点是多少?正如答案所说,对于H264,它是解码和呈现之间的帧间隔。比如说,存储和解码顺序是IP B2 B1 B3,然后P是第二帧解码。呈现顺序是I B1 B2 B3 P,所以它是呈现的第五帧。请原谅我的业余问题-所以呈现顺序是,视频播放器播放的顺序(“播放”)帧?而存储/解码顺序是流数据本身的位序列?你能帮我解决这个问题吗?我认为这是一个与表示和基本时基有关的问题。
时基
编解码器时基
存在差异。有人知道如何启用B帧吗?