VTEncoderXPCService CPU Usage

Ok after hyperventilating a little and restarting twice, the media came back up.

Here is what I got from running that command in the Channels Log…

2018/02/01 21:19:39 [HWE] Trying /Users/Scott/channels-dvr/latest/ffmpeg /Users/Scott/channels-dvr/latest/ffmpeg -hide_banner -nostats -loglevel warning -loglevel verbose -f lavfi -t 0.1 -i color=black:640x480 -c:v h264_videotoolbox -profile:v high -level 4.2 -realtime 1 -f null -y /dev/null
[Parsed_color_0 @ 0x7f8587d01e40] 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_videotoolbox))
Press [q] to stop, [?] for help
[graph 0 input from stream 0:0 @ 0x7f8587c032e0] 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 : Lavf57.71.100
Stream #0:0: Video: h264 (h264_videotoolbox), 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 : Lavc57.89.100 h264_videotoolbox
[h264_videotoolbox @ 0x7f8589828a00] Color range not set for yuv420p. Using MPEG range.
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=1.93x
video:0kB 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 (225 bytes);
Total: 3 packets (225 bytes) muxed
2018/02/01 21:20:59 [HWE] Trying /Users/Scott/channels-dvr/latest/ffmpeg /Users/Scott/channels-dvr/latest/ffmpeg -hide_banner -nostats -loglevel warning -loglevel verbose -f lavfi -t 0.1 -i color=black:640x480 -c:v h264_videotoolbox -profile:v high -level 4.2 -realtime 1 -f null -y /dev/null
[Parsed_color_0 @ 0x7ffc3be07660] 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_videotoolbox))
Press [q] to stop, [?] for help
[graph 0 input from stream 0:0 @ 0x7ffc3bf00300] 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 : Lavf57.71.100
Stream #0:0: Video: h264 (h264_videotoolbox), 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 : Lavc57.89.100 h264_videotoolbox
[h264_videotoolbox @ 0x7ffc3c829a00] Color range not set for yuv420p. Using MPEG range.
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=1.41x
video:0kB 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 (225 bytes);
Total: 3 packets (225 bytes) muxed
2018/02/01 21:21:28 [HLS] Starting transcoder for file1611-ip1 at 0s from ::1 (encoder=h264_videotoolbox, resolution=720, deinterlacer=blend, bitrate=6000)
[mpegts @ 0x7fe3e6808000] Dropped corrupted packet (stream = 2)
2018/02/01 21:21:34 [HWE] Trying /Users/Scott/channels-dvr/latest/ffmpeg /Users/Scott/channels-dvr/latest/ffmpeg -hide_banner -nostats -loglevel warning -loglevel verbose -f lavfi -t 0.1 -i color=black:640x480 -c:v h264_videotoolbox -profile:v high -level 4.2 -realtime 1 -f null -y /dev/null
[Parsed_color_0 @ 0x7fc750407540] 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_videotoolbox))
Press [q] to stop, [?] for help
[graph 0 input from stream 0:0 @ 0x7fc75040a660] w:640 h:480 pixfmt:yuv420p tb:1/25 fr:25/1 sar:1/1 sws_param:flags=2
[h264_videotoolbox @ 0x7fc751829a00] Error: cannot create compression session: -12915
[h264_videotoolbox @ 0x7fc751829a00] Try -allow_sw 1. The hardware encoder may be busy, or not supported.
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/02/01 21:21:34 [HWE] Failure: exit status 1

For some reason macOS is reporting that the hardware encoder is not available.

Did you install the DVR as a system service so it boots before you login?

I honestly am not sure if I did intentionally, but this is what I have for Channels/SiliconDust in startups

In ~/Library/LaunchAgents I have com.getchannels.dvr.plist

In /Library/LaunchDaemons
com.silicondust.dvr.plist

Nothing in LaunchAgents and nothing in StartupItems in that same /Library

Nothing in /System/Library in any of the startup folders.

It has worked properly up until about 1 week or so ago and then noticed the fans running and CPU high and then started investigating. I cannot think of any updates that I have done in the last 2 weeks in macOS.

LaunchAgents look normal.

I’ll have to investigate to see if there’s a way to list everything using the hardware decoder…

1 Like

“I’ll have to investigate to see if there’s a way to list everything using the hardware decoder”

Were you able to find a terminal command or something that lists this out by chance? Curious to know. The issue has happened once since posting this and Channcels was the only thing running with that kind of demand. But only that once and that was over a week ago.