Is there a way to confirm if QuickSync is working?

I am considering moving from Plex to Channels DVR but it appears Channels is taxing my CPU much more than Plex. My only thought is that it's not playing nice with Quicksync which is causing it to use more CPU than normal.

1 Like

You can check the hardware acceleration results via POST /hls/hwaccel, and then check the DVR logs to see that results (pre-fixed with [HWE].

In general, use: curl -XPOST http://IP_OF_DVR:8089/hls/hwaccel

My results:

2021/11/25 10:32:38.361568 [HWE] Trying nvenc: /channels-dvr/2021.11.23.2219/ffmpeg-dl /channels-dvr/2021.11.23.2219/ffmpeg-dl -hide_banner -nostats -loglevel warning -loglevel verbose -f lavfi -t 0.1 -i color=black:640x480 -f null -c:v h264_nvenc -profile:v high -level 42 -b:v 400k -maxrate:v 600k -y /dev/null
2021/11/25 10:32:38.362683 [HWE] Failure: fork/exec /channels-dvr/2021.11.23.2219/ffmpeg-dl: no such file or directory
2021/11/25 10:32:38.362713 [HWE] Trying amf: /channels-dvr/2021.11.23.2219/ffmpeg-dl /channels-dvr/2021.11.23.2219/ffmpeg-dl -hide_banner -nostats -loglevel warning -loglevel verbose -f lavfi -t 0.1 -i color=black:640x480 -f null -c:v h264_amf -profile:v high -level 42 -b:v 400k -maxrate:v 600k -y /dev/null
2021/11/25 10:32:38.363123 [HWE] Failure: fork/exec /channels-dvr/2021.11.23.2219/ffmpeg-dl: no such file or directory
2021/11/25 10:32:38.363161 [HWE] Cannot access /dev/dri/renderD129: no such file or directory
2021/11/25 10:32:38.363189 [HWE] Trying vaapi@/dev/dri/renderD128: /channels-dvr/2021.11.23.2219/ffmpeg /channels-dvr/2021.11.23.2219/ffmpeg -hide_banner -nostats -loglevel warning -loglevel verbose -init_hw_device vaapi=intel:/dev/dri/renderD128 -f lavfi -t 0.1 -i color=black:640x480 -f null -y /dev/null
[AVHWDeviceContext @ 0x7f763c0] libva: VA-API version 1.13.0
[AVHWDeviceContext @ 0x7f763c0] libva: va_openDriver() returns 0
[AVHWDeviceContext @ 0x7f763c0] Initialised VAAPI connection: version 1.13
[AVHWDeviceContext @ 0x7f763c0] VAAPI driver: Intel i965 driver for Intel(R) Broadwell - 2.4.0.pre1 (2.4.0.pre1).
[AVHWDeviceContext @ 0x7f763c0] Driver not found in known nonstandard list, using standard behaviour.
[Parsed_color_0 @ 0x7f86140] 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) -> wrapped_avframe (native))
Press [q] to stop, [?] for help
[graph 0 input from stream 0:0 @ 0x7fb3200] w:640 h:480 pixfmt:yuv420p tb:1/25 fr:25/1 sar:1/1 sws_param:flags=2
Output #0, null, to '/dev/null':
  Metadata:
    encoder         : Lavf58.29.100
    Stream #0:0: Video: wrapped_avframe, 1 reference frame, yuv420p, 640x480 [SAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
    Metadata:
      encoder         : Lavc58.54.100 wrapped_avframe
No more output streams to write to, finishing.
frame=    3 fps=0.0 q=-0.0 Lsize=N/A time=00:00:00.12 bitrate=N/A speed=40.9x    
video:2kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Input file #0 (color=black:640x480):
  Input stream #0:0 (video): 4 packets read (1843200 bytes); 4 frames decoded; 
  Total: 4 packets (1843200 bytes) demuxed
Output file #0 (/dev/null):
  Output stream #0:0 (video): 3 frames encoded; 3 packets muxed (1608 bytes); 
  Total: 3 packets (1608 bytes) muxed
2021/11/25 10:32:38.392372 [HWE] Successfully encoded using vaapi@/dev/dri/renderD128
2021/11/25 10:32:38.392415 [HWE] Trying vaapi@/dev/dri/renderD128 + hwdeint: /channels-dvr/2021.11.23.2219/ffmpeg /channels-dvr/2021.11.23.2219/ffmpeg -hide_banner -nostats -loglevel warning -loglevel verbose -init_hw_device vaapi=intel:/dev/dri/renderD128 -f lavfi -t 0.1 -i color=black:640x480 -filter_hw_device intel -vf format=nv12,hwupload,deinterlace_vaapi -f null -y /dev/null
[AVHWDeviceContext @ 0x770b3c0] libva: VA-API version 1.13.0
[AVHWDeviceContext @ 0x770b3c0] libva: va_openDriver() returns 0
[AVHWDeviceContext @ 0x770b3c0] Initialised VAAPI connection: version 1.13
[AVHWDeviceContext @ 0x770b3c0] VAAPI driver: Intel i965 driver for Intel(R) Broadwell - 2.4.0.pre1 (2.4.0.pre1).
[AVHWDeviceContext @ 0x770b3c0] Driver not found in known nonstandard list, using standard behaviour.
[Parsed_color_0 @ 0x771b200] 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) -> wrapped_avframe (native))
Press [q] to stop, [?] for help
[graph 0 input from stream 0:0 @ 0x7749b80] w:640 h:480 pixfmt:yuv420p tb:1/25 fr:25/1 sar:1/1 sws_param:flags=2
[auto_scaler_0 @ 0x7748340] w:iw h:ih flags:'bicubic' interl:0
[trim_in_0_0 @ 0x774a940] auto-inserting filter 'auto_scaler_0' between the filter 'graph 0 input from stream 0:0' and the filter 'trim_in_0_0'
[auto_scaler_0 @ 0x7748340] w:640 h:480 fmt:yuv420p sar:1/1 -> w:640 h:480 fmt:nv12 sar:1/1 flags:0x4
[Parsed_deinterlace_vaapi_2 @ 0x7748fc0] Picking 4 (MotionCompensated) as default deinterlacing mode.
Output #0, null, to '/dev/null':
  Metadata:
    encoder         : Lavf58.29.100
    Stream #0:0: Video: wrapped_avframe, 1 reference frame, vaapi_vld, 640x480 [SAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
    Metadata:
      encoder         : Lavc58.54.100 wrapped_avframe
No more output streams to write to, finishing.
frame=    2 fps=0.0 q=-0.0 Lsize=N/A time=00:00:00.12 bitrate=N/A speed=18.6x    
video:1kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Input file #0 (color=black:640x480):
  Input stream #0:0 (video): 4 packets read (1843200 bytes); 4 frames decoded; 
  Total: 4 packets (1843200 bytes) demuxed
Output file #0 (/dev/null):
  Output stream #0:0 (video): 2 frames encoded; 2 packets muxed (1072 bytes); 
  Total: 2 packets (1072 bytes) muxed
2021/11/25 10:32:38.416374 [HWE] Successfully encoded using vaapi@/dev/dri/renderD128 + hwdeint

When I run that on the server directly with either the IP or loopback it doesn't return anything. I am running channels on Ubuntu server

Actually it just returns the value "true"

As I previously said, you need to look at the logs from your DVR server. In the web UI, go to Support > Logs, and the results will show up there.