Channels DVR Settings

I’m a long time “Channels” user, first time “Channels DVR” user.

I have a few questions on the DVR Settings, is there a user guide or any documentation available? The FAQ’s were pretty basic and I didn’t find much while searching the community.

  • I have an Intel i5-2400S CPU, but my Transcoder is showing up as “Software”, is there a way check if my CPU is capable of hardware transcoding?
  • What does the “Web Player” quality setting control, just the quality of playing recordings internally on my network? Or does this also affect Remote DVR playback? Does this setting affect playback on my Apple TV or iPhone while on my network?
  • Any tips for adding whitelists for a Norton Firewall? It shows the Channels programs as having no restrictions on them.

Unfortunately there is not, but there are real helpful developers and a real helpful community.

Ironically, this community member can’t help you much further, because he doesn’t use MS-Windows and doesn’t know about your i5. (I’m pretty certain that when I briefly ran Channels DVR on my Linux server I had hardware transcoding. It has an i5-4570S.)

The “Web Player” quality setting will not affect your ATV or iPhone playback whilst on your local network. They play natively.

Here is a way to tell if your processor has quick sync

Run this in PowerShell:

iwr -usebasicparsing -method post http://127.0.01:8089/hls/hwaccel

Then go to the DVR Log tab and copy/paste the new “HWE” entries that appear.

2018/10/13 21:07:46 [HWE] Trying C:\ProgramData\ChannelsDVR\latest\ffmpeg.exe -hide_banner -nostats -loglevel warning -loglevel verbose -f lavfi -t 0.1 -i color=black:640x480 -c:v h264_amf -profile:v high -level 42 -b:v 400k -maxrate:v 600k -f null -y nul
[Parsed_color_0 @ 0000000000758580] size:640x480 rate:25/1 duration:-1.000000 sar:1/1
Input #0, lavfi, from 'color=black:640x480':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: rawvideo, 1 reference frame (I420 / 0x30323449), yuv420p, 640x480 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (h264_amf))
Press [q] to stop, [?] for help
[graph 0 input from stream 0:0 @ 0000000003a71500] w:640 h:480 pixfmt:yuv420p tb:1/25 fr:25/1 sar:1/1 sws_param:flags=2
[h264_amf @ 000000000075cd40] DLL amfrt64.dll failed to open
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
Conversion failed!
2018/10/13 21:07:46 [HWE] Failure: exit status 1

My processor is on this list as including Quick Sync.

There are many more HWE log entries that you didn’t copy paste so I can’t see why QuickSync isn’t working

Here it is again, this time I won’t cut out what seems to be duplicated over and over again. This is all that shows up in the log after running PowerShell.

