Web Player Alternative for Live TV

Rather than adding to other threads about issues with the Channels DVR Web Player, I thought I'd post this tip for those that like to be able to watch a sporting event (or whatever) while using their computer.

I'm probably not the only one that has multiple monitors at their primary workstation. I have 5 of them, and for longer than I'd like to think about, I've been trying to use the CDVR Web Player to watch sporting events on one display. This has never worked well.

During the typical NFL game, I have to restart the player half-a-dozen times. It seems to exit particularly often transitioning in or out of a commercial break. Not a huge deal since I'm at the computer anyway, but annoying none-the-less.

I decided to look for an easy alternative -- that would allow me to select the channel I want to watch, and then launch it in VLC. Like so many things, it turned out to be super-easy:

  • Select the event you want to watch from the CDVR guide

  • Right-click on Watch Now, followed by Copy link address

  • Open VLC, and go to Open Media, followed by Open Network...

  • Paste in the link and click Play

  • Enjoy watching a Channels DVR feed on your computer problem-free!

Though I'd love to see some of the Web Player's issues sorted out, this option is easy enough, and fast enough, to become my "go to".

2 Likes

On macOS I often use IINA. It’s free too and has a more modern interface than VLC. It also supports Picture-in-Picture.

You can avoid copy paste into VLC by enabling VLC link in settings > integrations and the VLC option will show up in the drop down.


That looks like it would be handy. What do you recommend for the needed vlc-protocol helpers?

I’ve only used it sparingly with iOS safari and it just works no helper required. If other browsers are used I can’t really comment on if they need a helper or not or which ones to use.

1 Like

OK, so I enabled VLC Links in CDVR Integrations, and I followed the instructions from this forum thread:

Now I get the following pop-up in my Chrome browser when attempting to use the VLC option under Watch Now:

Screenshot 2024-10-28 082315

Followed by this in VLC:

Screenshot 2024-10-28 082131

Is there something that needs to be done in VLC as well?

Previous discussion here:

Same thread I referenced above. Early posts suggest it doesn't work, later posts say "it's easy" and "works fine for me". What's the current status? So far, I'm thinking the copy and paste approach I outlined above is the way to go...

Hmm, I just tried with the "VLC-protocol" helper app on macOS 15.0.1 and couldn't get it working either.

I'm inclined to agree.

Not in VLC, in the program. I covered this as well here:

1 Like

This worked -- thanks!

Do you know if there's a way to eliminate this Chrome pop-up when selecting VLC as the Watch Now target?:

Screenshot 2024-10-28 082315

1 Like

I saved a local copy of Channels' exported M3U playlist (with the added query parameter of format=ts so the server doesn't have to transcode or remux) to my desktop. Then when I wanted to watch live while at the computer I would just open the playlist (in IINA by default).

The benefit of this is that not only do you get more responsive playback because there is no remuxing, but you also get the playlist displaying all of your channels, so you can easily switch just by selecting the channel you want directly. (Or, using the Prev/Next commands you can channel surf.)

(Edit: Also, there is an Electron-based desktop app that seems to support M3U/XMLTV called IPTVnator. I have not used it personally, but a desktop IPTV app with EPG seems to be something of a unicorn.)

(Edit 2: It is also worth mentioning, if you have an Apple Silicon Mac, you can install the iPad version of the Channels app through the App Store. Just keep in mind it is the iPad app and not a special desktop version, so some things work a bit wonky.)

2 Likes

I do not, but I bet its a Chrome security thing. In Firefox, it always opens a new blank tab and there also seems to be no way of getting around it.

OK, so to close the loop on this -- here's what I've settled on for watching Channels on my multi-display Windows PC via VLC:

I like both the VLC integration (as enabled in Settings - Advanced - Integrations), and the drag-and-drop option using the Watch Now button. Here are a few details on each:

To use the VLC integration, enable it on the above Channels DVR Settings page. Then, you'll need to place three batch files in the same folder where your VLC executable resides. These files can be downloaded from GitHub, but since modifications are required to the primary batch file it may be easier to simply grab them from here:

vlc-protocol.bat:

Setlocal EnableDelayedExpansion
set url=%~1
set url=!url: =%%20!
set url=!url:http/=http:/!
start "VLC" "%~dp0vlc.exe" --fullscreen "%url:~6%"

Note that on the fourth line, http can be changed to https, if you use https to access the Channels browser pages. Also, if you don't want the VLC window to open full screen (on one monitor if you have several), you can change --fullscreen to --open.

vlc-protocol-register.bat

