ESPN+ with Custom Channels via ADBTuner

Got it setup on my Synology, which has a weak cpu, constantly freezing. Damn. guess I will use the espn app for now.

if I did go the encoder route, any recommendations to just get espn/espn2/acc/sec? would like to keep it under $200 if possible, or would that be junk?

1 Like

Lots of warnings in the thread about not using PrismCast on a low end system. ADBTuner is the way to go for your situation then.

You could do a single port LinkPi encoder and a FireStick 4K Max Gen2 or ONN Plus for under $200. The LinkPi is excellent, and either streaming stick would do the job.

1 Like

You could use CC4C if the Synology system has a GPU

There'd be no difference. The Linux version of Chrome, as used in a container for this purpose, does not utilize the GPU.

1 Like

@jagrim Did you happen to capture any of the output from the Project One-Click Action?

Decided to go the PrismCast route first. Link Pi will take 6 weeks to get here. I have been wanting to upgrade my media server for a while and get off the DS224+, so this seems like the appropriate time. A new Intel Core i7 Ubuntu computer should be here in a few days to run all my dockers and media content.

So I've tried that on a Fire Stick 4k Max and it will launch the app but won't play the channel, just goes to home screen. Here's the command I'm using:

am start -S -a android.intent.action.VIEW -d sportscenter://x-callback-url/showWatchStream?playChannel=espn com.espn.gtv/com.espn.startup.presentation.StartupActivity

Did anyone get ESPN working with linear channels in ADBTuner?

EDIT: Also tried it on my onn 4k Android TV box, same behavior. Package name is com.espn.score_center there.

Tried multiple channel Ids for playChannel like espn1, espn2, espnu etc. None work, the syntax seems to be wrong in the URL.

I think a bunch of guys in the ESPN4CC4C thread has and probably FruitDeepLinks thread have

Thanks, but I haven't seen anyone that says it's working. And if they do I'd like to see what the actual URL is.

You’re right… we got it work with events, but not the linear channels if i recall.

That is correct and if interested, studio shows marked ‘Live’ (not re-airs) do show up in the adbt guide and tune correctly. Includes Sports Center and NFL Live, for example.

Yeah...the only way linear channels will work is by using @babsonnexus method
https://community.getchannels.com/t/beta-hdmi-encoder-native-apps-say-goodbye-to-drm-restrictions/46526/42

Its possible to use his method with ah4c due to the flexibility of that tool btw

Sorry I'm kind of lost is espn4cc4c the best way to get espn3 and ESPN+ working?

Trying to get up and running. I have both ESPN4CC4C installed and confirmed via inspection of the XML it's pulling info. Also have the ESPN channels added into ADBTuner and the custom configuration setup but not getting the channel to play live, just the episode splash screen:



And here's the Portainer Stacks:
ADBTuner:

version: "3.8"

services:
  adbtuner:
    image: turtletank99/adbtuner:stable
    container_name: adbtuner
    init: true
    restart: unless-stopped
    ports:
      - "5592:5592"
    environment:
      # Optional: set container timezone (example shown in project discussion)
      - TZ=America/New_York
    volumes:
      # Persistent config + database + adb keys live here
      - /opt/adbtuner:/app/.config

ESPN4CC4C:

services:
  espn4cc4c:
    image: ghcr.io/kineticman/espn4cc4c:latest
    container_name: espn4cc4c

    ports:
      - "8094:8094"

    extra_hosts:
      - "host.docker.internal:host-gateway"

    dns_search:
      - localdomain
      # Uncomment and replace with your Tailnet if needed
      # - tailxxxxx.ts.net

    environment:
      TZ: America/New_York
      VC_RESOLVER_BASE_URL: http://192.168.0.5:8094
      CC_HOST: 192.168.0.5
      CC_PORT: 5589
      PORT: 8094
      APP_MODULE: bin.vc_resolver:app
      VALID_HOURS: 72
      LANES: 40
      ALIGN: 30
      MIN_GAP_MINS: 30
      M3U_GROUP_TITLE: ESPN+ VC
      VC_M3U_PATH: /app/out/playlist.m3u
      WATCH_API_KEY: [hidden]
    volumes:
      - /opt/espn4cc4c/data:/app/data
      - /opt/espn4cc4c/out:/app/out
      - /opt/espn4cc4c/logs:/app/logs

    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8094/health"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 60s

    restart: unless-stopped

