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
196 stars 27 forks source link

Jellyfin issues: manual IP, mapping not automatic, and trouble clients #168

Open scr1ptk1d opened 6 hours ago

scr1ptk1d commented 6 hours ago

Hello, first time setup here. I got the setup to allow live tv on jellyfin, but there are a lot of issues if you could please help. Cabernet version: docker 0.9.15.00-RC02 Operating system and version: 6.11.5-arch1-1 (64-bit) jellyfin server: 10.9.10

Issue 1: Have to manually input cabernet ip's daily as they change in docker. image image (172.18.0.4 here). Is there a way to input this automatically?

Issue 2: Mapping not automatic image There's simply too many channels to do that manually.

Issue 3: Playback working great on some desktop, android clients, but failing on android tv (despite saying client and file are entirely compatible) specifically Onn Streaming Device 4K pro Android Tv 0.17.9 screen remains loading black. jellyfin log working on tv

[16:27:18] [INF] [86] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for F. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True

[16:27:18] [INF] [125] Jellyfin.LiveTv.LiveTvMediaSourceProvider: Opening channel stream from Emby, external channel Id: hdhr_750

[16:27:18] [INF] [125] Jellyfin.LiveTv.DefaultLiveTvService: Streaming Channel hdhr_750

[16:27:18] [INF] [125] Jellyfin.LiveTv.TunerHosts.HdHomerun.HdHomerunHost: GetChannelStream: channel id: hdhr_750. stream id: native_692c5bc74b3c3fd6a8eb4aa811dab990_0c20130a0cab2d74cf7b910eb3c4f8ed profile: native

[16:27:18] [INF] [125] Jellyfin.LiveTv.TunerHosts.HdHomerun.HdHomerunHost: Opening SharedHttpStream Live stream from http://172.18.0.8:5004/DaddyLive/watch/393

[16:27:18] [INF] [91] Jellyfin.LiveTv.TunerHosts.HdHomerun.HdHomerunHost: Beginning SharedHttpStream stream to /cache/transcodes/2151a5808b1643f791085d0ac0efa4e7.ts

[16:27:25] [INF] [19] Jellyfin.LiveTv.TunerHosts.HdHomerun.HdHomerunHost: Live stream opened after 6794.5539ms

[16:27:25] [INF] [19] Jellyfin.LiveTv.DefaultLiveTvService: Returning mediasource streamId native_692c5bc74b3c3fd6a8eb4aa811dab990_0c20130a0cab2d74cf7b910eb3c4f8ed, mediaSource.Id native_692c5bc74b3c3fd6a8eb4aa811dab990_0c20130a0cab2d74cf7b910eb3c4f8ed, mediaSource.LiveStreamId null

[16:27:25] [INF] [19] Emby.Server.Implementations.Library.MediaSourceManager: Waiting 3000ms before probing the live stream

[16:27:28] [INF] [86] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Starting /usr/lib/jellyfin-ffmpeg/ffprobe with args -analyzeduration 3000000 -probesize 1G -i "http://172.18.0.5:8096/LiveTv/LiveStreamFiles/2151a5808b1643f791085d0ac0efa4e7/stream.ts" -threads 0 -v warning -print_format json -show_streams -show_format

[16:27:28] [INF] [11] Emby.Server.Implementations.Library.MediaSourceManager: Live tv media info probe took 3.038816 seconds

