#8586 closed defect (invalid)
mpegts seeking failure
| Reported by: | ronag | Owned by: | |
|---|---|---|---|
| Priority: | normal | Component: | undetermined |
| Version: | unspecified | Keywords: | |
| Cc: | Blocked By: | ||
| Blocking: | Reproduced by developer: | no | |
| Analyzed by developer: | no |
Description
We have noticed that some mpegts files FFmpeg fails to properly seek. Even though the file itself when read sequentially (without seeking) seems to work fine.
Desktop$ ffmpeg -ss 16.919999837875366 -i N4SGWtf5_~9R23.ts -frames:v 1 foo.webp -y
ffmpeg version N-97026-gea46b45e9c-tessus https://evermeet.cx/ffmpeg/ Copyright (c) 2000-2020 the FFmpeg developers
built with Apple clang version 11.0.0 (clang-1100.0.33.17)
configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg --extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libmysofa --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvmaf --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-version3 --pkg-config-flags=--static --disable-ffplay
libavutil 56. 42.101 / 56. 42.101
libavcodec 58. 76.100 / 58. 76.100
libavformat 58. 42.100 / 58. 42.100
libavdevice 58. 9.103 / 58. 9.103
libavfilter 7. 77.100 / 7. 77.100
libswscale 5. 6.101 / 5. 6.101
libswresample 3. 6.100 / 3. 6.100
libpostproc 55. 6.100 / 55. 6.100
[aac @ 0x7f89e5017800] Assuming an incorrectly encoded 7.1 channel layout instead of a spec-compliant 7.1(wide) layout, use -strict 1 to decode according to the specification instead.
Input #0, mpegts, from 'N4SGWtf5_~9R23.ts':
Duration: 00:00:20.01, start: 64000.040000, bitrate: 5810 kb/s
Program 1
Metadata:
service_name : Service01
service_provider: FFmpeg
Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(progressive), 1280x720, 50 fps, 50 tbr, 90k tbn, 100 tbc
Stream #0:1[0x101]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, 7.1, fltp, 310 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> webp (libwebp))
Press [q] to stop, [?] for help
[h264 @ 0x7f89e6805600] reference picture missing during reorder
Last message repeated 3 times
[h264 @ 0x7f89e6805600] Missing reference picture, default is 0
[h264 @ 0x7f89e6805600] decode_slice_header error
[h264 @ 0x7f89e6805600] reference picture missing during reorder
Last message repeated 3 times
[h264 @ 0x7f89e6805600] Missing reference picture, default is 0
[h264 @ 0x7f89e6805600] decode_slice_header error
[h264 @ 0x7f89e6805600] reference picture missing during reorder
Last message repeated 3 times
[h264 @ 0x7f89e6805600] Missing reference picture, default is 0
[h264 @ 0x7f89e6805600] decode_slice_header error
[h264 @ 0x7f89e6805600] reference picture missing during reorder
Last message repeated 3 times
[h264 @ 0x7f89e6805600] Missing reference picture, default is 0
[h264 @ 0x7f89e6805600] decode_slice_header error
[h264 @ 0x7f89e6805600] reference picture missing during reorder
Last message repeated 3 times
[h264 @ 0x7f89e6805600] Missing reference picture, default is 0
[h264 @ 0x7f89e6805600] decode_slice_header error
[h264 @ 0x7f89e6805600] reference picture missing during reorder
Last message repeated 3 times
[h264 @ 0x7f89e6805600] Missing reference picture, default is 0
[h264 @ 0x7f89e6805600] decode_slice_header error
[h264 @ 0x7f89e6805600] reference picture missing during reorder
Last message repeated 3 times
[h264 @ 0x7f89e6805600] Missing reference picture, default is 0
[h264 @ 0x7f89e6805600] decode_slice_header error
[h264 @ 0x7f89e6805600] reference picture missing during reorder
Last message repeated 3 times
[h264 @ 0x7f89e6805600] Missing reference picture, default is 0
[h264 @ 0x7f89e6805600] decode_slice_header error
[h264 @ 0x7f89e6805600] reference picture missing during reorder
Last message repeated 3 times
[h264 @ 0x7f89e6805600] Missing reference picture, default is 0
[h264 @ 0x7f89e6805600] decode_slice_header error
[h264 @ 0x7f89e6805600] reference picture missing during reorder
Last message repeated 3 times
[h264 @ 0x7f89e6805600] Missing reference picture, default is 0
[h264 @ 0x7f89e6805600] decode_slice_header error
[h264 @ 0x7f89e6805600] reference picture missing during reorder
Last message repeated 3 times
[h264 @ 0x7f89e6805600] Missing reference picture, default is 0
[h264 @ 0x7f89e6805600] decode_slice_header error
[h264 @ 0x7f89e6805c00] reference picture missing during reorder
Last message repeated 1 times
[h264 @ 0x7f89e6805c00] Missing reference picture, default is 0
Last message repeated 1 times
[h264 @ 0x7f89e6805c00] reference picture missing during reorder
Last message repeated 1 times
[h264 @ 0x7f89e6805c00] Missing reference picture, default is 0
Last message repeated 1 times
[h264 @ 0x7f89e6805c00] reference picture missing during reorder
Last message repeated 1 times
[h264 @ 0x7f89e6805c00] Missing reference picture, default is 0
Last message repeated 1 times
[h264 @ 0x7f89e6805c00] reference picture missing during reorder
Last message repeated 1 times
[h264 @ 0x7f89e6805c00] Missing reference picture, default is 0
Last message repeated 1 times
[h264 @ 0x7f89e6805c00] reference picture missing during reorder
Last message repeated 1 times
[h264 @ 0x7f89e6805c00] Missing reference picture, default is 0
Last message repeated 1 times
[h264 @ 0x7f89e6805c00] reference picture missing during reorder
Last message repeated 1 times
[h264 @ 0x7f89e6805c00] Missing reference picture, default is 0
Last message repeated 1 times
[h264 @ 0x7f89e6806200] reference picture missing during reorder
[h264 @ 0x7f89e6806200] Missing reference picture, default is 2
[h264 @ 0x7f89e6806200] reference picture missing during reorder
[h264 @ 0x7f89e6806200] Missing reference picture, default is 2
[h264 @ 0x7f89e6806200] reference picture missing during reorder
[h264 @ 0x7f89e6806200] Missing reference picture, default is 2
[h264 @ 0x7f89e6805c00] reference picture missing during reorder
Last message repeated 1 times
[h264 @ 0x7f89e6805c00] Missing reference picture, default is 0
Last message repeated 1 times
[h264 @ 0x7f89e6806200] reference picture missing during reorder
[h264 @ 0x7f89e6806200] Missing reference picture, default is 2
[h264 @ 0x7f89e6805c00] reference picture missing during reorder
Last message repeated 1 times
[h264 @ 0x7f89e6805c00] Missing reference picture, default is 0
Last message repeated 1 times
[h264 @ 0x7f89e6806200] reference picture missing during reorder
[h264 @ 0x7f89e6806200] Missing reference picture, default is 2
[h264 @ 0x7f89e6806200] reference picture missing during reorder
[h264 @ 0x7f89e6806200] Missing reference picture, default is 2
[h264 @ 0x7f89e6805c00] reference picture missing during reorder
Last message repeated 1 times
[h264 @ 0x7f89e6805c00] Missing reference picture, default is 0
Last message repeated 1 times
[h264 @ 0x7f89e6805c00] reference picture missing during reorder
Last message repeated 1 times
[h264 @ 0x7f89e6805c00] Missing reference picture, default is 0
Last message repeated 1 times
[h264 @ 0x7f89e6806200] reference picture missing during reorder
[h264 @ 0x7f89e6806200] Missing reference picture, default is 2
[h264 @ 0x7f89e6805c00] reference picture missing during reorder
Last message repeated 1 times
[h264 @ 0x7f89e6805c00] Missing reference picture, default is 0
Last message repeated 1 times
[h264 @ 0x7f89e6806200] reference picture missing during reorder
[h264 @ 0x7f89e6806200] Missing reference picture, default is 2
[h264 @ 0x7f89e6806200] reference picture missing during reorder
[h264 @ 0x7f89e6806200] Missing reference picture, default is 2
[h264 @ 0x7f89e6806200] reference picture missing during reorder
[h264 @ 0x7f89e6806200] Missing reference picture, default is 2
[h264 @ 0x7f89e6806200] reference picture missing during reorder
[h264 @ 0x7f89e6806200] Missing reference picture, default is 2
Output #0, webp, to 'foo.webp':
Metadata:
encoder : Lavf58.42.100
Stream #0:0: Video: webp (libwebp), yuv420p, 1280x720, q=2-31, 200 kb/s, 50 fps, 1k tbn, 50 tbc
Metadata:
encoder : Lavc58.76.100 libwebp
frame= 0 fps=0.0 q=0.0 Lsize= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used)
Change History (9)
comment:1 by , 6 years ago
comment:3 by , 6 years ago
I supposed that mpegts files should be seekable in FFmpeg? In this specific case for whatever reason an otherwise working file is not possible to seek using FFmpeg.
It can seek to certain places but not others, e.g. the same command above will succeed without errors when instead using "-ss 2".
It looks like ffmpeg doesn't seek to a keyframe and then decode + skip until the correct frame like it does with other container formats. Just guessing... or maybe there is a technical reason specific to mpegts which makes this not possible?
comment:4 by , 6 years ago
With further research it seems that the last key frame is at 15 seconds, seeking anything beyond that fails. The file is encoded with libx264 -tune zerolatency so bframes should be disabled... not sure what is going on
comment:5 by , 6 years ago
| Resolution: | → invalid |
|---|---|
| Status: | new → closed |
I don't think there is an issue that can be fixed.
comment:6 by , 6 years ago
Does it play good in Windows 10 player (from Microsoft store, Movies & TV)? See https://www.microsoft.com/en-us/p/movies-tv/9wzdncrfj3p2?activetab=pivot:overviewtab
Actually I have the same problem that looks like a duplicate of #7950
comment:7 by , 6 years ago
| Resolution: | invalid |
|---|---|
| Status: | closed → reopened |
comment:8 by , 6 years ago
| Resolution: | → invalid |
|---|---|
| Status: | reopened → closed |
Why are you reopening this ticket if it is a duplicate?
We both agree that there is no keyframe after 16.9 seconds, this cannot be fixed.
comment:9 by , 6 years ago
Here's another issue #1607
So the reason it's failing is because it's falling back to the generic ff_gen_search, which doesn't respect keyframe searching when AVSEEK_FLAG_ANY flag is unset.
What do you mean it cannot be fixed? Are you saying that you cannot use the previous keyframe and decode the next frames based on that keyframe? I think what you mean is that it's difficult to seek to the keyframe since there's no index, it's definitely possible.



https://drive.google.com/file/d/1MQOnzEYJuPwZTJB8apCgXljhyj_5PRGO/view?usp=sharing