7.3.4 Breaks HLS Thumbnail Seeking

Only using Infuse Pro for a month, but the thumbnail seeking makes it top of class. Or at least it did until the 7.3.4 update. Thumbnail seeks (HLS playlist content) which have always been flawless now display a blank screen. Have a 7.3.3 version that is fine and a 7.3.4 (auto-update in the prior 24 hours) that broke seeking for Apple TV.

Please don’t let this flagship feature go away. Thanks.
(Updated to reflect Apple TV specific for me.)

Thanks for the report, this sounds like a bug.

Would you be able to upload one of the videos you are seeing this with?

Sorry for the slow reply on this issue. Because this is HLS specific, difficult to send a video in the traditional sense. The problem occurs on HLS content sourced from multiple providers. Never seen video seek fail on 7.3.3 and never seen it work on 7.3.4. Have used content from many different sources including Xumo and Pluto.

Playing back HLS content via Infuse requires jumping through some hoops:

#1- The m3u8 playlist must be post-processed to absolute http references.
#2- The HLS m3u/m3u8 extension must be changed to something Infuse wont filter (.ts works).
#3- The HLS appropriate mimetype (video/x-mpegurl) must be returned for the bogus extension.
#4- The HLS segment playlist must be terminated with #EXT-X-ENDLIST.

(Requirements #2 & #3 effectively require a DLNA or WebDAV server.)

With 7.3.3 Apple TV, the playback is pretty much flawless and video seek is perfect. Absolutely top of class. With 7.3.4 Apple TV (and 7.3.5 ios), video seeking displays a blank screen. The actual seeking works, but is no better/worse than VLC. (Have not tested 7.3.5 Apple TV since rolling back is not an option.)

To allow replication, I deployed an Internet facing HTTPS WebDAV server with appropriate HLS content. (Did not include mp4 content, as video seek works fine for it.) Will message credentials privately.

Besides the video seek problem, this example server also highlights an ugly aspect of the “promote a single item in a folder up a level” feature. While that has been well discussed along with the “add a bogus directory” workaround, it seems far more problematic. If a folder contains a series that your metadata source cannot identify, it pulls up all the content. Pulling up a single item is one thing, but pulling up multiple items from a folder because it does not recognize a series? Ugh.

Appreciate your looking into this.

FYI-- HLS Thumbnail Seeking remains broken in 7.3.5 iOS. Let me know if there is any other assistance I can provide in resolving this issue. Thanks.

Did you by any chance try 7.3.6? I don’t know if it had any changes in that area but it wouldn’t hurt to try.

This thread is still marked as “researching” so I’d guess it’s still being looked into.

Had not realized 7.3.6 was out-- appreciate the pointer. Upgraded to 7.3.6 iOS and unfortunately HLS Thumbnail Seeking remains broken.

1 Like

Did some investigation of this issue today. 7.3.3 was built against ffmpeg 4.2.5 and 7.3.4 against ffmpeg 5.0. I gotta question integrating a major new ffmpeg version as part of an Infuse point release on OS’s that don’t permit rollback. The ffmpeg devs do a great job, but there is some narly code in there and every release breaks a few subtle things in the short-term. Would be great if you could provide a community heads-up prior to new ffmpeg integrations to avoid unpleasant surprises.

With respect to the HLS thumbnail seeking, there is a fundamental behavior difference. While seeking (scrolling the seek point), 7.3.3/4.2.5 real-time downloads the .ts corresponding to the current seek point to extract the thumbnail. By contrast, 7.3.4/5.0 does not even try to download segments while seeking. It stops downloading upon pause and only starts downloading segments again when play is pressed. (I hosted the actual segments to watch and compare the behavior.)

Unfortunately, this is likely the limit of what analysis I can provide. If 7.3.4 was downloading segments and failing to render, I could experiment further. Seems like either infuse no longer realizes it needs to download segments in seek move (lost events?) or the segment download call is now failing prior to attempting any network activity. Thanks.

HLS Thumbnail Seeking (high speed scrubbing with video preview) remains broken in 7.3.7 iOS (and presumably Apple TV). Given this feature was broken in a release six weeks and four point releases ago, should I assume it will not be fixed (aside from the possibility the problem is an actual bug in ffmpeg 4.0 and those devs get a report/replication and fix it there and a fixed version of ffmpeg gets integrated into a distant future Infuse)? Thanks.

This is still under investigation.

HLS/M3U playlist streaming is not something that has been officially supported to this point (it has been on our radar to add for a future update), but you seemed to find a way to make it work.

We’re seeing what we can do improve this here.

ffmpeg (and I believe the apple a/v libraries) include HLS VOD* support by default. Unless an integrator goes out of their way to prevent it, it generally works. Using Infuse+Jellyfin (and presumably Emby though I have not tested that), HLS VOD* works out of the box. This is because the Jellyfin protocol includes explicit mimetypes and Infuse does not seem to do extension filtering. DLNA/WebDav protocols both pass explicit mimetype, but Infuse performs extension filtering on M3U/M3U8. That is the only thing standing in the way of non-hacky HLS VOD* support for those protocols. I provided you access to a test server because it implements a workaround. Last time I checked, SMB/FTP, do not separate content-type and file-extension (content-type is inferred from file-extension). Therefore, blocking M3U/M3U8 means Infuse cannot play HLS VOD* content using those protocols.

Why the VOD*? When most folks reference IPTV, they mean HLS Live. Most of the internals of HLS are identical, but the application must handle the progressive segment trickle of a live stream. Operations like seek become complicated because the content is growing in live time. There is no “end” of the content. I don’t believe ffmpeg handles live content “for free” as it does VOD. HLS VOD is simply a different delivery mechanism for prerecorded fixed duration content. Converting from HLS VOD to MP4 (and visa-versa) is relatively straightforward. Live content (whether HLS Live or one of the other protocols) is a different beast.

Why bother with HLS VOD? There is a lot of VOD content out there. The FAST providers like Pluto, Xumo, etc have substantial free ad-supported HLS VOD content available. If you have a subscription to a provider like Philo, Discovery, History, etc also have HLS VOD content. For the effort of fixing this bug and adjusting the filetype filters, Infuse could be a player in the HLS VOD space.

Was excited to try 7.3.8 as it contained a promising looking fix:

  • Fixed playback issues while seeking

Sadly, no joy for this issue. HLS Thumbnail Seeking remains broken in 7.3.8 iOS (tested on an iPhone 11).