Opened 16 months ago

Last modified 16 months ago

#11583 new defect

Certain AV1 failed "-c copy" for no keyframe was recognized throughout

Reported by: Nanasaki Owned by:
Priority: normal Component: ffmpeg
Version: git-master Keywords: corrupted output
Cc: Nanasaki, MasterQuestionable Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: yes

Description

Summary of the bug:
How to reproduce:

ffmpeg -hide_banner -i 'Solo Leveling S01E07-[1080p][BDRIP][AV1.OPUS].mkv' -map 0:0 -c copy -y out.mkv

Reproduced by developer of lossless-cut

https://github.com/mifi/lossless-cut/issues/2430#issuecomment-2858320192

file from: https://nyaa.si/view/1891749

or https://www.filemail.com/d/gfjzhhihvfthcum

ffmpeg version: n7.1.1-4-gdca3b4760f-20250317
built with gcc 14.2.0 (crosstool-NG 1.27.0.18_7458341)
configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --enable-shared --disable-static --disable-w32threads --enable-pthreads --enable-iconv --enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp --enable-libxml2 --enable-lzma --enable-fontconfig --enable-libharfbuzz --enable-libvorbis --enable-opencl --disable-libpulse --enable-libvmaf --disable-libxcb --disable-xlib --enable-amf --enable-libaom --enable-libaribb24 --enable-avisynth --enable-chromaprint --enable-libdav1d --enable-libdavs2 --enable-libdvdread --enable-libdvdnav --disable-libfdk-aac --enable-ffnvcodec --enable-cuda-llvm --enable-frei0r --enable-libgme --enable-libkvazaar --enable-libaribcaption --enable-libass --enable-libbluray --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librist --enable-libssh --enable-libtheora --enable-libvpx --enable-libwebp --enable-libzmq --enable-lv2 --enable-libvpl --enable-openal --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-librav1e --enable-librubberband --enable-schannel --enable-sdl2 --enable-libsnappy --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d --disable-libdrm --enable-vaapi --enable-libvidstab --enable-vulkan --enable-libshaderc --enable-libplacebo --disable-libvvenc --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --enable-libzvbi --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-libs=-lgomp --extra-ldflags=-pthread --extra-ldexeflags= --cc=x86_64-w64-mingw32-gcc --cxx=x86_64-w64-mingw32-g++ --ar=x86_64-w64-mingw32-gcc-ar --ranlib=x86_64-w64-mingw32-gcc-ranlib --nm=x86_64-w64-mingw32-gcc-nm --extra-version=20250317
libavutil      59. 39.100 / 59. 39.100
libavcodec     61. 19.101 / 61. 19.101
libavformat    61.  7.100 / 61.  7.100
libavdevice    61.  3.100 / 61.  3.100
libavfilter    10.  4.100 / 10.  4.100
libswscale      8.  3.100 /  8.  3.100
libswresample   5.  3.100 /  5.  3.100
libpostproc    58.  3.100 / 58.  3.100

Patches should be submitted to the ffmpeg-devel mailing list and not this bug tracker.

Attachments (1)

Solo.Leveling.S01E12-.1080p.BDRIP.AV1.OPUS.mkv.MediaInfo.txt (6.9 KB ) - added by Nanasaki 16 months ago.
MediaInfo

Download all attachments as: .zip

Change History (4)

comment:1 by Marton Balint, 16 months ago

The file does not signal keyframes and by default stream copy ignores all packets before the first keyframe.

You can use the -copyinkf output option to stream copy such a file.

Maybe a warning should be added if an unusually large number of packets are dropped before starting stream copy.

comment:2 by Marton Balint, 16 months ago

Component: undeterminedffmpeg
Priority: importantnormal
Version: unspecifiedgit-master

in reply to:  1 comment:3 by MasterQuestionable, 16 months ago

Cc: MasterQuestionable added
Summary: ffmpeg with certain files will output getting a 1kB output fileCertain AV1 failed "-c copy" for no keyframe was recognized throughout

͏    Such input is likely itself faulty:
͏    For the whole ~ 23 min duration had no single keyframe... (and giving no apparent visual artifact)
͏    Either self mistagged, or misrecognized by the decoder?

͏    However the Inter-frame compression be arranged:
͏    There must be at least 1 keyframe, for any normally decodable video.
[ ^
͏    Precisely should be I-slice.
͏    The component independently decodable without referring others.

͏    https://www.mux.com/video-glossary/slice ]

Last edited 16 months ago by MasterQuestionable (previous) (diff)
Note: See TracTickets for help on using tickets.