Opened 11 years ago

Closed 10 years ago

#3475 closed defect (fixed)

-skip_frame nokey doesn't work with ffprobe for H.264

Reported by: Prakash Owned by:
Priority: normal Component: avcodec
Version: git-master Keywords: skip_frame h264
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description (last modified by Carl Eugen Hoyos)

Summary of the bug:
How to reproduce:

% ffprobe -skip_frame nokey -select_streams v -show_frames -i input.mp4
 ... output
ffprobe version N-60386-g9c978f2 Copyright (c) 2007-2014 the FFmpeg developers
  built on Feb  5 2014 22:08:32 with gcc 4.8.2 (GCC)
[FRAME]
media_type=video
key_frame=1
pkt_pts=1000
pkt_pts_time=0.040000
pkt_dts=1000
pkt_dts_time=0.040000
best_effort_timestamp=1000
best_effort_timestamp_time=0.040000
pkt_duration=1000
pkt_duration_time=0.040000
pkt_pos=1191176
pkt_size=3327
width=1920
height=1080
pix_fmt=yuv420p
sample_aspect_ratio=1:1
pict_type=I
coded_picture_number=0
display_picture_number=0
interlaced_frame=0
top_field_first=0
repeat_pict=0
[/FRAME]
[FRAME]
media_type=video
key_frame=0
pkt_pts=2000
pkt_pts_time=0.080000
pkt_dts=2000
pkt_dts_time=0.080000
best_effort_timestamp=2000
best_effort_timestamp_time=0.080000
pkt_duration=1000
pkt_duration_time=0.040000
pkt_pos=1194771
pkt_size=268
width=1920
height=1080
pix_fmt=yuv420p
sample_aspect_ratio=1:1
pict_type=B
coded_picture_number=2
display_picture_number=0
interlaced_frame=0
top_field_first=0
repeat_pict=0
[/FRAME]
[FRAME]

As per ticket #1859 this is supposed to be fixed. But I can repro it easily with the
latest build. Is this a bug or am I doing something wrong?

I expect the output to only show the key frames information but instead it shows all the

Attachments (1)

wildlife.mp4 (2.3 MB ) - added by Prakash 11 years ago.
sample mp4 failing for -skip_frame nokey option on ffprobe

Change History (6)

comment:1 by Carl Eugen Hoyos, 11 years ago

Description: modified (diff)
Keywords: skip_frame added; ffprobe show_frame removed
Resolution: worksforme
Status: newclosed

I tested the following:

$ ffprobe -select_streams v -show_frames fate-suite/svq3/Vertical400kbit.sorenson3.mov >test
$ ffprobe -skip_frame nokey -select_streams v -show_frames fate-suite/svq3/Vertical400kbit.sorenson3.mov >test2

The output file test2 is much smaller than the file test and its creation takes significantly less time.

comment:2 by Prakash, 11 years ago

Resolution: worksforme
Status: closedreopened

I too see that the text file is smaller and it runs faster. But In test2 file you will still see information about frames that are not key i.e
[frame]
media_type=video
key_frame=0

I would have expected that no lines with key_frame=0 should be present in the output. I also see that there are lots of warnings when running with skip_frame nokey options: like

Cannot use next picture in error concealment
[h264 @ 01089A60] concealing 3600 DC, 3600 AC, 3600 MV errors in P frame
[h264 @ 00FD0A20] concealing 3600 DC, 3600 AC, 3600 MV errors in P frame
[h264 @ 02BC2EC0] concealing 3600 DC, 3600 AC, 3600 MV errors in P frame
[h264 @ 02C89380] [h264 @ 02C26120] concealing 3600 DC, 3600 AC, 3600 MV errors
in P frame
concealing 3600 DC, 3600 AC, 3600 MV errors in P frame
[h264 @ 00EC33E0] concealing 3600 DC, 3600 AC, 3600 MV errors in P frame
[h264 @ 00FD0A20] Cannot use next picture in error concealment
[h264 @ 01089A60] [h264 @ 00FD0A20] concealing 3600 DC, 3600 AC, 3600 MV errors
in P frame
concealing 3600 DC, 3600 AC, 3600 MV errors in P frame
[h264 @ 02C26120] concealing 3600 DC, 3600 AC, 3600 MV errors in P frame
[h264 @ 00F6DA00] concealing 3600 DC, 3600 AC, 3600 MV errors in P frame
...............

comment:3 by Carl Eugen Hoyos, 11 years ago

Please provide your sample.

by Prakash, 11 years ago

Attachment: wildlife.mp4 added

sample mp4 failing for -skip_frame nokey option on ffprobe

comment:4 by Prakash, 11 years ago

Attached is the file. This is the sample wildlife.wmv file present in windows 7.

ffprobe -skip_frame nokey -select_streams v -show_frames wildlife.wmv

works fine as expected.where as:

ffpropbe -i wildlife.wmv -b:v 512k wildlife.mp4
ffprobe -skip_frame nokey -select_streams v -show_frames wildlife.mp4

results in all the frames being dumped and the output has a bunch of warnings.

[h264 @ 000000000424dfa0] concealing 3600 DC, 3600 AC, 3600 MV errors in P frame

[h264 @ 0000000005e4ccc0] Cannot use next picture in error concealment
[h264 @ 0000000003e81a40] concealing 3600 DC, 3600 AC, 3600 MV errors in P frame

[h264 @ 0000000005e4ccc0] concealing 3600 DC, 3600 AC, 3600 MV errors in P frame

[h264 @ 000000000470a560] Cannot use next picture in error concealment
[h264 @ 00000000041700a0] concealing 3600 DC, 3600 AC, 3600 MV errors in P frame

[h264 @ 0000000003db0020] Cannot use next picture in error concealment
[h264 @ 000000000470a560] concealing 3600 DC, 3600 AC, 3600 MV errors in P frame

[h264 @ 000000000444da20] concealing 3600 DC, 3600 AC, 3600 MV errors in P frame

[h264 @ 00000000044bd540] concealing 3600 DC, 3600 AC, 3600 MV errors in P frame

[h264 @ 0000000003db0020] concealing 3600 DC, 3600 AC, 3600 MV errors in P frame

[h264 @ 0000000003e81a40] Cannot use next picture in error concealment
[h264 @ 000000000424dfa0] concealing 3600 DC, 3600 AC, 3600 MV errors in P frame

[h264 @ 0000000005e4ccc0] Cannot use next picture in error concealment
[h264 @ 000000000470a560] Cannot use next picture in error concealment

comment:5 by Carl Eugen Hoyos, 10 years ago

Component: ffprobeavcodec
Keywords: h264 added
Resolution: fixed
Status: reopenedclosed
Summary: -skip_frame nokey doesn't work with ffprobe-skip_frame nokey doesn't work with ffprobe for H.264

Michael fixed the H.264 issue (see #2910) in 7eae8cd8

Note: See TracTickets for help on using tickets.