@echo off
@echo.
if not exist "%~dp0vlc.exe" (
  echo Warning: Can't find vlc.exe.
  echo Please put these files in your VLC directory and then run this file.
  @echo.
  pause
  exit /b
)
echo If you see "ERROR: Access is denied." then you need to right click and use "Run as Administrator".
@echo.
echo Associating vlc:// with vlc-protocol.bat...

reg add HKCR\vlc /ve /t REG_SZ /d "URL:vlc Protocol" /f
reg add HKCR\vlc /v "URL Protocol" /t REG_SZ /d "" /f
reg add HKCR\vlc\DefaultIcon /ve /t REG_SZ /d "%~dp0vlc.exe,0" /f
reg add HKCR\vlc\shell\open\command /ve /t REG_SZ /d "\"%~dp0vlc-protocol.bat\" \"%%1\"" /f

@echo.
pause

The only purpose of this file is to add 4 values to your Windows Registry, to create a vlc:// protocol, and define what to do when it's used.

vlc-protocol-deregister.bat:

@echo off
@echo.
echo If you see "ERROR: Access is denied." then you need to right click and use "Run as Administrator".
@echo.
echo Removing vlc:// association...

reg delete HKCR\vlc /f

@echo.
pause

And, this final batch will remove the entire vlc section from the registry, if you decide you no longer want to use it.

Contrary to what you made read in other posts on this subject the vlc-protocol.exe file is not required -- at least not for Windows 11 Pro 23H2. Only the batch files.

Using the above approach, when I select VLC from the Watch Now dropdown followed by approving the running of the batch file (Chrome security pop-up), the desired channel will open full screen on the last display I used for VLC.

The other option I like, and that I'll use, is to drag the Watch Now button down to a minimized instance of VLC (but don't drop it yet). This will maximize VLC, where I can then continue to drag the button, and then drop it on the open VLC window.

The advantage of this approach is that it requires no special batch file installation, and is just as easy to use. In fact, if I want to have two displays actively streaming CDVR content, I'll probably use both methods -- one for each instance of VLC.

4 Likes

Thanks for that great write up but I tried a couple of PBS recordings and neither one of them worked with that method, I can drag the link into VLC but it quickly starts and stops playing and I'm not sure why. If you try to skip around in VLC it doesn't work at all so VLC doesn't like the HLS stream for some reason.

Looks like it might be a PBS specific issue, I tried a few other vids from different sources and they do work. I'm using the PBS docker container.

Update: It does work with VLC integration, because it sends the file as mpeg-ts instead of HLS. So if you're having an issue with HLS and don't want integration, copy the 'Watch Now' URL into VLC manually (Media->Open Network Stream) then change the last three letters from 'hls' to 'stream.mpg'.

There may be some setting in VLC that can be tweaked to fix this, not sure.

Update2: Running Fix Video Timestamps on the problematic PBS files allows them to play in VLC!

I can't get vlc-protocol working in Windows. I followed the instructions of copying the 3 files to my VLC folder and running vlc-protocol-register.bat, but it doesn't seem to be doing anything. When I open a command prompt and try to run the bat file from there, it says "The syntax of the command is incorrect." Any ideas what I could be doing wrong?

The files, placed in the directory with your VLC executable, should look like this:

And when you right-click on vlc-protocal-register.bat, you should be able to open it in Notepad and compare it to what's posted here. It sounds like you may not have grabbed everything if you're getting a syntax error.

The other possibility is that you need to run it as Administrator, which is also done via a right-click. If successful, you should see a Command Prompt window open to run the registry modifications, followed by a pause for you to hit a key to close the Window.

Yeah, it turns out the files were corrupt and didn't download properly the first time. I redownloaded everything from the repository and then it worked. Thanks!

It's been working for me, but I prefer the CDVR web player in the browser.
With it, I can see the ad marks, do PIP with the browser, scrub and play at multiple speeds.
Of course, I don't use it for all Live TV and Recordings.

To each his own.

1 Like

I get what you're saying. I don't actually think this is a particularly good approach for watching recorded TV. However, for watching TV events in real time at a computer workstation, the CDVR web player is only just OK. It functions, if you don't mind restarting it when it mysteriously stops.

Using VLC on the other hand for the last couple of days, I've had several test channels playing for 5 or 6 hours without interruption. With a multi-monitor setup it can be quite nice to be able to have a live game going on one of the displays, particularly if you don't need to mess around to keep it running.

I think it's a plus that none of the approaches outlined above prevent the use of the web player, but are just alternatives that one may find fits a particular use case better. Not to mention that all use the same launch point as the web player (the Watch Now button) -- turning it into more of a flexible pivot point.