2018/10/14 21:21:45 [HWE] Trying C:\ProgramData\ChannelsDVR\latest\ffmpeg.exe -hide_banner -nostats -loglevel warning -loglevel verbose -f lavfi -t 0.1 -i color=black:640x480 -c:v h264_amf -profile:v high -level 42 -b:v 400k -maxrate:v 600k -f null -y nul
[Parsed_color_0 @ 0000000000728580] size:640x480 rate:25/1 duration:-1.000000 sar:1/1
Input #0, lavfi, from 'color=black:640x480':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: rawvideo, 1 reference frame (I420 / 0x30323449), yuv420p, 640x480 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (h264_amf))
Press [q] to stop, [?] for help
[graph 0 input from stream 0:0 @ 0000000003b40300] w:640 h:480 pixfmt:yuv420p tb:1/25 fr:25/1 sar:1/1 sws_param:flags=2
[h264_amf @ 000000000072ca80] DLL amfrt64.dll failed to open
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
Conversion failed!
2018/10/14 21:21:45 [HWE] Failure: exit status 1
2018/10/14 21:21:45 [HWE] Trying C:\ProgramData\ChannelsDVR\latest\ffmpeg.exe -hide_banner -nostats -loglevel warning -loglevel verbose -f lavfi -t 0.1 -i color=black:640x480 -c:v h264_nvenc -profile:v high -level 42 -b:v 400k -maxrate:v 600k -f null -y nul
[Parsed_color_0 @ 0000000000dd8580] size:640x480 rate:25/1 duration:-1.000000 sar:1/1
Input #0, lavfi, from 'color=black:640x480':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: rawvideo, 1 reference frame (I420 / 0x30323449), yuv420p, 640x480 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (h264_nvenc))
Press [q] to stop, [?] for help
[graph 0 input from stream 0:0 @ 00000000030bcac0] w:640 h:480 pixfmt:yuv420p tb:1/25 fr:25/1 sar:1/1 sws_param:flags=2
[h264_nvenc @ 000000000267ae40] Cannot load cuGetErrorName
[h264_nvenc @ 000000000267ae40] Nvenc unloaded
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
Conversion failed!
2018/10/14 21:21:45 [HWE] Failure: exit status 1
2018/10/14 21:21:45 [HWE] Trying C:\ProgramData\ChannelsDVR\latest\ffmpeg.exe -hide_banner -nostats -loglevel warning -loglevel verbose -f lavfi -t 0.1 -i color=black:640x480 -c:v h264_mf -profile:v high -level 42 -b:v 400k -maxrate:v 600k -f null -y nul
[Parsed_color_0 @ 0000000000758580] size:640x480 rate:25/1 duration:-1.000000 sar:1/1
Input #0, lavfi, from 'color=black:640x480':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: rawvideo, 1 reference frame (I420 / 0x30323449), yuv420p, 640x480 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (h264_mf))
Press [q] to stop, [?] for help
[graph 0 input from stream 0:0 @ 0000000003a41c00] w:640 h:480 pixfmt:yuv420p tb:1/25 fr:25/1 sar:1/1 sws_param:flags=2
[auto_scaler_0 @ 0000000003a40600] w:iw h:ih flags:'bicubic' interl:0
[format @ 0000000003a41200] auto-inserting filter 'auto_scaler_0' between the filter 'Parsed_null_0' and the filter 'format'
[auto_scaler_0 @ 0000000003a40600] w:640 h:480 fmt:yuv420p sar:1/1 -> w:640 h:480 fmt:nv12 sar:1/1 flags:0x4
[h264_mf @ 00000000006fb080] could not find any MFT for the given media type
[h264_mf @ 00000000006fb080] could not create MFT
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
Conversion failed!
2018/10/14 21:21:45 [HWE] Failure: exit status 1
2018/10/14 21:21:45 [HWE] Trying C:\ProgramData\ChannelsDVR\latest\ffmpeg.exe -hide_banner -nostats -loglevel warning -loglevel verbose -f lavfi -t 0.1 -i color=black:640x480 -c:v h264_qsv -profile:v high -level 42 -b:v 400k -maxrate:v 600k -f null -y nul
[Parsed_color_0 @ 0000000000188580] size:640x480 rate:25/1 duration:-1.000000 sar:1/1
Input #0, lavfi, from 'color=black:640x480':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: rawvideo, 1 reference frame (I420 / 0x30323449), yuv420p, 640x480 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (h264_qsv))
Press [q] to stop, [?] for help
[graph 0 input from stream 0:0 @ 00000000033d3600] w:640 h:480 pixfmt:yuv420p tb:1/25 fr:25/1 sar:1/1 sws_param:flags=2
[auto_scaler_0 @ 00000000033d3200] w:iw h:ih flags:'bicubic' interl:0
[format @ 00000000033d2a00] auto-inserting filter 'auto_scaler_0' between the filter 'Parsed_null_0' and the filter 'format'
[auto_scaler_0 @ 00000000033d3200] w:640 h:480 fmt:yuv420p sar:1/1 -> w:640 h:480 fmt:nv12 sar:1/1 flags:0x4
[h264_qsv @ 000000000265ae40] Error initializing an internal MFX session: unsupported (-3)
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
Conversion failed!
2018/10/14 21:21:45 [HWE] Failure: exit status 1
2018/10/14 21:21:45 [HWE] Trying C:\ProgramData\ChannelsDVR\latest\ffmpeg.exe -hide_banner -nostats -loglevel warning -loglevel verbose -f lavfi -t 0.1 -i color=black:640x480 -c:v h264_qsv -profile:v high -level 42 -b:v 400k -maxrate:v 600k -look_ahead 0 -f null -y nul
[Parsed_color_0 @ 0000000000ee8580] size:640x480 rate:25/1 duration:-1.000000 sar:1/1
Input #0, lavfi, from 'color=black:640x480':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: rawvideo, 1 reference frame (I420 / 0x30323449), yuv420p, 640x480 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (h264_qsv))
Press [q] to stop, [?] for help
[graph 0 input from stream 0:0 @ 0000000000ebdb40] w:640 h:480 pixfmt:yuv420p tb:1/25 fr:25/1 sar:1/1 sws_param:flags=2
[auto_scaler_0 @ 0000000000ebe540] w:iw h:ih flags:'bicubic' interl:0
[format @ 0000000000ebe440] auto-inserting filter 'auto_scaler_0' between the filter 'Parsed_null_0' and the filter 'format'
[auto_scaler_0 @ 0000000000ebe540] w:640 h:480 fmt:yuv420p sar:1/1 -> w:640 h:480 fmt:nv12 sar:1/1 flags:0x4
[h264_qsv @ 0000000000ebb040] Error initializing an internal MFX session: unsupported (-3)
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
Conversion failed!
2018/10/14 21:21:46 [HWE] Failure: exit status 1

