当我在带有参数的HLS流中执行next ff探测命令以以平面格式显示特定流视频中的帧和以“pkt”模式显示grep时,它将返回以下信息:
$ 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是秒。这是真的?
发布于 2015-02-15 06:24:37
区别在于,pkt_duration不是以微秒为单位,而是在时间基切片中,通常如下所示:
1/framerate/1000pkt_duration_time以秒为单位。您可以通过传递“-unit”选项来查看这些单元:
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关于时间基的更多信息。
https://stackoverflow.com/questions/28498724
复制相似问题