FastChannels - FAST Channels aggregator/manager

You should have a Custom Channel Source setup that looks very much like this one:

This custom source takes the input from your Capture Card and transcodes it into something useful. A Capture Card plus this Custom Source creates a "virtual encoder". These two together do basically the same job as a LinkPi or URayCoder.

This is the first building block we need to nail down.

EDIT: Have you reviewed this document about how all this works?

@SageLois Did you go through the process of identifying the video and audio elements of your Capture Card using ffmpeg from a Command Prompt?

Those are what makeup the capture://dshow URL that needs to go in this special source that's only job is to transcode the feed from your Capture Card.

EDIT: If you haven't done that (it's pretty much step one after plugging in your Capture Card), open a Command Prompt window and enter:

c:\programdata\channelsdvr\latest\ffmpeg.exe -list_devices true -f dshow -i dummy

Then post the output here.

I think that may be the source of the issue. I finally found some reference to that in another thread, but it's not getting me anywhere.

Here's the output of the ffmpeg command:

[dshow @ 00000232046c95c0] "USB Video" (video)
[dshow @ 00000232046c95c0]   Alternative name "@device_pnp_\\?\usb#vid_534d&pid_2109&mi_00#7&2c929db0&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global"
[dshow @ 00000232046c95c0] "Remote Audio" (audio)
[dshow @ 00000232046c95c0]   Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{A3ED9185-1E02-411C-B11B-05D92F25CEF4}"

I then tried setting up a source:
image