[16:27:28] [INF] [11] Emby.Server.Implementations.Library.MediaSourceManager: Live stream opened: {"Protocol": "Http", "Id": "native_692c5bc74b3c3fd6a8eb4aa811dab990_0c20130a0cab2d74cf7b910eb3c4f8ed", "Path": "http://172.18.0.5:8096/LiveTv/LiveStreamFiles/2151a5808b1643f791085d0ac0efa4e7/stream.ts", "EncoderPath": null, "EncoderProtocol": null, "Type": "Default", "Container": "ts", "Size": null, "Name": null, "IsRemote": false, "ETag": null, "RunTimeTicks": null, "ReadAtNativeFramerate": false, "IgnoreDts": true, "IgnoreIndex": false, "GenPtsInput": false, "SupportsTranscoding": true, "SupportsDirectStream": true, "SupportsDirectPlay": false, "IsInfiniteStream": true, "RequiresOpening": true, "OpenToken": null, "RequiresClosing": true, "LiveStreamId": "e2329f4997b378e64ccf8fa396deb76e_af999c25a00715699361240d4c6c7a53_native_692c5bc74b3c3fd6a8eb4aa811dab990_0c20130a0cab2d74cf7b910eb3c4f8ed", "BufferMs": 0, "RequiresLooping": false, "SupportsProbing": true, "VideoType": null, "IsoType": null, "Video3DFormat": null, "MediaStreams": [{"Codec": "h264", "CodecTag": null, "Language": null, "ColorRange": null, "ColorSpace": null, "ColorTransfer": null, "ColorPrimaries": null, "DvVersionMajor": null, "DvVersionMinor": null, "DvProfile": null, "DvLevel": null, "RpuPresentFlag": null, "ElPresentFlag": null, "BlPresentFlag": null, "DvBlSignalCompatibilityId": null, "Comment": null, "TimeBase": "1/90000", "CodecTimeBase": null, "Title": null, "VideoRange": "SDR", "VideoRangeType": "SDR", "VideoDoViTitle": null, "AudioSpatialFormat": "None", "LocalizedUndefined": null, "LocalizedDefault": null, "LocalizedForced": null, "LocalizedExternal": null, "LocalizedHearingImpaired": null, "DisplayTitle": "720p H264 SDR", "NalLengthSize": "0", "IsInterlaced": false, "IsAVC": null, "ChannelLayout": null, "BitRate": 8000000, "BitDepth": 8, "RefFrames": 1, "PacketLength": null, "Channels": null, "SampleRate": null, "IsDefault": false, "IsForced": false, "IsHearingImpaired": false, "Height": 720, "Width": 1280, "AverageFrameRate": 25, "RealFrameRate": 25, "Profile": "High", "Type": "Video", "AspectRatio": "16:9", "Index": -1, "Score": null, "IsExternal": false, "DeliveryMethod": null, "DeliveryUrl": null, "IsExternalUrl": null, "IsTextSubtitleStream": false, "SupportsExternalStream": false, "Path": null, "PixelFormat": "yuv420p", "Level": 41, "IsAnamorphic": false, "$type": "MediaStream"}, {"Codec": "aac", "CodecTag": null, "Language": null, "ColorRange": null, "ColorSpace": null, "ColorTransfer": null, "ColorPrimaries": null, "DvVersionMajor": null, "DvVersionMinor": null, "DvProfile": null, "DvLevel": null, "RpuPresentFlag": null, "ElPresentFlag": null, "BlPresentFlag": null, "DvBlSignalCompatibilityId": null, "Comment": null, "TimeBase": "1/90000", "CodecTimeBase": null, "Title": null, "VideoRange": "Unknown", "VideoRangeType": "Unknown", "VideoDoViTitle": null, "AudioSpatialFormat": "None", "LocalizedUndefined": null, "LocalizedDefault": "Default", "LocalizedForced": null, "LocalizedExternal": "External", "LocalizedHearingImpaired": null, "DisplayTitle": "AAC - Stereo", "NalLengthSize": null, "IsInterlaced": false, "IsAVC": false, "ChannelLayout": "stereo", "BitRate": 130665, "BitDepth": null, "RefFrames": null, "PacketLength": null, "Channels": 2, "SampleRate": 44100, "IsDefault": false, "IsForced": false, "IsHearingImpaired": false, "Height": null, "Width": null, "AverageFrameRate": null, "RealFrameRate": null, "Profile": "LC", "Type": "Audio", "AspectRatio": null, "Index": -1, "Score": null, "IsExternal": false, "DeliveryMethod": null, "DeliveryUrl": null, "IsExternalUrl": null, "IsTextSubtitleStream": false, "SupportsExternalStream": false, "Path": null, "PixelFormat": null, "Level": 0, "IsAnamorphic": null, "$type": "MediaStream"}], "MediaAttachments": [], "Formats": [], "Bitrate": 8130665, "Timestamp": null, "RequiredHttpHeaders": {}, "TranscodingUrl": null, "TranscodingSubProtocol": "http", "TranscodingContainer": null, "AnalyzeDurationMs": 3000, "TranscodeReasons": "0", "DefaultAudioStreamIndex": null, "DefaultSubtitleStreamIndex": null, "VideoStream": {"Codec": "h264", "CodecTag": null, "Language": null, "ColorRange": null, "ColorSpace": null, "ColorTransfer": null, "ColorPrimaries": null, "DvVersionMajor": null, "DvVersionMinor": null, "DvProfile": null, "DvLevel": null, "RpuPresentFlag": null, "ElPresentFlag": null, "BlPresentFlag": null, "DvBlSignalCompatibilityId": null, "Comment": null, "TimeBase": "1/90000", "CodecTimeBase": null, "Title": null, "VideoRange": "SDR", "VideoRangeType": "SDR", "VideoDoViTitle": null, "AudioSpatialFormat": "None", "LocalizedUndefined": null, "LocalizedDefault": null, "LocalizedForced": null, "LocalizedExternal": null, "LocalizedHearingImpaired": null, "DisplayTitle": "720p H264 SDR", "NalLengthSize": "0", "IsInterlaced": false, "IsAVC": null, "ChannelLayout": null, "BitRate": 8000000, "BitDepth": 8, "RefFrames": 1, "PacketLength": null, "Channels": null, "SampleRate": null, "IsDefault": false, "IsForced": false, "IsHearingImpaired": false, "Height": 720, "Width": 1280, "AverageFrameRate": 25, "RealFrameRate": 25, "Profile": "High", "Type": "Video", "AspectRatio": "16:9", "Index": -1, "Score": null, "IsExternal": false, "DeliveryMethod": null, "DeliveryUrl": null, "IsExternalUrl": null, "IsTextSubtitleStream": false, "SupportsExternalStream": false, "Path": null, "PixelFormat": "yuv420p", "Level": 41, "IsAnamorphic": false, "$type": "MediaStream"}, "$type": "MediaSourceInfo"}

