[FFmpeg-trac] #8381(undetermined:new): Remuxing of AV1 WebM file to IVF creates unplayable file

FFmpeg trac at avcodec.org
Fri Nov 15 15:01:00 EET 2019


#8381: Remuxing of AV1 WebM file to IVF creates unplayable file
-------------------------------------+-------------------------------------
               Reporter:  rbultje    |                  Owner:
                   Type:  defect     |                 Status:  new
               Priority:  normal     |              Component:
                Version:             |  undetermined
  unspecified                        |               Keywords:
             Blocked By:             |               Blocking:
Reproduced by developer:  0          |  Analyzed by developer:  0
-------------------------------------+-------------------------------------
 $ aomdec ~/Downloads/autostitch-10s.webm -o - --md5 --rawvideo
 5be667329ee6d684db4fc540d97f919c  -
 $ ffmpeg -i ~/Downloads/autostitch-10s.webm -c:v copy /tmp/autostitch-
 10s.ivf
 ffmpeg version N-95733-g73ee53f Copyright (c) 2000-2019 the FFmpeg
 developers
   built with Apple LLVM version 9.0.0 (clang-900.0.38)
   configuration: --enable-gpl --samples=/Users/ronaldbultje/Movies/fate-
 suite-ff --enable-libvpx --enable-libx264 --disable-autodetect --enable-
 ffplay --enable-sdl2 --enable-version3 --enable-libaom --enable-libdav1d
   libavutil      56. 35.101 / 56. 35.101
   libavcodec     58. 62.100 / 58. 62.100
   libavformat    58. 35.100 / 58. 35.100
   libavdevice    58.  9.100 / 58.  9.100
   libavfilter     7. 66.100 /  7. 66.100
   libswscale      5.  6.100 /  5.  6.100
   libswresample   3.  6.100 /  3.  6.100
   libpostproc    55.  6.100 / 55.  6.100
 [libdav1d @ 0x7fa351817c00] libdav1d 0.5.1-5-g14a67d7
 Input #0, matroska,webm, from '/Users/ronaldbultje/Downloads/autostitch-
 10s.webm':
   Metadata:
     ENCODER         : Lavf58.20.100
   Duration: 00:00:10.00, start: 0.000000, bitrate: 867 kb/s
     Stream #0:0: Video: av1 (Main), yuv420p(tv), 852x480, SAR 1:1 DAR
 71:40, 30 fps, 30 tbr, 1k tbn, 1k tbc (default)
     Metadata:
       DURATION        : 00:00:10.000000000
 Output #0, ivf, to '/tmp/autostitch-10s.ivf':
   Metadata:
     encoder         : Lavf58.35.100
     Stream #0:0: Video: av1 (Main) (AV01 / 0x31305641), yuv420p(tv),
 852x480 [SAR 1:1 DAR 71:40], q=2-31, 30 fps, 30 tbr, 1k tbn, 1k tbc
 (default)
     Metadata:
       DURATION        : 00:00:10.000000000
 Stream mapping:
   Stream #0:0 -> #0:0 (copy)
 Press [q] to stop, [?] for help
 [AVBSFContext @ 0x7fa350d0dc00] Warning: skip_mode_present does not match
 inferred value: 1, but should be 0.
     Last message repeated 6 times
 frame=  300 fps=0.0 q=-1.0 Lsize=    1060kB time=00:00:09.96 bitrate=
 871.1kbits/s speed=1.57e+03x
 video:1056kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
 muxing overhead: 0.391450%
 $ aomdec /tmp/autostitch-10s.ivf -o - --md5 --rawvideo
 Warning: Failed to decode frame 31: Corrupt frame detected
 Warning: Additional information: Failed to decode tile data
 c5d248aaadefebe05e6cfd58bbc92a65  -

 Remuxing of this WebM appears broken, because the generated YUV for the
 WebM file by aomdec looks visually OK - the IVF decoded YUV looks broken,
 though. dav1d gives me a different md5, probably because it doesn't
 immediately abort but continues after the next keyframe, but it still
 looks broken.

 $ dav1d -i /tmp/autostitch-10s.ivf --muxer=md5 -o -
 dav1d 0.5.1-5-g14a67d7 - by VideoLAN
 Decoded 300/300 frames (100.0%) - 369.41/30.00 fps (12.31x)
 ceea0af45328eed2d53db7ff7d7e03dd

 Or using ffmpeg (which I think also tries to resume at next keyframes for
 the IVF file), but also generates the correct MD5 for the WebM file:

 bash-4.4$ ~/Projects/ffmpeg/x86-64-gpl/ffmpeg -reinit_filter 0 -i
 ~/Downloads/autostitch-10s.webm -f md5 -v error -nostats -
 MD5=5be667329ee6d684db4fc540d97f919c
 bash-4.4$ ~/Projects/ffmpeg/x86-64-gpl/ffmpeg -reinit_filter 0 -i /tmp
 /autostitch-10s.ivf -f md5 -v error -nostats -
 MD5=ceea0af45328eed2d53db7ff7d7e03dd

 (ffmpeg uses libdav1d for decoding btw, in case you're wondering:
 $ ffmpeg -reinit_filter 0 -i ~/Downloads/autostitch-10s.webm -f md5 -v
 info -nostats -
 ffmpeg version N-95733-g73ee53f Copyright (c) 2000-2019 the FFmpeg
 developers
   built with Apple LLVM version 9.0.0 (clang-900.0.38)
   configuration: --enable-gpl --samples=/Users/ronaldbultje/Movies/fate-
 suite-ff --enable-libvpx --enable-libx264 --disable-autodetect --enable-
 ffplay --enable-sdl2 --enable-version3 --enable-libaom --enable-libdav1d
 [..]
 [libdav1d @ 0x7fa101804400] libdav1d 0.5.1-5-g14a67d7
 Input #0, matroska,webm, from '/Users/ronaldbultje/Downloads/autostitch-
 10s.webm':
 [..])

--
Ticket URL: <https://trac.ffmpeg.org/ticket/8381>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list