I also found some instructions (probably the ones you're thinking of) in the github docs folder (would have preferred them in the FC screens themselves, but I finally found them). Here's the part that I can't follow (starting with step 2):

Once the capture source appears as a device in Channels DVR:

  1. In FastChannels, configure the Channels DVR URL under Settings.
  2. In the HDMI Capture card, select Find from Channels DVR.
  3. Search for and select the channel backed by the HDMI capture device, then select Use selected stream. Capture/HDMI-like names are shown first.
  4. Select Save in the HDMI Capture card.

What does it mean "in the HDMI Capture card, select...." The capture card provides no obvious way to talk to it that I can find.

OK, good. Now, if you look in your WebUI guide, you should find a source that matched the nickname you chose. Here's mine:

I have two Capture Cards, but you'll only have one. Click on what's in the current time slot, and view it just like you would a normal channel. You should see the homescreen of your FireStick:

Make note of the assigned channel number (90474 in my case), and build your virtual encoder URL, using my description here:

That virtual encoder URL goes here, in place of the incorrect one you entered:

Screenshot 2026-09-07 at 23-14-14 image(2).png (PNG Image 519 × 645 pixels)

Save it, and you should be able to Test connection.

If successful, you now have a virtual encoder.

Next you'll create another Custom Channel Source for Amazon, as I described here. Your M3U will not match mine, but you'll find the correct one for you in FastChannels Feeds for Amazon Prime. I'd suggest just doing the Gracenote one to start (assuming you have some channels enabled with Gracenote Station IDs).

EDIT: I'm signing off for the night, but hopefully the above will get you there!

Ok, I think I finally got it (partially) working, with a few remaining significant issues:

I did finally (thanks to your instructions and one change that I had to make (see below) get to the point where I could watch video from the Android Bridge channels. However, there are two significant problems for making recordings (possibly also for just watching, but I'm in the process of testing that).

  1. To view anything but the screen saver (if the stick has been quiet for long enough to go into sleep mode), I have to press a button the remote.

  2. After just a few minutes (3 or so?) of recording an actual airing, the stick reverts back to the Fire Stick home screen and that's what gets recorded for whatever duration the airing was supposed to have. I am "watching" something on another tab right now and simultaneously recording it to see what happens, but while that might be somewhat diagnostic, it's not how I want to use the feature. (Update): In this case it lasted about 10-11 minutes before reverting to the home screen or screen saver.

I found the fire stick setting to disable the screen saver, and set up yet another recording for later to see what happens.

Here's what I ended up doing to get to the current point (in addition to your instructions, which were essential:

My server runs headless and I talk to it via Windows Remote Desktop from my daily driver PC which sits right next to the server. I had the RDP set so that it's supposed to send the server's audio to the remote PC (which is why the ffmpeg command referenced "remote audio." I made an alternate RDP profile that left the audio on the server machine and reran the ffmpeg command, which gave me a different result for the audio portion. I updated the USB-HDMI setup with the new string and all of a sudden I can see the fire stick when viewing the HDMI tuner in Channels, instead of an endlessly spinning circle of doom. (Odd that both audio and video were failing prior to the change when the only thing that I changed to fix was the audio setting).

I then proceeded with your instructions to complete the setup.

So I've made progress but still have the problems noted.

In the Github docs, I find the following, which doesn't match anything I see on my FC admin screen. It looks like it might be helpful in diagnosing the sleep and early reversion to home screen issues, but it doesn't seem to be available (could it be something planned but not yet implemented?) These are the ones I mean:

Before attempting a real bridge-only channel, use Bridge → Post-install Healthcheck → Run healthcheck. It checks the configured hardware paths without tuning a channel, samples the configured HDMI Capture stream from inside the FastChannels container, and Copy forum report creates a concise, credential-free report to attach to a support post. PrismCast has its own specialized capture test in the PrismCast Capture card.

When the non-disruptive check passes, Live bridge test is the optional end-to-end confirmation: choose one bridge-ready channel, confirm the warning, and FastChannels tunes the Player device then samples the HDMI Capture stream. It intentionally interrupts anything playing on that device. The result shows the tested stream path, payload size, timing, and whether the Player reports active playback. It also reports the MPEG-TS program's detected video/audio types when they appear in the short sample. Select Stop test playback when you are done to close the Player immediately.

The automatic stop option detects viewers using Channels DVR's activity status or the FastChannels /watch page. It cannot detect a third-party player connected directly to the M3U. Leave this option off if you watch that way.

Fire TV Device Controls next to the Install button is the quickest way to diagnose a headless device: it shows ADB reachability, whether the screen is awake, the installed player version, and current display timeouts. Apply headless preset keeps a powered device awake and prevents its screen/sleep timeouts from interrupting the HDMI encoder; FastChannels saves the prior values so Restore previous settings can put them back later.

I turned off the automatic stop feature in the FC admin page to see if that would fix reverting back to the home screen; it didn't, so I turned it back on.

Ok, I'm done for the night. Tomorrow I'll check the latest recording attempt, but if you have any ideas in the mean time, would appreciate.

I added a new feature to ADBTuner called "Passthrough Channels" this past weekend to allow other projects to use tuning resources provided by ADBTuner. It could be used for many things, but I was testing it with FastChannels.

It's in ADBTuner (development tag) version 20260909-2 or newer.

If anyone has the time to take a look and help test this it would be much appreciated.

I don't know FastChannels very well, but these are the steps I took to get this working.

FastChannels 5.1.0 (current docker version as of 2026-09-07)
Presuming FastChannels is configured (time zone, server url, etc.)

  1. Enable Channels DVR Support
    http://x.x.x.x:5523/admin/settings
    Enter your Channels DVR URL
    (this had to be enabled, otherwise FastChannels would throw an exception trying to convert "US:10511" into an integer)

  2. http://192.168.86.25:5523/admin/settings
    Enable FastChannels Player
    Enter one of your ADBTuner android device IP addresses here, click save, click Install FastChannels Player. Repeat for all ADBTuner connected Android devices. Leave one IP in this box, doesn't matter which.

I had to share my adb keys with FastChannels to make this work. Added an extra volume to docker-compose.yml and put my adbkey and adbkey.pub in the adb_keys directory next to the compose file. Not sure if there is a better way to import keys into FastChannels.

volumes:
  - db_data:/data
  - ./adb_keys:/root/.android
  1. http://x.x.x.x:5523/admin/settings
    Enable ah4c support, enter fake URL in box:
    http://127.0.0.1
    It seems this has to be enabled before FastChannels will provide a playlist of "bridge channels"?

  2. Add Vidaa source:
    http://192.168.86.25:5523/admin/sources
    Turn Vidaa TV on, click "Scrape Now." Wait until complete.

  3. Approve New Channels
    http://192.168.86.25:5523/admin/channels?review=pending
    Wait a bit until complete


ADBTuner

  1. Add Configuration
    http://x.x.x.x:5592/ui/configurations
{
  "name": "FastChannels Player",
  "description": "",
  "author": "",
  "version": "",
  "uuid": "103f3173-d7a5-46a0-91d0-6eb42709caf9",
  "global_options": {
    "wait_for_video_playback_detection": true,
    "use_fixed_delay": false
  },
  "pre_tune_commands": [],
  "tune_commands": [
    {
      "HTTP": {
        "method": "GET",
        "action": "||TARGET_URL_OR_IDENTIFIER||?adb=||TARGET_DEVICE_IP_ADDRESS||:5555",
        "timeout": 30
      }
    },
    {
      "WAIT_FOR_FOCUS": {
        "package_name": "||TARGET_PACKAGE_NAME||"
      }
    }
  ],
  "tune_match_text_commands": [],
  "post_playback_start_commands": [],
  "post_tune_commands": [
    "am start -n com.fastchannels.player/.PlaybackActivity --es command warm_stop"
  ],
  "timed_keep_active_commands": []
}
  1. Add Passthrough Channel List
    Name: FastChannels
    M3U URL: http://x.x.x.x:5523/m3u/fc-playerPackage Name: com.fastchannels.player
    Configuration: FastChannels Player
    Check: Include in playlists

These channels will now be available in ADBTuner.

ADBTuner exposes a playlist of these channels that could possibly be used to close the loop and get the channels back into FastChannels (looping through ADBTuner). I didn't see anything in the current version of FastChannels that would support this. I can create a PR if that would be helpful.


1 Like

I'm good now. Typo, of course lol

Working great now!

Trying to read up on how to use this HDMI capture method for DRM before diving in. In the documentation, it says to follow this walkthrough to set up your capture device:

But if I click that link, it goes to this reply:

I looked at posts before and after and don't see anything that looks like a walkthrough on correctly setting up the capture device in Channels. Can anyone point me in the right direction?

I also saw someone making a comment that maybe some newer Firesticks don't work for this because you can't sideload. Is this correct? Is there a particular Firestick model I should be looking for?

1 Like

Yes. The newest ones with the VegaOS won't work.

FireStick 4K Max (Gen 2)

Have you reviewed this document?

1 Like

Yes, I was reviewing that document. That's where my first screenshot came from, telling me to go to a link in the forum for a walkthrough on setting up the capture device, but the link doesn't seem to go to any sort of walkthrough, it goes to someone talking about missing logos.

Here is a link to the whole thread, USB HDMI Capture. Hope it helps.

1 Like

I'm hoping it's just that he's taking some well deserved relaxation time, but I'm a bit worried about @KineticMan. He's usually a prolific poster and we haven't heard a word from him in days. Are you doing okay man?

Latest recording attempt also reverted to home screen after about 10 minutes. To try to rule out Fire Stick issues vs. bridge issues, I set the Fire Stick (running on its own, not through FC, viewed using Potplayer) to play something from Netflix. It played through about 27 minutes before I manually stopped it.

Then I found Amazon Prime's live channels & played it for just under 20 minutes before manually stopping. Again, no problem. So the problem isn't with the fire stick or the HDMI to USB interface; it is happening somewhere in the FC-Channels chain.

At risk of being pilloried, I'm going to state my version of the no logos and no channel names in the guide problem. I'm new to this and don't yet care anything about accessing any of this functionality remotely, for now I am content to stream to my TVs at home from a PC at home. I have (I think) successfully set up a feed and I can see complete guide data in fastchannels web guide and CDVR web guide, including channel names and logos. But on my TVs, one Google TV and another Fire TV, I get information about the individual programs and channel numbers but no channel names or logos in the guide. I have struggled with AI for hours and can't seem to get this to work. My feed is really two feeds, a gracenote feed and a non-gracenote feed. Channels from both feeds are in the same guide, and neither set of channels has channel names or logos in the CDVR apps on either of my TVs, as explained. Thanks for any help or guidance...

Could you post your FastChannels logs please, from just before the tune begins, until just after the exit to the homescreen?

Welcome! And, this isn't that kind of forum. :slight_smile:

What value are you using here, for FastChannels URL?:

Nice to meet you!
I'm using: http://192.168.68.52:5523
I tried to give you a screenshot but the snip tool pasted in gibberish instead of the screenshot.

That IP address looks fine, so the next most likely thing is a networking issue. Is it possible you're using client isolation on your LAN? Or do you have your Google TV and FireTV in a VLAN? Are you using a VPN on either of those TVs? Are you having the same issue when you use the Channels Client on phone or tablet connect to your LAN?

Is it possible you're using client isolation on your LAN? No indication of that in Deco app.
Or do you have your Google TV and FireTV in a VLAN? No, VLAN disabled in Deco app.
Are you using a VPN on either of those TVs? No.
Are you having the same issue when you use the Channels Client on phone or tablet connect to your LAN? Yes, after I read your post I installed CDVR on my iphone and got the exact same result, programs were in the guide and I can watch TV, but channel names and logos were not present. Some of the programs have graphics associated with them, but not the channels.

Can you reach the FastChannels WebUI from any computer on your LAN, other than the one hosting it?