[16:27:28] [INF] [11] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for F. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True

[16:27:28] [INF] [125] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 3000000 -probesize 1G -fflags +igndts+genpts -f mpegts  -i "http://172.18.0.5:8096/LiveTv/LiveStreamFiles/2151a5808b1643f791085d0ac0efa4e7/stream.ts" -map_metadata -1 -map_chapters -1 -threads 0 -sn -codec:v:0 copy -start_at_zero -flags -global_header -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type mpegts -start_number 0 -hls_base_url "hls/45f2c4720e76b58f22eaf05639378908/" -hls_segment_filename "/cache/transcodes/45f2c4720e76b58f22eaf05639378908%d.ts" -hls_playlist_type event -hls_list_size 0 -y "/cache/transcodes/45f2c4720e76b58f22eaf05639378908.m3u8"

jellyfin log failing on tv:

[16:36:27] [INF] [19] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for F. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True

[16:36:27] [INF] [27] Jellyfin.LiveTv.LiveTvMediaSourceProvider: Opening channel stream from Emby, external channel Id: m3u_77d45c4d8386e27037dd58a340f09ca698601127445ffc0f35e2737a45c5d581

[16:36:27] [INF] [27] Jellyfin.LiveTv.DefaultLiveTvService: Streaming Channel m3u_77d45c4d8386e27037dd58a340f09ca698601127445ffc0f35e2737a45c5d581

[16:36:27] [INF] [51] Jellyfin.LiveTv.TunerHosts.M3UTunerHost: Live stream opened after 0.0008ms

[16:36:27] [INF] [51] Jellyfin.LiveTv.DefaultLiveTvService: Returning mediasource streamId 98601127445ffc0f35e2737a45c5d581, mediaSource.Id 98601127445ffc0f35e2737a45c5d581, mediaSource.LiveStreamId null

[16:36:27] [INF] [51] Emby.Server.Implementations.Library.MediaSourceManager: Live tv media info probe took 0.0001128 seconds

