Opened 5 years ago

Last modified 5 years ago

#8392 reopened defect

ffprobe skip_frame nokey on wmv shows improper results

Reported by: emmdev Owned by:
Priority: normal Component: undetermined
Version: unspecified Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug:
How to reproduce:

ffprobe -select_streams v -show_entries frame=key_frame,pkt_dts_time,best_effort_timestamp_time,pict_type -sexagesimal inputfile.wmv
vs
ffprobe -select_streams v -skip_frame nokey -show_entries frame=key_frame,pkt_dts_time,best_effort_timestamp_time,pict_type -sexagesimal inputfile.wmv

Result for all frames (excerpt):

[FRAME]
key_frame=0
pkt_dts_time=0:00:09.976000
best_effort_timestamp_time=0:00:09.976000
pict_type=P
[/FRAME]
[FRAME]
key_frame=0
pkt_dts_time=0:00:10.009000
best_effort_timestamp_time=0:00:10.009000
pict_type=P
[/FRAME]
[FRAME]
key_frame=1
pkt_dts_time=0:00:10.043000
best_effort_timestamp_time=0:00:10.043000
pict_type=I
[/FRAME]
[FRAME]
key_frame=0
pkt_dts_time=0:00:10.076000
best_effort_timestamp_time=0:00:10.076000
pict_type=P
[/FRAME]

Result for just keyframes / skip_frame nokey (excerpt):

[FRAME]
key_frame=1
pkt_dts_time=0:00:10.009000
best_effort_timestamp_time=0:00:10.009000
pict_type=I
[/FRAME]
[FRAME]
key_frame=1
pkt_dts_time=0:00:20.019000
best_effort_timestamp_time=0:00:20.019000
pict_type=I
[/FRAME]

I've only supplied the corresponding "all frames" entries for the first entry of the "just keyframes" output, to keep it shorter.

It shows "all frames" listing the keyframe at 0:00:10.043000 when skip_frame nokey lists it at 0:00:10.009000, a timestamp which corresponds to a P frame.

On mp4/avc it's a mixed bag. When using pkt_dts_time, it behaves the same as above, but when using pkt_pts_time it works fine, both outputs (all & keyframes) show the same matching timestamps.

The file in question is really large, so I can't upload it, wmv/wvc1, has no pkt_pts_time (i.e. it's N/A), which is why I used pkt_dts_time and best_effort_timestamp_time (which in this case seems to be one and the same).

Change History (2)

comment:1 by Carl Eugen Hoyos, 5 years ago

Resolution: needs_more_info
Status: newclosed

Please reopen this ticket if you can point us to an input file that allows to reproduce.

comment:2 by emmdev, 5 years ago

Resolution: needs_more_info
Status: closedreopened

OK, I found some sample files on mplayerhq, they exhibit the same issue.

http://samples.mplayerhq.hu/V-codecs/WVC1/

file: FlightSimX_720p60_51_15Mbps.wmv
keys only ex: key_frame=1 pkt_dts_time=0:00:05.972000 pict_type=I
all frames equiv: key_frame=0 pkt_dts_time=0:00:05.972000 pict_type=P

file: Test_1440x576_WVC1_6Mbps.wmv
keys only ex: key_frame=1 pkt_dts_time=0:00:05.000000 pict_type=I
all frames equiv: key_frame=0 pkt_dts_time=0:00:05.000000 pict_type=P

pkt_pts_time is N/A for this type of file.

http://samples.mplayerhq.hu/V-codecs/AVC1/

file: NeroRecode_STD_AVC_(ateme1022).mp4
keys only ex: missing
all frames equiv: key_frame=1 pkt_dts_time=0:00:00.040000 pict_type=I
keys only ex: key_frame=1 pkt_dts_time=0:00:02.960000 pict_type=I
all frames equiv: key_frame=0 pkt_dts_time=0:00:02.960000 pict_type=P

pkt_dts_time doesn't match while pkt_pts_time is listed properly for this file.

Note: See TracTickets for help on using tickets.