Opened 9 months ago

Last modified 9 months ago

#9395 new defect

"-skip_frame nokey" ignored for AV1

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

Description (last modified by nobody)

I want to process video key frames only. I've been using -skip_frame nokey. This works for other video formats, but not AV1.

To reproduce this, execute:

ffprobe -select_streams v:0 -show_frames -skip_frame nokey -of compact foo.mp4

For AV1, although the output correctly marks frames as key_frame=1 or key_frame=0, it includes every frame.

I am using the ffmpeg builds from https://johnvansickle.com/ffmpeg/. Specifically ffmpeg-git-20210724-amd64-static.tar.xz, which says it uses libaom 3.1.2 and libdav1d 0.9.0.

Change History (5)

comment:1 by nobody, 9 months ago

Description: modified (diff)

in reply to:  2 comment:3 by nobody, 9 months ago

Replying to Balling:

See https://trac.ffmpeg.org/ticket/9180#comment:8

Is that related? The "pict_type" field already seems to be set correctly.

comment:4 by Balling, 9 months ago

Does ffplay -vcodec libaom-av1 -i file work? What about ffplay -vcodec libdav1d -i input? Can you try https://github.com/BtbN/FFmpeg-Builds/releases builds?

Last edited 9 months ago by Balling (previous) (diff)

in reply to:  4 comment:5 by nobody, 9 months ago

Replying to Balling:

Can you try https://github.com/BtbN/FFmpeg-Builds/releases builds?

Yes, the bug is still present in the latest build. For AV1 video files, ffprobe simply ignores -skip_frame nokey and ffmpeg additionally ignores -discard nokey. Curiously, -vf select=key works.

Does ffplay -vcodec libaom-av1 -i file work? What about ffplay -vcodec libdav1d -i input?

I can't try ffplay. I can't seem to get past this error (using Debian 10 Buster):

Could not initialize SDL - No available video device
(Did you set the DISPLAY variable?)

Note: See TracTickets for help on using tickets.