cabernetwork / cabernet

Cabernet allows control of IPTV streams. Plugins supports DaddyLive, Pluto TV, XUMO, M3U/XMLTV.XML files (SamsungTV, STIRR, DistroTV, Plex TV)
https://cabernetwork.github.io
MIT License
176 stars 23 forks source link

Better support of Live streams #23

Closed Protektor-Desura closed 8 months ago

Protektor-Desura commented 2 years ago

Been trying to get Pluto TV, Samsung TV Plus, etc. working in Cabernet. They work but none of them quite as well as Matt Huisman's Kodi plugins. They play okay but when a commercial break comes it gets wonky (on most streams).

The reason for this is that they are switching the stream for the commercial, injecting a new video/stream of the commercial in the stream.

Note that for streaming live TV from the Internet there are still issues that need to worked out to support every stream. Specifically full complete support of RFC-7933 and RFC-8216. Full support of these RFC is missing from ffmpeg.

Dolby AC-4 and MPEG-H 3D Audio support is missing from ffmpeg in order to be able to record and play back ATSC 3.0 over the air 4K broadcasts as well.

Add #EXT-X-DISCONTINUITY support to ffmpeg for IPTV streams such as Stirr and Pluto is the problem. It's part of the RFCs that ffmpeg isn't supporting properly. https://github.com/jellyfin/jellyfin-ffmpeg/issues/57

In order to fix things you might want to look at this Python code which is a proxy to deal with more RFC stuff that ffmpeg doesn't currently support properly.

Python m3u8 Parser for HTTP Live Streaming (HLS) Transmissions https://github.com/globocom/m3u8 https://github.com/globocom/m3u8#supported-tags

Protektor-Desura commented 2 years ago

I thought maybe you could look at including this kind of proxy to add support for:

Supported tags