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.
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.
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.
Yeah to each his own but when you're dealing with a basically broken web player versus VLC which works all the time, it's an easy choice. I can't tell you how sick I was of restarting the web player countless times when I was out of town couple of weeks ago. VLC can play at multiple speeds and scrub, and of course you have PIP because you can resize it.
There's not much reason to not use VLC considering the broken state of the web player. I wish I could use it because it's easier but at this point it's not worth it.
When you had issues with using the web player to playback recordings
- were you using it locally or remote
- what OS and browser did you have issues with
Appears that Apple systems have no issues, no matter which browser.
My guess is that whatever browser you use on an Apple device uses the Apple internal browser framework, or whatever it's called. And I think this is what the devs have tested it against.
This is why I originally asked for an alternate way to view instead of using the web player.
I'm trying to stay within the Channels DVR experience (eco-system) and help to improve it, instead of using work-arounds or using something else. But sometimes your patience just runs out when you gotta get things done.
I tried Brave Chrome and Edge on Windows 11 and all of them had the same issue, which makes sense since they're all based on the Chrome engine.
I did not have Firefox installed, and all of this was trying to stream recordings remotely.
I've already switched to VLC so this won't be an issue for me going forward.
Have to agree.
I have three strikes against Channels DVR, this being one of them. (Not that three strikes means out)
Otherwise, Love It!
I don't think the web UI player on Windows will ever get fixed. Been complaining for years to deaf ears.
But, if someone has an issue with the web UI Player using Safari, that's a different story, since Safari == Apple ecosystem and gets attention, because...
I can play all my recordings from disk using VLC and other players. I can also edit them and remove commercials using my video editor. I was just trying my best to stick with the Channels ecosystem, keep my recordings there, import things there, etc.
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
I've discovered that deleting the video index for a recording allows it to play flawlessly in the web UI player.
No buffering, no loss of audio, very fast skipping and jumping back and forth.
Any way to disable creating the video index during recordings?
I can do it by making the Streaming/m3u8 directory read-only, but that fills the DVR log with errors.
My next test will be to disable video index creation and watch a recording in progress, then watch live tv.
Testing on my FrndlyTV source fyi channel with video index generation disabled.
Every 5 seconds during the recording it's complaining about not being able to write the video index.
2025/06/02 16:00:11.795763 [DVR] Recording for job 1748905200-ch9025 from M3U-frndlyTV ch9025 into "TV/Storage Wars/Storage Wars S04E17 2013-06-04 The French Job 2025-06-02-1600.mpg" for 29m49.78126113s
2025/06/02 16:00:12.227677 [IDX] Generating video index for job 1748905200-ch9025
2025/06/02 16:00:17.250447 [M3U8] Generator: consecutive_errors=5 err=cannot create temp file: open /volume1/ChDVR8389/Streaming/m3u8/2959/stream.m3u8707427198: no such file or directory
...
2025/06/02 16:30:11.192340 [M3U8] Generator: consecutive_errors=1795 err=cannot create temp file: open /volume1/ChDVR8389/Streaming/m3u8/2959/stream.m3u83127133413: no such file or directory
2025/06/02 16:30:12.021056 [TNR] Closed connection to M3U-frndlyTV for ch9025 FYI
2025/06/02 16:30:12.158777 [SNR] Buffer statistics for "TV/Storage Wars/Storage Wars S04E17 2013-06-04 The French Job 2025-06-02-1600.mpg": buf=0% drop=0%
2025/06/02 16:30:12.159009 [SNR] Streaming statistics for "TV/Storage Wars/Storage Wars S04E17 2013-06-04 The French Job 2025-06-02-1600.mpg": timeouts=0 segment_timeouts=0 playlist_timeouts=0
2025/06/02 16:30:12.314071 [MTS] Statistics for "TV/Storage Wars/Storage Wars S04E17 2013-06-04 The French Job 2025-06-02-1600.mpg": discontinuity_detected=0 transport_errors=0 saw_pcr=true saw_pmt=true highest_pts=1807.966667
2025/06/02 16:30:12.326147 [DVR] Finished job 1748905200-ch9025 Storage Wars
2025/06/02 16:30:12.411694 [DVR] Processing file-2959: TV/Storage Wars/Storage Wars S04E17 2013-06-04 The French Job 2025-06-02-1600.mpg
2025/06/02 16:30:13.277220 [IDX] Generating video index for file-2959: TV/Storage Wars/Storage Wars S04E17 2013-06-04 The French Job 2025-06-02-1600.mpg
2025/06/02 16:30:21.614521 [ERR] Generating video index for file-2959 failed: cannot create temp file: open /volume1/ChDVR8389/Streaming/m3u8/2959/stream.m3u82262592070: no such file or directory
But playing the in progress recording in the web UI player works flawlessly, no buffering, quick jumping forward and backward and playing at 1, 1.5 and 2x normal speeds.
Next test is playing the same channel live in the web UI player after the recording is complete. If that works, I plan to do the same with a cable channel from my HDHR Prime.
Playing the same channel live also works fine. Fast skipping back and forth and playing at multiple speeds.
Next test will be repeating these on a cable channel from my HDHR Prime.
Watching an HD cable channel recording in progress works fine skipping around, although the remuxer is running at about 0.8x speed.
Watching the same HD cable channel live also works fine skipping around, with the remuxer running about 1.0x speed.
I've set my Streaming/m3u8 directory back to r/w and will do some more testing this weekend.
The thing that is happening by deleting the index is that you are forcing transcoding for all bitrates.
With the index, we are able to only remux (or sometimes just send the segments directly off of the disk from the recording if the recording is a format and codec compatible with the client) instead of needing to transcode.
Thanks for the explanation eric.
So my takeaway is it will transcode everything played with the web UI player
It's a workaround for some recordings and recordings in progress, that when played in the web UI player will exhibit;
- stalling (buffers forever) at beginning or somewhere in the middle
- stalling (buffers forever) when skipping
- plays with no audio
- audio plays for a number of seconds, then goes away, then comes back, repeating the pattern
Not every recording/recording in progress exhibits these problems
I don't watch all of my content using the web UI player
It shouldn't affect original quality direct streaming on my iOS client
If you remux the recording and then regenerate the index does that cause any of the recordings that didn’t work to start working?
What browser are you using? Does it behave differently in Safari vs Chrome?
I will try this next time I see the issue
- Delete cache
- Delete the video index and try to play it
- Delete cache
- exec into the Channels DVR container and use the Channels DVR ffmpeg v6.0.2 to remux
cd channels-dvr/data
../latest/ffmpeg -i "recorded_file.mpg" -ignore_unknown -map 0 -dn -acodec copy -vcodec copy -scodec copy "recorded_file.ts"
mv "recorded_file.mpg" "recorded_file.org"
mv "recorded_file.ts" "recorded_file.mpg"
- Regenerate the video index and try to play it
Firefox on Win-11 is my daily driver. If issues with that, I'll try Brave and Edge on Win-11. I never use Chrome.
I gave up trying this.
When a recording doesn't start playing, or plays without audio, or plays with audio cutting in and out, I bail on it and watch in VLC or my video editor. Most of the time, Deleting cache and Deleting the video index allows it to play in the the web UI video player.
Too frustrating to waste time trying to watch a recording in the web UI player anymore.