It appears we just need to send a KEYCODE_DPAD_CENTER to get to live.

Can you post what the current ADBTuner Custom Configuration you're using looks like (ESPN+ Deep Links - Show Tuning Process (bnhf) specifically)?

Assuming this is what you mean?

{
    "name": "ESPN+ Deep Links - Show Tuning Process",
    "author": "bnhf",
    "version": "1.0",
    "description": "Load content via ESPN+ deep link URLs (where supported). Show tuning process.",
    "uuid": "51af5028-092f-4ddc-b4ea-d5e5fca58cac",
    "global_options": {
        "wait_for_video_playback_detection": false,
        "use_fixed_delay": true,
        "fixed_delay_seconds": 1,
        "check_for_and_clear_whos_watching_prompts": false,
        "wait_after_post_playback_start_commands_seconds": 0
    },
    "pre_tune_commands": [
        "input keyevent KEYCODE_MEDIA_STOP"
    ],
    "tune_commands": [
        "am start -n ||TARGET_PACKAGE_NAME||/com.espn.startup.presentation.StartupActivity -d ||TARGET_URL_OR_IDENTIFIER||"
    ],
    "post_playback_start_commands": [
        "sleep 20",
        "input keyevent KEYCODE_DPAD_DOWN",
        "input keyevent KEYCODE_DPAD_DOWN",
        "input keyevent KEYCODE_DPAD_RIGHT",
        "input keyevent KEYCODE_DPAD_CENTER"
    ],
    "post_tune_commands": [
        "input keyevent KEYCODE_MEDIA_STOP",
        "input keyevent KEYCODE_MEDIA_PAUSE",
        "input keyevent KEYCODE_HOME"
    ]
}

A couple of things that you might try (they work for me currently).

The development version of ADBTuner with the following tuning configuration for these channels:

{
    "name": "ESPN+ Deep Links - Show Tuning Process",
    "author": "bnhf/hancox",
    "version": "1.0",
    "description": "Load content via ESPN+ deep link URLs (where supported). Show tuning process. Modified from original for ONN",
    "uuid": "51af5028-092f-4ddc-b4ea-d5e5fca58cac",
    "global_options": {
        "wait_for_video_playback_detection": false,
        "use_fixed_delay": true,
        "fixed_delay_seconds": 1,
        "check_for_and_clear_whos_watching_prompts": false,
        "wait_after_post_playback_start_commands_seconds": 0
    },
    "pre_tune_commands": [
        "input keyevent KEYCODE_MEDIA_STOP"
    ],
    "tune_commands": [
        "am start -n ||TARGET_PACKAGE_NAME||/com.espn.startup.presentation.StartupActivity -d ||TARGET_URL_OR_IDENTIFIER||"
    ],
    "post_playback_start_commands": [
        "sleep 20",
        "input keyevent KEYCODE_DPAD_DOWN",
        "sleep 1",
        "input keyevent KEYCODE_DPAD_DOWN",
        "sleep 1",
        "input keyevent KEYCODE_DPAD_RIGHT",
        "sleep 1",
        "input keyevent KEYCODE_DPAD_CENTER"
    ],
    "post_tune_commands": [
        "input keyevent KEYCODE_MEDIA_STOP",
        "input keyevent KEYCODE_MEDIA_PAUSE",
        "input keyevent KEYCODE_HOME"
    ]
}

On occasion I have to try the channel a second time to get it to go live but it usually works on the first try. Showing the tuning process is helpful for me to see where it might be misbehaving.

1 Like

@jator I agree with @TJN here, use the developement tagged version of ADBTuner. Try adding those sleep commands too as shown. I believe those are often required for streaming sticks that are slower than the FireStick 4K Max Gen2 I use.

1 Like

Thanks, I'll play with tonight. And some items are tuning to live, while others are tuning to the episode splash screen.