DEPRECATED: PC Stream for Channels (DRM Workaround) | No new hardware required!

Impressive creativity putting all of this together. That said, the issues I see going forward:

• Only one stream can be recorded simultaneously per PC
• The PC hosting this solution would be unusable during recordings/live TV
• Possible poor quality due to recompression?

Might these issues be overcome going forward?


Thanks for taking the time to look into this, writing documentation, and sharing with the community!

A couple of questions:

  1. Have you tested this with sources that require HDCP such as YouTube TV?
  2. The documentation for "screen-capture-recorder-to-video-windows-free" mentions high CPU usage. Have you seen that in your testing?

The sound is crisp, but overall flat. You might be able to tell in the videos above. Currently, I have VLC exporting 2 channels, but technically it could be increased to 5 or 6. However, I don't think there is a point in doing so because the originating sound would no longer be mixed. It's basically a tape recorder playing back what is in front of it.

Strangely, I find the sound to be much better quality than the video. But yes, there is definitely some blockiness problems, frame skipping, compression, etc.... I've already captured in section (i) a desire to find ways to increase the quality. I'm very out of my wheelhouse here, so hope someone can make some suggestions that can help!

Also noted in section (i), these are real issues. However...

This is an interesting idea, maybe with a bunch of virtual desktops to set up and do the heavy lifting? Then, for each "tuner" you want, there could a bunch of virtual desktops ready to go. Or maybe some intermediary to see which one is free? Sounds complicated, but not impossible by any stretch. It could work with some type of repurposed load handler software.

Making things have unintended uses is my specialty. :grin: That is also why I'm thinking that virtualization and software switches could be put to work here.

Yes, this is mentioned in section (8), step 3. This is why I only let it run when a station is tuned to, otherwise it would whir things to death. VLC has its own built-in desktop streamer which uses less resources, but it cannot capture sound. The developer of screen capture is actively working on it, so there is always hope for better resource management in the future.

Not specifically, but I cannot see it being an issue (aside from quality control and resource usage). If it can appear on your screen, then it can transmit!

You're welcome, and I've certainly benefited from the hard work of others to be able to put this together!

I found it useful to document as I was going, thus I was literally doing that in this thread so that the solution would be ready for presentation when I was! Also, I'm a big believer in documenting in-line with code to understand what the heck is going on.

I'm looking forward to other people implementing this and providing feedback / suggestions / code fixes / etc..

Wonder how one would go about doing this on Synology? Sounds like a neat idea.

This is really cool and when I saw the HDMI thread I immediately thought that there has to be a way to do this with some sort of screen capture method, I'm guessing you already looked at OBS to do the capture and couldn't get it to work? Specifically wondering if OBS outputs a stream that can be read by channels with or without FFmpeg.

Great work on figuring out how to set up all the other components like Chrome/VLC launching etc. Like you said this is all basically a big hack to work around the DRM issue, the real way to do this is IMO figuring out how @miibeez got the PBS channels to work (with widevine libraries or whatever) and have that run in a container.

1 Like

Pretty neat stuff. I don't have a use for it, but here is one thing that I found when testing it.

The windows machine running the program must have a display attached or else it will not work. If the display (or in my case, Remote Desktop Connection) is disconnected while a stream is running it will cease to work.

1 Like

You could output OBS to nginx-rtmp and then channels could subscribe to that feed.

Interesting... It hadn't occurred to me to use OBS; I really went with something readily available. I'll give it a try later and see if I can get it to work. Seemingly, it would just replace everything in the prebmitune step and a mild modification to the stopbmitune.

OBS is also cross-platform which would be a big plus.

1 Like

RE needing a display attached.
Did you try a dummy USB fob plugged in? I use these to RDP into machines here and be able to change display settings since it fakes the PC into thinking a display is attached.

This company offers something similar with a lot more cost. They have a patent I belive.

It seems like this only DVRs "cable or antenna" whereas the functionality "we" need to replace is TVE capture. I don't think Modulus does TVE, right?

It records OTA, cable, and streaming. TVE is streaming. So it can record that content as well as other streaming services such as Netflix,...etc. It used to be limited to specific services. It covered most. It doesn't not appear to be limited anymore.


Interesting. This is the first I've heard of it. Thanks for mentioning it.

1 Like

lol Starting at a measly $ 9k... Ummm I don't think we are the target customer. At least I'm not.. :grin:

Oh yes. Way too expensive. But that wasn’t my point. My point is, this is what we need. This device has been around for years.

1 Like

Holy crap. This tool is amazing!! Might be useful if I want to record these channels. Not too sure if it'll work on my Mac. I might put windows on that to try tho...

1 Like

Good recommendation! I used an OBS to nginx-rtmp Windows setup during NFL season to stream "Games" :innocent: to channels. Worked out quite well. I tried to set it up in a Windows VM that had GPU access and it was unusable.. Super slow. Honestly did not put any effort into tweaking it though. I'm guessing it could be made to work more efficiently in a Linux VM. Maybe a docker container with everything included. Actually bought an HDMI Encoder to connect to my Channels Server to do this without the additional load and then saw the HDMI Encoder Project and thought it could be adapted to use OBS and nginx-rtmp. @babsonnexus Great Work!!

1 Like

android-for-channels.exe runs in background at startup. All the channels show up with proper guide info on the clients. None of the channels pull up chrome on the server? They either time out, or on my Android tablet, opens the NBC app when I select USA network. On the ATV I get a 403 error.

How can I troubleshoot the problem on my server? Is there a Powershell command I can use to see if something obvious isn't working? I am wanting to test each "step" separately to see what I could have made a mistake. Seems like just getting chrome to open with a command in powershell would be a logical first step to troubleshoot? Thanks!

Very interesting!

I've been following closely the "HDMI for Channels" thread but not quite ready to empty my wallet yet. :laughing:

Now you have given me a nice weekend project! :smiley:

1 Like