#8586(undetermined:new): mpegts seeking failure
#8586: mpegts seeking failure -------------------------------------+------------------------------------- Reporter: ronag | Type: defect Status: new | Priority: normal Component: | Version: undetermined | unspecified Keywords: | Blocked By: Blocking: | Reproduced by developer: 0 Analyzed by developer: 0 | -------------------------------------+------------------------------------- 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) }}} -- Ticket URL: <https://trac.ffmpeg.org/ticket/8586> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker
#8586: mpegts seeking failure -------------------------------------+------------------------------------- Reporter: ronag | Owner: Type: defect | Status: new Priority: normal | Component: | undetermined Version: unspecified | Resolution: Keywords: | Blocked By: Blocking: | Reproduced by developer: 0 Analyzed by developer: 0 | -------------------------------------+------------------------------------- Comment (by ronag): https://drive.google.com/file/d/1MQOnzEYJuPwZTJB8apCgXljhyj_5PRGO/view?usp=s... -- Ticket URL: <https://trac.ffmpeg.org/ticket/8586#comment:1> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker
#8586: mpegts seeking failure -------------------------------------+------------------------------------- Reporter: ronag | Owner: Type: defect | Status: new Priority: normal | Component: | undetermined Version: unspecified | Resolution: Keywords: | Blocked By: Blocking: | Reproduced by developer: 0 Analyzed by developer: 0 | -------------------------------------+------------------------------------- Comment (by cehoyos): Why do you think there is a bug that can be fixed in FFmpeg? -- Ticket URL: <https://trac.ffmpeg.org/ticket/8586#comment:2> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker
#8586: mpegts seeking failure -------------------------------------+------------------------------------- Reporter: ronag | Owner: Type: defect | Status: new Priority: normal | Component: | undetermined Version: unspecified | Resolution: Keywords: | Blocked By: Blocking: | Reproduced by developer: 0 Analyzed by developer: 0 | -------------------------------------+------------------------------------- Comment (by ronag): 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? -- Ticket URL: <https://trac.ffmpeg.org/ticket/8586#comment:3> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker
#8586: mpegts seeking failure -------------------------------------+------------------------------------- Reporter: ronag | Owner: Type: defect | Status: new Priority: normal | Component: | undetermined Version: unspecified | Resolution: Keywords: | Blocked By: Blocking: | Reproduced by developer: 0 Analyzed by developer: 0 | -------------------------------------+------------------------------------- Comment (by ronag): 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 -- Ticket URL: <https://trac.ffmpeg.org/ticket/8586#comment:4> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker
#8586: mpegts seeking failure -------------------------------------+------------------------------------- Reporter: ronag | Owner: Type: defect | Status: closed Priority: normal | Component: | undetermined Version: unspecified | Resolution: invalid Keywords: | Blocked By: Blocking: | Reproduced by developer: 0 Analyzed by developer: 0 | -------------------------------------+------------------------------------- Changes (by cehoyos): * status: new => closed * resolution: => invalid Comment: I don't think there is an issue that can be fixed. -- Ticket URL: <https://trac.ffmpeg.org/ticket/8586#comment:5> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker
#8586: mpegts seeking failure -------------------------------------+------------------------------------- Reporter: ronag | Owner: Type: defect | Status: closed Priority: normal | Component: | undetermined Version: unspecified | Resolution: invalid Keywords: | Blocked By: Blocking: | Reproduced by developer: 0 Analyzed by developer: 0 | -------------------------------------+------------------------------------- Comment (by Balling): Is it played good in Windows 10 player (from Microsoft store, Films & TV) -- Ticket URL: <https://trac.ffmpeg.org/ticket/8586#comment:6> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker
#8586: mpegts seeking failure -------------------------------------+------------------------------------- Reporter: ronag | Owner: Type: defect | Status: reopened Priority: normal | Component: | undetermined Version: unspecified | Resolution: Keywords: | Blocked By: Blocking: | Reproduced by developer: 0 Analyzed by developer: 0 | -------------------------------------+------------------------------------- Changes (by deadbeef): * status: closed => reopened * resolution: invalid => Comment: cehoyos, with all do respect, I think you're wrong. Looks more like a duplicate of #4868 and #5093 to me This is very easy to recreate: {{{ ffmpeg -f lavfi -i testsrc=duration=5 -c:v libx264 out.ts ffmpeg -ss 1 -i out.ts -f null - }}} -- Ticket URL: <https://trac.ffmpeg.org/ticket/8586#comment:7> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker
#8586: mpegts seeking failure -------------------------------------+------------------------------------- Reporter: ronag | Owner: Type: defect | Status: closed Priority: normal | Component: | undetermined Version: unspecified | Resolution: invalid Keywords: | Blocked By: Blocking: | Reproduced by developer: 0 Analyzed by developer: 0 | -------------------------------------+------------------------------------- Changes (by cehoyos): * status: reopened => closed * resolution: => invalid Comment: 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. -- Ticket URL: <https://trac.ffmpeg.org/ticket/8586#comment:8> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker
#8586: mpegts seeking failure -------------------------------------+------------------------------------- Reporter: ronag | Owner: Type: defect | Status: closed Priority: normal | Component: | undetermined Version: unspecified | Resolution: invalid Keywords: | Blocked By: Blocking: | Reproduced by developer: 0 Analyzed by developer: 0 | -------------------------------------+------------------------------------- Comment (by deadbeef): 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. -- Ticket URL: <https://trac.ffmpeg.org/ticket/8586#comment:9> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker
participants (1)
-
FFmpeg