Opened 3 years ago
Closed 2 years ago
#10711 closed defect (fixed)
Parsing dash/vp9 chunk fails with "error reading header"
| Reported by: | paul31415 | Owned by: | |
|---|---|---|---|
| Priority: | normal | Component: | avformat |
| Version: | git-master | Keywords: | mp4 |
| Cc: | mig | Blocked By: | |
| Blocking: | Reproduced by developer: | yes | |
| Analyzed by developer: | yes |
Description
Summary of the bug: ffprobe fails with "error reading header"
How to reproduce:
The data is small (800b), so I attached a base64 command line to generated the data (I also attache the binary if it's more convenient).
echo AAAAGGZ0eXBkYXNoAAAAAGlzbzZtcDQxAAADEG1vb3YAAABsbXZoZAAAAADhjvKc4Y7ynAAAA+gAAAAAAAEAAAEAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAobXZleAAAACB0cmV4AAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAACdHRyYWsAAABcdGtoZAAAAAPhjvKc4Y7ynAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAPAAAACHAAAAAAAhBtZGlhAAAAIG1kaGQAAAAA4Y7ynOGO8pwAAAPoAAAAAFXEAAAAAABfaGRscgAAAAAAAAAAdmlkZQAAAAAAAAAAAAAAAElTTyBNZWRpYSBmaWxlIHByb2R1Y2VkIGJ5IEdvb2dsZSBJbmMuIENyZWF0ZWQgb246IDExLzMwLzIwMjMuAAAAAYltaW5mAAAAJGRpbmYAAAAcZHJlZgAAAAAAAAABAAAADHVybCAAAAABAAABSXN0YmwAAADtc3RzZAAAAAAAAAABAAAA3XZwMDkAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAPAAhwAEgAAABIAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY//8AAAAUdnBjQwEAAAACM6AJEAkAAAAAABNjb2xybmNseAAJABAACQAAAAAgbWRjdi/aiU4a9AoohGw+5D0TQEIAmJaAAAAAAQAAACRTbURtAAAAAD64s/cjUw1PrZFSblANVDkAA+gAAAAAAQAAAAxjbGxpBEwAtAAAABBDb0xMAAAAAARMALQAAAAQc3R0cwAAAAAAAAAAAAAAEHN0c2MAAAAAAAAAAAAAABBzdGNvAAAAAAAAAAAAAAAUc3RzegAAAAAAAAAAAAAAAAAAABBzdHNzAAAAAAAAAAAAAAAUdm1oZAAAAAEAAAAAAAAAAA== | base64 -d -o data
Calling ffprobe (or ffmpeg) on the data seems to fail with a reading header issue:
ffprobe -v 9 -loglevel 99 data ffprobe version N-112876-ga30adf9f96 Copyright (c) 2007-2023 the FFmpeg developers built with Apple clang version 15.0.0 (clang-1500.0.40.1) configuration: --extra-libs= --extra-ldflags= --extra-ldexeflags= --pkg-config-flags=--static --disable-autodetect --prefix=/Users/paul/git/ffmpeg-static-builder/dist/mac/arm64//ffmpeg --enable-version3 --pkg-config=pkg-config --enable-runtime-cpudetect --enable-pthreads --disable-w32threads --enable-libtheora --enable-libvpx --enable-libvorbis --disable-indev=sndio --disable-outdev=sndio --enable-neon --enable-libopenjpeg --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-gpl --enable-openssl --enable-libvo-amrwbenc --enable-libopus --enable-libx264 --enable-libx265 --enable-libaom --enable-libwebp --enable-libxvid --enable-libmp3lame --enable-zlib --enable-ffprobe --enable-pic --disable-doc --enable-demuxer=dash --enable-libxml2 libavutil 58. 32.100 / 58. 32.100 libavcodec 60. 35.100 / 60. 35.100 libavformat 60. 18.100 / 60. 18.100 libavdevice 60. 4.100 / 60. 4.100 libavfilter 9. 14.100 / 9. 14.100 libswscale 7. 6.100 / 7. 6.100 libswresample 4. 13.100 / 4. 13.100 libpostproc 57. 4.100 / 57. 4.100 [AVFormatContext @ 0x12a605930] Opening 'bin' for reading [file @ 0x600003990e00] Setting default whitelist 'file,crypto,data' Probing mov,mp4,m4a,3gp,3g2,mj2 score:100 size:808 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x12a605930] Format mov,mp4,m4a,3gp,3g2,mj2 probed with size=2048 and score=100 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x12a605930] type:'ftyp' parent:'root' sz: 24 8 808 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x12a605930] ISO: File Type Major Brand: dash [mov,mp4,m4a,3gp,3g2,mj2 @ 0x12a605930] type:'moov' parent:'root' sz: 784 32 808 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x12a605930] type:'mvhd' parent:'moov' sz: 108 8 776 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x12a605930] time scale = 1000 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x12a605930] type:'mvex' parent:'moov' sz: 40 116 776 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x12a605930] type:'trex' parent:'mvex' sz: 32 8 32 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x12a605930] type:'trak' parent:'moov' sz: 628 156 776 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x12a605930] type:'tkhd' parent:'trak' sz: 92 8 620 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x12a605930] type:'mdia' parent:'trak' sz: 528 100 620 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x12a605930] type:'mdhd' parent:'mdia' sz: 32 8 520 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x12a605930] type:'hdlr' parent:'mdia' sz: 95 40 520 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x12a605930] ctype=[0][0][0][0] [mov,mp4,m4a,3gp,3g2,mj2 @ 0x12a605930] stype=vide [mov,mp4,m4a,3gp,3g2,mj2 @ 0x12a605930] type:'minf' parent:'mdia' sz: 393 135 520 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x12a605930] type:'dinf' parent:'minf' sz: 36 8 385 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x12a605930] type:'dref' parent:'dinf' sz: 28 8 28 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x12a605930] Unknown dref type 0x206c7275 size 12 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x12a605930] type:'stbl' parent:'minf' sz: 329 44 385 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x12a605930] type:'stsd' parent:'stbl' sz: 237 8 321 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x12a605930] size=221 4CC=vp09 codec_type=0 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x12a605930] type:'vpcC' parent:'stsd' sz: 20 8 135 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x12a605930] type:'colr' parent:'stsd' sz: 19 28 135 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x12a605930] nclx: pri 9 trc 16 matrix 9 full 0 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x12a605930] type:'mdcv' parent:'stsd' sz: 32 47 135 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x12a605930] type:'SmDm' parent:'stsd' sz: 36 79 135 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x12a605930] error reading header [AVIOContext @ 0x12a605ba0] Statistics: 808 bytes read, 0 seeks bin: Invalid data found when processing input
Some context: this files comes from a HLS stream and is the first chunk of the stream.
The data seems valid, as mediainfo seems to parse it properly:
mediainfo bin General Complete name : bin Format : dash Codec ID : dash (iso6/mp41) File size : 808 Bytes Encoded date : 2023-12-01 02:17:00 UTC Tagged date : 2023-12-01 02:17:00 UTC Video ID : 1 Format : vp09 HDR format : SMPTE ST 2086, HDR10 compatible Codec ID : vp09 Width : 3 840 pixels Height : 2 160 pixels Display aspect ratio : 16:9 Color space : YUV Title : ISO Media file produced by Google Inc. Created on: 11/30/2023. Encoded date : 2023-12-01 02:17:00 UTC Tagged date : 2023-12-01 02:17:00 UTC Color range : Limited Color primaries : BT.2020 Transfer characteristics : PQ Matrix coefficients : BT.2020 non-constant Mastering display color primaries : R: x=0.678000 y=0.322000, G: x=0.245000 y=0.703000, B: x=0.138000 y=0.052000, White point: x=0.312700 y=0.329000 Mastering display luminance : min: 0.0001 cd/m2, max: 1000 cd/m2 Maximum Content Light Level : 1100 cd/m2 Maximum Frame-Average Light Level : 180 cd/m2
Attachments (1)
Change History (3)
by , 3 years ago
comment:1 by , 3 years ago
| Cc: | added |
|---|
comment:2 by , 2 years ago
| Analyzed by developer: | set |
|---|---|
| Component: | undetermined → avformat |
| Keywords: | mp4 added |
| Reproduced by developer: | set |
| Resolution: | → fixed |
| Status: | new → closed |
Note:
See TracTickets
for help on using tickets.



Fixed in 189c32f53659b8f9dc402765905fc12a321ab1ac.