[16:36:27] [INF] [51] Emby.Server.Implementations.Library.MediaSourceManager: Live stream opened: {"Protocol": "Http", "Id": "98601127445ffc0f35e2737a45c5d581", "Path": "http://172.18.0.8:5004/DaddyLive/watch/354", "EncoderPath": null, "EncoderProtocol": null, "Type": "Default", "Container": "ts", "Size": null, "Name": null, "IsRemote": false, "ETag": null, "RunTimeTicks": null, "ReadAtNativeFramerate": false, "IgnoreDts": true, "IgnoreIndex": false, "GenPtsInput": false, "SupportsTranscoding": true, "SupportsDirectStream": true, "SupportsDirectPlay": true, "IsInfiniteStream": true, "RequiresOpening": true, "OpenToken": null, "RequiresClosing": true, "LiveStreamId": "e2329f4997b378e64ccf8fa396deb76e_af999c25a00715699361240d4c6c7a53_98601127445ffc0f35e2737a45c5d581", "BufferMs": null, "RequiresLooping": false, "SupportsProbing": true, "VideoType": null, "IsoType": null, "Video3DFormat": null, "MediaStreams": [{"Codec": "h264", "CodecTag": null, "Language": null, "ColorRange": "tv", "ColorSpace": "bt709", "ColorTransfer": "bt709", "ColorPrimaries": "bt709", "DvVersionMajor": null, "DvVersionMinor": null, "DvProfile": null, "DvLevel": null, "RpuPresentFlag": null, "ElPresentFlag": null, "BlPresentFlag": null, "DvBlSignalCompatibilityId": null, "Comment": null, "TimeBase": "1/90000", "CodecTimeBase": null, "Title": null, "VideoRange": "SDR", "VideoRangeType": "SDR", "VideoDoViTitle": null, "AudioSpatialFormat": "None", "LocalizedUndefined": null, "LocalizedDefault": null, "LocalizedForced": null, "LocalizedExternal": null, "LocalizedHearingImpaired": null, "DisplayTitle": "720p H264 SDR", "NalLengthSize": "0", "IsInterlaced": false, "IsAVC": null, "ChannelLayout": null, "BitRate": 8000000, "BitDepth": 8, "RefFrames": 1, "PacketLength": null, "Channels": null, "SampleRate": null, "IsDefault": false, "IsForced": false, "IsHearingImpaired": false, "Height": 720, "Width": 1280, "AverageFrameRate": 50, "RealFrameRate": 50, "Profile": "High", "Type": "Video", "AspectRatio": "16:9", "Index": -1, "Score": null, "IsExternal": false, "DeliveryMethod": null, "DeliveryUrl": null, "IsExternalUrl": null, "IsTextSubtitleStream": false, "SupportsExternalStream": false, "Path": null, "PixelFormat": "yuv420p", "Level": 32, "IsAnamorphic": false, "$type": "MediaStream"}, {"Codec": "aac", "CodecTag": null, "Language": null, "ColorRange": null, "ColorSpace": null, "ColorTransfer": null, "ColorPrimaries": null, "DvVersionMajor": null, "DvVersionMinor": null, "DvProfile": null, "DvLevel": null, "RpuPresentFlag": null, "ElPresentFlag": null, "BlPresentFlag": null, "DvBlSignalCompatibilityId": null, "Comment": null, "TimeBase": "1/90000", "CodecTimeBase": null, "Title": null, "VideoRange": "Unknown", "VideoRangeType": "Unknown", "VideoDoViTitle": null, "AudioSpatialFormat": "None", "LocalizedUndefined": null, "LocalizedDefault": "Default", "LocalizedForced": null, "LocalizedExternal": "External", "LocalizedHearingImpaired": null, "DisplayTitle": "AAC - Stereo", "NalLengthSize": null, "IsInterlaced": false, "IsAVC": false, "ChannelLayout": "stereo", "BitRate": 130978, "BitDepth": null, "RefFrames": null, "PacketLength": null, "Channels": 2, "SampleRate": 48000, "IsDefault": false, "IsForced": false, "IsHearingImpaired": false, "Height": null, "Width": null, "AverageFrameRate": null, "RealFrameRate": null, "Profile": "LC", "Type": "Audio", "AspectRatio": null, "Index": -1, "Score": null, "IsExternal": false, "DeliveryMethod": null, "DeliveryUrl": null, "IsExternalUrl": null, "IsTextSubtitleStream": false, "SupportsExternalStream": false, "Path": null, "PixelFormat": null, "Level": 0, "IsAnamorphic": null, "$type": "MediaStream"}], "MediaAttachments": [], "Formats": [], "Bitrate": 8130978, "Timestamp": null, "RequiredHttpHeaders": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36"}, "TranscodingUrl": null, "TranscodingSubProtocol": "http", "TranscodingContainer": null, "AnalyzeDurationMs": 3000, "TranscodeReasons": "0", "DefaultAudioStreamIndex": null, "DefaultSubtitleStreamIndex": null, "VideoStream": {"Codec": "h264", "CodecTag": null, "Language": null, "ColorRange": "tv", "ColorSpace": "bt709", "ColorTransfer": "bt709", "ColorPrimaries": "bt709", "DvVersionMajor": null, "DvVersionMinor": null, "DvProfile": null, "DvLevel": null, "RpuPresentFlag": null, "ElPresentFlag": null, "BlPresentFlag": null, "DvBlSignalCompatibilityId": null, "Comment": null, "TimeBase": "1/90000", "CodecTimeBase": null, "Title": null, "VideoRange": "SDR", "VideoRangeType": "SDR", "VideoDoViTitle": null, "AudioSpatialFormat": "None", "LocalizedUndefined": null, "LocalizedDefault": null, "LocalizedForced": null, "LocalizedExternal": null, "LocalizedHearingImpaired": null, "DisplayTitle": "720p H264 SDR", "NalLengthSize": "0", "IsInterlaced": false, "IsAVC": null, "ChannelLayout": null, "BitRate": 8000000, "BitDepth": 8, "RefFrames": 1, "PacketLength": null, "Channels": null, "SampleRate": null, "IsDefault": false, "IsForced": false, "IsHearingImpaired": false, "Height": 720, "Width": 1280, "AverageFrameRate": 50, "RealFrameRate": 50, "Profile": "High", "Type": "Video", "AspectRatio": "16:9", "Index": -1, "Score": null, "IsExternal": false, "DeliveryMethod": null, "DeliveryUrl": null, "IsExternalUrl": null, "IsTextSubtitleStream": false, "SupportsExternalStream": false, "Path": null, "PixelFormat": "yuv420p", "Level": 32, "IsAnamorphic": false, "$type": "MediaStream"}, "$type": "MediaSourceInfo"}

[16:36:27] [INF] [51] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for F. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True

[16:36:38] [ERR] [27] Jellyfin.Api.Middleware.ExceptionMiddleware: Error processing request: The request was canceled due to the configured HttpClient.Timeout of 100 seconds elapsing. URL GET /Videos/aa65f6ca-46c0-7346-e4d7-092a7130eed3/stream.ts.

This same channel works immediately on desktop

Issue 4: Guide not loading (may be related to mapping?) image I can click the arrow to see some, but trouble clients like the tv can't do that image

docker-compose:

  cabernet:
    container_name: cabernet
    image: ghcr.io/cabernetwork/cabernet:latest
    environment:
      - TZ="America/Chicago"  # Timezone (Optional)
      - PUID=1000     # UserID (Optional)
      - PGID=1000     # GroupID (Optional)
    ports:
      - "6077:6077"    # Web Interface Port
      - "5004:5004"    # Port used to stream
    restart: unless-stopped
    volumes:
      - cabernet-data:/app/data                # App data (Optional)
      - cabernet-plugin:/app/plugins_ext  # Plugins Data (Optional)
      - cabernet-secrets:/app/.cabernet        # Ecryption key data (Optional)

  jellyfin:
    image: jellyfin/jellyfin
    user: 1000:1000
    volumes:
      #- /media/server/server/jellyfin-server/config:/config
      - jellyconfig:/config
      #- /media/server/server/jellyfin-server/cache:/cache
      - jellycache:/cache
      # ro means read only, we don't want jellyfin accidentally deleting our files
      - /media/16d1/Shows and Movies/Movies:/Movies:ro
      - /media/16d1/Shows and Movies/Shows:/Shows:ro
      #- /media/16tb/Books:/Books:ro
      - /home/drm/Music:/music:ro
    restart: unless-stopped
    runtime: nvidia
    deploy:
      resources:
        reservations:
          devices:
            - capabilities: [gpu]
    depends_on:
      - caddy

config.ini:

[loggers]
keys = root

[logger_root]
level = TRACE
handlers = loghandler

[handlers]
keys = loghandler, filehandler

[formatters]
keys = extend,simple

[handler_filehandler]
enabled = False
level = INFO
formatter = extend
class = lib.common.log_handlers.MPRotatingFileHandler
args = (os.getenv('LOGS_DIR','data/logs')+'/cabernet.log', 'a', 10000000, 10)

[handler_loghandler]
enabled = True
level = WARNING
class = StreamHandler
formatter = extend
args = (sys.stdout,)

[formatter_extend]
format = %(asctime)s-%(levelname)s:%(module)s %(message)s

[formatter_simple]
format = %(levelname)s:%(module)s %(message)s

[main]
uuid = /redact/
maintenance_mode = False

[hdhomerun]
hdhr_id = /redact/

[display]
display_level = 3-Advanced

[tvguide]
enabled = True

[daddylive]
hdhr_id = /redact/
enabled = True
epg-plugin = ALL

[xumo]
hdhr_id = /redact/
enabled = True
channellistid = 10006

[m3u]
hdhr_id = /redact/
enabled = True

[m3u_stirr]
label = Stirr Instance
enabled = True
player-enable_pts_filter = False
player-segments_to_play = 8
player-pts_max_delta = 6000000
epg-min_refresh_rate = 2160
channel-m3u_file = https://i.mjh.nz/Stirr/all.m3u8
player-enable_full_duplicate_checking = False
player-enable_pts_resync = False
epg-xmltv_file = https://i.mjh.nz/Stirr/all.xml
player-stream_type = m3u8redirect

[m3u_pbs]
label = PBS Instance
enabled = True
player-enable_pts_filter = False
player-segments_to_play = 8
player-pts_max_delta = 6000000
epg-start_adjustment = 60
epg-end_adjustment = 60
epg-min_refresh_rate = 2160
channel-m3u_file = https://i.mjh.nz/PBS/all.m3u8
player-enable_full_duplicate_checking = False
player-enable_pts_resync = False
epg-xmltv_file = https://i.mjh.nz/PBS/all.xml
player-stream_type = m3u8redirect

[m3u_plex]
label = Plex Instance
enabled = True
player-enable_pts_filter = False
player-segments_to_play = 8
player-pts_max_delta = 6000000
epg-min_refresh_rate = 2160
channel-m3u_file = https://i.mjh.nz/Plex/us.m3u8
player-enable_full_duplicate_checking = False
player-enable_pts_resync = False
epg-xmltv_file = https://i.mjh.nz/Plex/us.xml
player-stream_type = m3u8redirect

[m3u_roku]
label = Roku Instance
enabled = True
player-enable_pts_filter = False
player-segments_to_play = 8
player-pts_max_delta = 6000000
epg-min_refresh_rate = 2160
channel-m3u_file = https://i.mjh.nz/Roku/all.m3u8
player-enable_full_duplicate_checking = False
player-enable_pts_resync = False
epg-xmltv_file = https://i.mjh.nz/Roku/epg.xml
epg-enabled = True
player-play_all_segments = False
player-decode_url = False
player-stream_type = m3u8redirect
player-enable_url_filter = False
epg-xmltv_file_type = xml

[m3u_samsungtv]
label = SamsungTV Instance
enabled = False
player-enable_pts_filter = False
player-segments_to_play = 8
player-pts_max_delta = 6000000
epg-min_refresh_rate = 2160
channel-m3u_file = https://i.mjh.nz/SamsungTVPlus/us.m3u8
player-enable_full_duplicate_checking = False
player-enable_pts_resync = False
epg-xmltv_file = https://i.mjh.nz/SamsungTVPlus/us.xml
player-decode_url = False
player-stream_type = m3u8redirect

[plutotv]
hdhr_id = /redact/
enabled = True

[xumo_default]
label = XUMO Instance
enabled = True

[plutotv_default]
label = PlutoTV Instance
enabled = True
player-enable_url_filter = False

[daddylive_default]
label = DaddyLive Instance
enabled = True
player-stream_type = internalproxy

[web]
plex_accessible_ip = /docker ip here/

[tvguide_default]
label = TVGuide Instance
enabled = True
default_zone = Central

[epg]
epg_use_channel_number = False

Also wanted to say it's very cool to be able to see so many channels, thank you for your work on this project!

rocky4546 commented 5 hours ago

Try following the issue #78, it should help since you added the cabernet tuner incorrectly. Start with that and then see where it goes. Most of your issues are discussed in the issue.