Opened 17 months ago
Last modified 13 months ago
#11212 new defect
FFmpeg throws errors on certain moov atom positions using pipe input
| Reported by: | tjgreen | Owned by: | |
|---|---|---|---|
| Priority: | normal | Component: | avformat |
| Version: | git-master | Keywords: | pipe mp4 |
| Cc: | MasterQuestionable | Blocked By: | |
| Blocking: | Reproduced by developer: | no | |
| Analyzed by developer: | yes |
Description
Summary of the bug:
For certain moov atom positions, FFmpeg throws errors when input is stdin, regardless of async: prefix usage. For positions further downstream, there seems to be an issue.
How to reproduce:
% cat fail.mp4 | ffmpeg -probesize 8192 -loglevel error -i pipe:0 -f null - ffmpeg version 7.0.2 built on 2024-08-03
Errors upon output:
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x135604e80] stream 0, offset 0x30: partial file
Last message repeated 1 times
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x600002ba0000] Error during demuxing: Invalid data found when processing input
Cannot determine format of input 0:0 after EOF
[vf#0:0 @ 0x6000025a1a70] Task finished with error code: -1094995529 (Invalid data found when processing input)
[vf#0:0 @ 0x6000025a1a70] Terminating thread with return code -1094995529 (Invalid data found when processing input)
[vost#0:0/wrapped_avframe @ 0x13570e510] Could not open encoder before EOF
[vost#0:0/wrapped_avframe @ 0x13570e510] Task finished with error code: -22 (Invalid argument)
[vost#0:0/wrapped_avframe @ 0x13570e510] Terminating thread with return code -22 (Invalid argument)
I will attach two files that show the defect (fail.mp4) and that work without issue (succeed.mp4)
Attachments (6)
Change History (12)
by , 17 months ago
| Attachment: | succeed.mp4 added |
|---|
by , 17 months ago
| Attachment: | fail-mp4-split.z01 added |
|---|
comment:1 by , 17 months ago
| Component: | undetermined → ffmpeg |
|---|---|
| Version: | unspecified → 7.0 |
comment:2 by , 17 months ago
| Cc: | added |
|---|---|
| Version: | 7.0 → git-master |
͏ The implication of Pipe is First-In First-Out (FIFO).
͏ Which means the data cannot be back-seeked (or access out of order):
͏ That may not always fulfill the ordinary parsing expectation.
comment:3 by , 17 months ago
| Keywords: | mp4 added; moov removed |
|---|
comment:4 by , 17 months ago
| Component: | ffmpeg → avformat |
|---|
comment:6 by , 13 months ago
| Analyzed by developer: | set |
|---|
͏ Maybe. But there are performance concerns:
͏ That may not make this ideal as the unconditional default.
͏ Alike caching seems easily doable from the user's end.
͏ Probably not worth bothering the complexity of adding new option to config.



Part 1/5 (4.4MB total)