ffprobe 中 pkt_duration 和 pkt_duration 时间的区别
Diference between pkt_duration and pkt_duration_time in ffprobe
当我在 HLS 流中执行下一个 ffprobe 命令时,其参数以平面格式显示特定流视频中的帧并使用 'pkt' 模式进行 grep,它 returns 此信息:
$ ffprobe -i http://xxxxxxxxxxxxxxxx/PCMDY_SUB.m3u8 -show_frames -select_streams v:0 -print_format flat | grep pkt
...
frames.frame.229.pkt_pts=2438664735,
frames.frame.229.pkt_pts_time=27096.274833,
frames.frame.229.pkt_dts=2438664735,
frames.frame.229.pkt_dts_time=27096.274833,
frames.frame.229.pkt_duration=3600,
frames.frame.229.pkt_duration_time="0.040000",
frames.frame.229.pkt_pos=13348,
frames.frame.229.pkt_size=2510,
frames.frame.230.pkt_pts=2438668335,
frames.frame.230.pkt_pts_time=27096.314833,
frames.frame.230.pkt_dts=2438668335,
frames.frame.230.pkt_dts_time=27096.314833,
frames.frame.230.pkt_duration=3600,
frames.frame.230.pkt_duration_time="0.040000",
frames.frame.230.pkt_pos=15980,
frames.frame.230.pkt_size=2389,
...
带 _time 模式和不带模式的信息有什么区别?。
我假设 pkt_duration 以微秒为单位,而 pkt_duration_time 以秒为单位。是真的吗?
不同的是pkt_duration不是以微秒为单位而是以时基片为单位,常像:
1/framerate/1000
pkt_duration_time 以秒为单位。您可以通过将“-unit”选项传递给 ffprobe 来查看单位:
ffprobe -i i.mp4 -show_frames -unit
....
pkt_pts=14014
pkt_pts_time=0.233567 s
pkt_dts=14014
pkt_dts_time=0.233567 s
pkt_duration=2002
pkt_duration_time=0.033367 s
More info关于时基。
当我在 HLS 流中执行下一个 ffprobe 命令时,其参数以平面格式显示特定流视频中的帧并使用 'pkt' 模式进行 grep,它 returns 此信息:
$ ffprobe -i http://xxxxxxxxxxxxxxxx/PCMDY_SUB.m3u8 -show_frames -select_streams v:0 -print_format flat | grep pkt
...
frames.frame.229.pkt_pts=2438664735,
frames.frame.229.pkt_pts_time=27096.274833,
frames.frame.229.pkt_dts=2438664735,
frames.frame.229.pkt_dts_time=27096.274833,
frames.frame.229.pkt_duration=3600,
frames.frame.229.pkt_duration_time="0.040000",
frames.frame.229.pkt_pos=13348,
frames.frame.229.pkt_size=2510,
frames.frame.230.pkt_pts=2438668335,
frames.frame.230.pkt_pts_time=27096.314833,
frames.frame.230.pkt_dts=2438668335,
frames.frame.230.pkt_dts_time=27096.314833,
frames.frame.230.pkt_duration=3600,
frames.frame.230.pkt_duration_time="0.040000",
frames.frame.230.pkt_pos=15980,
frames.frame.230.pkt_size=2389,
...
带 _time 模式和不带模式的信息有什么区别?。
我假设 pkt_duration 以微秒为单位,而 pkt_duration_time 以秒为单位。是真的吗?
不同的是pkt_duration不是以微秒为单位而是以时基片为单位,常像:
1/framerate/1000
pkt_duration_time 以秒为单位。您可以通过将“-unit”选项传递给 ffprobe 来查看单位:
ffprobe -i i.mp4 -show_frames -unit
....
pkt_pts=14014
pkt_pts_time=0.233567 s
pkt_dts=14014
pkt_dts_time=0.233567 s
pkt_duration=2002
pkt_duration_time=0.033367 s
More info关于时基。