Opened 2 years ago
Last modified 2 years ago
#11089 new defect
Error reading header: ffmpeg can do nothing with h265 mp4
| Reported by: | sgordeev | Owned by: | |
|---|---|---|---|
| Priority: | normal | Component: | undetermined |
| Version: | git-master | Keywords: | |
| Cc: | Blocked By: | ||
| Blocking: | Reproduced by developer: | no | |
| Analyzed by developer: | no |
Description
I got a few files from my customer which ffmpeg can do nothing. I'm getting "error reading header" without any details. I'm trying to read metadata from these files and prepare them for streaming. The files are playing well locally with VLC. It seems the files were corrupted somehow but I can't understand what's wrong and how to fix them. I've already tried all possible versions of ffmpeg: 3.4, 4.3, 6, 7 and git-master - the same error all the time.
How to reproduce:
% ffmpeg -i b40e54da93554c9f95c2774abc360069.mp4 -c copy out.mp4 ffmpeg version N-116067-g5d54a25eea Copyright (c) 2000-2024 the FFmpeg developers built with gcc 13 (Ubuntu 13.2.0-4ubuntu3) configuration: --enable-gpl --enable-gnutls --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libdav1d --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree libavutil 59. 27.100 / 59. 27.100 libavcodec 61. 9.100 / 61. 9.100 libavformat 61. 4.100 / 61. 4.100 libavdevice 61. 2.100 / 61. 2.100 libavfilter 10. 2.102 / 10. 2.102 libswscale 8. 2.100 / 8. 2.100 libswresample 5. 2.100 / 5. 2.100 libpostproc 58. 2.100 / 58. 2.100 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x5e06d2a389c0] error reading header [in#0 @ 0x5e06d2a38700] Error opening input: Invalid data found when processing input Error opening input file b40e54da93554c9f95c2774abc360069.mp4. Error opening input files: Invalid data found when processing input
% ffprobe -loglevel debug -print_format json -show_format -show_streams b40e54da93554c9f95c2774abc360069.mp4
ffprobe version N-116067-g5d54a25eea Copyright (c) 2007-2024 the FFmpeg developers
built with gcc 13 (Ubuntu 13.2.0-4ubuntu3)
configuration: --enable-gpl --enable-gnutls --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libdav1d --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree
libavutil 59. 27.100 / 59. 27.100
libavcodec 61. 9.100 / 61. 9.100
libavformat 61. 4.100 / 61. 4.100
libavdevice 61. 2.100 / 61. 2.100
libavfilter 10. 2.102 / 10. 2.102
libswscale 8. 2.100 / 8. 2.100
libswresample 5. 2.100 / 5. 2.100
libpostproc 58. 2.100 / 58. 2.100
{
[AVFormatContext @ 0x603dace8b6c0] Opening 'b40e54da93554c9f95c2774abc360069.mp4' for reading
[file @ 0x603dace6c3c0] Setting default whitelist 'file,crypto,data'
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x603dace8b6c0] Format mov,mp4,m4a,3gp,3g2,mj2 probed with size=2048 and score=100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x603dace8b6c0] ISO: File Type Major Brand: mp42
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x603dace8b6c0] Unknown dref type 0x206c7275 size 12
Last message repeated 1 times
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x603dace8b6c0] Processing st: 1, edit list 0 - media time: -1, duration: 5746
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x603dace8b6c0] Processing st: 1, edit list 1 - media time: 0, duration: 4178880
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x603dace8b6c0] error reading header
[AVIOContext @ 0x603dace93d40] Statistics: 71047 bytes read, 1 seeks
b40e54da93554c9f95c2774abc360069.mp4: Invalid data found when processing input
}
A full debug log and an example of the file are attached.
Attachments (2)
Change History (5)
by , 2 years ago
| Attachment: | loglevel99.txt added |
|---|
comment:1 by , 2 years ago
follow-up: 3 comment:2 by , 2 years ago
-v trace shows it breaks on
[mov,mp4,m4a,3gp,3g2,mj2 @ 000002348df9e900] type:'stsc' parent:'root' sz: 304 79181670 79181824 [mov,mp4,m4a,3gp,3g2,mj2 @ 000002348df9e900] error reading header [AVIOContext @ 000002348e0bf6c0] Statistics: 71047 bytes read, 1 seeks
comment:3 by , 2 years ago
is it possible to ignore broken parts? and encode the file to h264.
I've already tried the following:
% ffmpeg -err_detect ignore_err -i b40e54da93554c9f95c2774abc360069.mp4 -c copy out.mp4 ffmpeg version N-116067-g5d54a25eea Copyright (c) 2000-2024 the FFmpeg developers built with gcc 13 (Ubuntu 13.2.0-4ubuntu3) configuration: --enable-gpl --enable-gnutls --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libdav1d --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree libavutil 59. 27.100 / 59. 27.100 libavcodec 61. 9.100 / 61. 9.100 libavformat 61. 4.100 / 61. 4.100 libavdevice 61. 2.100 / 61. 2.100 libavfilter 10. 2.102 / 10. 2.102 libswscale 8. 2.100 / 8. 2.100 libswresample 5. 2.100 / 5. 2.100 libpostproc 58. 2.100 / 58. 2.100 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x586db5090a00] error reading header [in#0 @ 0x586db5090740] Error opening input: Invalid data found when processing input Error opening input file b40e54da93554c9f95c2774abc360069.mp4. Error opening input files: Invalid data found when processing input
Replying to Balling:
-v trace shows it breaks on
[mov,mp4,m4a,3gp,3g2,mj2 @ 000002348df9e900] type:'stsc' parent:'root' sz: 304 79181670 79181824 [mov,mp4,m4a,3gp,3g2,mj2 @ 000002348df9e900] error reading header [AVIOContext @ 000002348e0bf6c0] Statistics: 71047 bytes read, 1 seeks



debug log with loglevel 99