Here are the errors from the two attempts to use the Intel transcoding driver. It seems the system is saying its unsupported for some reason.

I would recommend downloading the Intel Driver Update Utility to make sure the gpu drivers are up to date: http://www.intel.com/content/www/us/en/support/detect.html

Can you also tell me what kind of GPU is in the machine? Its possible the integrated Intel GPU is disabled in the bios if there’s another kind of GPU available.


This utility showed my PC as up to date with no updates available.

Along with the integrated “Intel HD Graphics”, my PC also has a “NVIDIA GeForce GT 525M” display adapter. I had some driver compatibility issues with the NVIDIA display adapter after upgrading to Windows 10, but was able to install an older driver that seemed to make everything work.

Is transcoding used on playback from the “Web Player” on the device that the DVR service is installed? This appears to be the case on my PC, it shows the transcoder in operation and its pretty slow reacting when jumping around to different locations in the recording. Can recordings play natively using the web player, or do I need to use a different program, like Windows Media Player?

Yes

No.

Dunno. I don’t use MS-Windows.

If you can figure out how to make the latest nvidia driver work, the DVR should be able to use the Nvidia gpu for transcoding. Right now it loads the driver but can not find some functionality it expects.

Web browsers can only play H264, so transcoding MPEG2->H264 is required for web-based playback.

If you want to play the file natively, you would need to use a native player like mpv, VLC, etc.

That’s probably good enough if it shows up in there. If the DVR is still showing a message about it, you should be able to hit the [x] on the top right to hide it.

The latest Nvidia driver faults out the device, perhaps its not working at all with the driver I have loaded, but my device manager isn’t showing any errors. Maybe I can try disabling the Nvidia and to see if it picks up the Intel.

Will the Nvidia GPU perform better than the Intel Quick Sync?

I think they’re pretty equivalent. Disabling the Nvidia GPU should make QuickSync work, but I’m not 100% sure.

I tried disabling the NVIDIA GPU in Device Manager, this didn’t appear to change anything.

Here is what shows up in the log on system startup. Curious about not being able to look up CPU info.

2018/10/16 06:09:00 [SYS] Starting Channels DVR v2018.10.08.2134 (windows-x86_64 pid:8048) in C:\ProgramData\ChannelsDVR\data
2018/10/16 06:09:03 [ERR] could not look up CPU info: context deadline exceeded
2018/10/16 06:09:04 [HDR] Found 1 devices
2018/10/16 06:09:04 [SYS] Started HTTP Server
2018/10/16 06:09:06 [DVR] Recording engine started in C:\ChannelsDVR
2018/10/16 06:09:06 [SYS] Created database snapshot: backup-20181016.060906
2018/10/16 06:09:06 [SYS] Bonjour service running for dvr-desktop-h6figak.local. [192.168.1.109]
2018/10/16 06:09:17 [IDX] Pruned 439 expired airings from USA-OTA58104 in 660.44ms.
2018/10/16 06:09:21 [IDX] Pruned 671 expired airings from HDHR-PREMIUM in 939.5416ms.

That cpu message is normal and harmless

Thanks to everyone for all the helpful responses thus far. I'm still trying to get my hardware transcoding to work, here is what I have tried:

  • Here is what my device manager initially showed.
    Display%20Adapters
    and here is what shows up in the DVR settings page:
    Software%20Transcoder
  • I tried disabling the NVIDIA device, this did not change anything with the transcoder.
  • I tried updating to the latest NVIDIA driver, which errored out in the device manager and did not change anything with the transcoder.
  • I tried a different NVIDIA driver (one newer than my original one), this did not change anything with the transcoder.

Not sure what else I can do. How does the DVR application determine what type of transcoder is displayed on the "Settings" page? My PC is an All-in-One, so the NVIDIA GPU is soldered to the motherboard. I'm open to trying any suggestion, but I'm starting to wonder if I need to get a dedicated PC for the DVR to run from.

How much better is hardware transcoding than software?