High CPU usage when watching DVR show remotely

I have the settings set on the Apple TV to 720p 4 mbps. Also set to linear. I noticed high cpu usage when I watching the activity monitor on my Mac. VTEcoderXPCservice was running at nearly 300% cpu. Is this normal?

I was watching another tv show remotely on a different tv also, if that helps. But that was a "live tv" show.

Just tested it out with two live shows and found out the CPU kicks up when the 2nd remote stream starts. Is it using hardware encoding for only one stream?

2019/03/30 20:46:54 [HLS] Starting transcoder for channel 707 from 97.83.106.134 (encoder=h264_videotoolbox, resolution=1080, deinterlacer=linear, bitrate=8000)
[h264_videotoolbox @ 0x7fcfc2040400] Color range not set for yuv420p. Using MPEG range.
2019/03/30 20:47:28 [WRN] Buffer for 1324D471 ch707 is more than 50% full (clients=1, len=16777684)
2019/03/30 20:47:34 [WRN] Buffer for 1324D471 ch707 is more than 50% full (clients=1, len=16777684)
2019/03/30 20:47:40 [WRN] Buffer for 1324D471 ch707 is more than 75% full (clients=1, len=25165868)
[mpegts @ 0x7fc036008000] Dropped corrupted packet (stream = 0)
Error while decoding stream #0:0: Error number -16976906 occurred
2019/03/30 20:47:53 [WRN] Buffer for 1324D471 ch707 is more than 95% full (clients=1, len=31877468)
2019/03/30 20:47:54 [WRN] Buffer for 1324D471 ch707 is more than 99% full (clients=1, len=33221104)
2019/03/30 20:47:59 [WRN] Buffer for 1324D471 ch707 is more than 50% full (clients=1, len=16803868)
2019/03/30 20:48:01 [WRN] Buffer for 1324D471 ch707 is more than 75% full (clients=1, len=25165868)
2019/03/30 20:48:06 [WRN] Buffer for 1324D471 ch707 is more than 95% full (clients=1, len=31877468)
2019/03/30 20:48:07 [WRN] Buffer for 1324D471 ch707 is more than 99% full (clients=1, len=33219788)
[mpegts @ 0x7fcfc3008000] Dropped corrupted packet (stream = 2)
[mpegts @ 0x7fcfc3008000] Dropped corrupted packet (stream = 1)
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 38 15
[mpeg2video @ 0x7fcfc201de00] Invalid mb type in P-frame at 53 25
[mpeg2video @ 0x7fcfc201de00] invalid cbp -1 at 31 10
[mpeg2video @ 0x7fcfc201de00] invalid cbp -1 at 50 20
[mpeg2video @ 0x7fcfc201de00] invalid cbp 0 at 3 30
[mpeg2video @ 0x7fcfc201de00] slice mismatch
[mpeg2video @ 0x7fcfc201de00] invalid cbp 0 at 72 16
[mpeg2video @ 0x7fcfc201de00] invalid cbp -1 at 22 41
[mpeg2video @ 0x7fcfc201de00] slice mismatch
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 74 5
[mpeg2video @ 0x7fcfc201de00] invalid cbp -1 at 16 22
[mpeg2video @ 0x7fcfc201de00] slice mismatch
[mpeg2video @ 0x7fcfc201de00] mb incr damaged
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 22 17
[mpeg2video @ 0x7fcfc201de00] mb incr damaged
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 14 27
[mpeg2video @ 0x7fcfc201de00] mb incr damaged
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 70 22
[mpeg2video @ 0x7fcfc201de00] mb incr damaged
[mpeg2video @ 0x7fcfc201de00] invalid cbp -1 at 19 37
[mpeg2video @ 0x7fcfc201de00] Invalid mb type in P-frame at 32 19
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 0 42
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 24 28
[mpeg2video @ 0x7fcfc201de00] invalid cbp 0 at 31 7
[mpeg2video @ 0x7fcfc201de00] mb incr damaged
[mpeg2video @ 0x7fcfc201de00] invalid cbp -1 at 54 34
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 79 38
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 8 19
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 2 43
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 12 30
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 12 8
[mpeg2video @ 0x7fcfc201de00] slice mismatch
[mpeg2video @ 0x7fcfc201de00] Invalid mb type in P-frame at 27 34
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 37 39
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 0 44
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 39 9
[mpeg2video @ 0x7fcfc201de00] mb incr damaged
Last message repeated 2 times
[mpeg2video @ 0x7fcfc201de00] Invalid mb type in P-frame at 9 14
[mpeg2video @ 0x7fcfc201de00] Warning MVs not available
2019/03/30 20:48:30 [WRN] Buffer for 1324D471 ch707 is more than 50% full (clients=1, len=16803488)
2019/03/30 20:48:33 [WRN] Buffer for 1324D471 ch707 is more than 75% full (clients=1, len=25166804)
[mpeg2video @ 0x7fcfc201de00] slice mismatch
[mpeg2video @ 0x7fcfc201de00] skip with previntra
[mpeg2video @ 0x7fcfc201de00] mb incr damaged
[mpeg2video @ 0x7fcfc201de00] invalid cbp 0 at 7 38
[mpeg2video @ 0x7fcfc201de00] invalid cbp -1 at 1 40
[mpeg2video @ 0x7fcfc201de00] Invalid mb type in B-frame at 16 39
[mpeg2video @ 0x7fcfc201de00] skip with previntra
Last message repeated 1 times
[mpeg2video @ 0x7fcfc201de00] slice mismatch
[mpeg2video @ 0x7fcfc201de00] mb incr damaged
[mpeg2video @ 0x7fcfc201de00] Warning MVs not available
[mpegts @ 0x7fcfc3008000] Dropped corrupted packet (stream = 2)
[mpegts @ 0x7fcfc3008000] Dropped corrupted packet (stream = 1)
2019/03/30 20:48:37 [WRN] Buffer for 1324D471 ch707 is more than 95% full (clients=1, len=31878404)
2019/03/30 20:48:38 [WRN] Buffer for 1324D471 ch707 is more than 99% full (clients=1, len=33225988)
[mpegts @ 0x7fcfc3008000] Dropped corrupted packet (stream = 2)
[mpegts @ 0x7fcfc3008000] Dropped corrupted packet (stream = 1)
[mpeg2video @ 0x7fcfc201de00] Invalid mb type in P-frame at 4 26
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 26 25
[mpeg2video @ 0x7fcfc201de00] invalid cbp 0 at 9 28
[mpeg2video @ 0x7fcfc201de00] invalid cbp 0 at 38 29
[mpeg2video @ 0x7fcfc201de00] invalid cbp 0 at 25 28
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 34 35
[mpeg2video @ 0x7fcfc201de00] Invalid mb type in P-frame at 11 31
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 78 40
[mpeg2video @ 0x7fcfc201de00] mb incr damaged
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 38 36
[mpeg2video @ 0x7fcfc201de00] Invalid mb type in P-frame at 21 31
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 25 42
[mpeg2video @ 0x7fcfc201de00] mb incr damaged
[mpeg2video @ 0x7fcfc201de00] slice mismatch
[mpeg2video @ 0x7fcfc201de00] mb incr damaged
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 10 33
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 47 34
[mpeg2video @ 0x7fcfc201de00] Warning MVs not available
2019/03/30 20:49:01 [WRN] Buffer for 1324D471 ch707 is more than 50% full (clients=1, len=16803108)
2019/03/30 20:49:04 [WRN] Buffer for 1324D471 ch707 is more than 75% full (clients=1, len=25166424)
[mpeg2video @ 0x7fcfc201de00] slice mismatch
[mpeg2video @ 0x7fcfc201de00] Warning MVs not available
[mpegts @ 0x7fcfc3008000] Dropped corrupted packet (stream = 2)
[mpeg2video @ 0x7fcfc201de00] skip with previntra
[mpeg2video @ 0x7fcfc201de00] Warning MVs not available
[mpegts @ 0x7fcfc3008000] Dropped corrupted packet (stream = 1)
2019/03/30 20:49:08 [WRN] Buffer for 1324D471 ch707 is more than 95% full (clients=1, len=31878024)
2019/03/30 20:49:09 [WRN] Buffer for 1324D471 ch707 is more than 99% full (clients=1, len=33219028)
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 11 38
[mpeg2video @ 0x7fcfc201de00] invalid cbp -1 at 33 10
[mpeg2video @ 0x7fcfc201de00] Warning MVs not available
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 10 1
[mpeg2video @ 0x7fcfc201de00] Warning MVs not available
[mpegts @ 0x7fcfc3008000] Dropped corrupted packet (stream = 2)
2019/03/30 20:49:33 [WRN] Buffer for 1324D471 ch707 is more than 50% full (clients=1, len=16804044)
2019/03/30 20:49:35 [WRN] Buffer for 1324D471 ch707 is more than 75% full (clients=1, len=25166044)
Last message repeated 1 times
[mpegts @ 0x7fcfc3008000] Dropped corrupted packet (stream = 1)
[mpeg2video @ 0x7fcfc201de00] mb incr damaged
[mpeg2video @ 0x7fcfc201de00] Invalid mb type in B-frame at 20 40
[mpeg2video @ 0x7fcfc201de00] invalid cbp -1 at 40 38
[mpeg2video @ 0x7fcfc201de00] Invalid mb type in B-frame at 41 41
[mpeg2video @ 0x7fcfc201de00] mb incr damaged
[mpeg2video @ 0x7fcfc201de00] invalid cbp -1 at 38 42
[mpeg2video @ 0x7fcfc201de00] Invalid mb type in B-frame at 32 11
[mpeg2video @ 0x7fcfc201de00] invalid cbp -1 at 2 43
[mpeg2video @ 0x7fcfc201de00] mb incr damaged
[mpeg2video @ 0x7fcfc201de00] slice mismatch
[mpeg2video @ 0x7fcfc201de00] invalid cbp -1 at 6 13
[mpeg2video @ 0x7fcfc201de00] skip with previntra
[mpeg2video @ 0x7fcfc201de00] mb incr damaged
[mpeg2video @ 0x7fcfc201de00] slice mismatch
[mpeg2video @ 0x7fcfc201de00] Invalid mb type in B-frame at 22 17
[mpeg2video @ 0x7fcfc201de00] skip with previntra
[mpeg2video @ 0x7fcfc201de00] Invalid mb type in B-frame at 4 19
[mpeg2video @ 0x7fcfc201de00] invalid cbp -1 at 45 21
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 14 21
[mpeg2video @ 0x7fcfc201de00] skip with previntra
[mpeg2video @ 0x7fcfc201de00] Invalid mb type in B-frame at 18 23
[mpeg2video @ 0x7fcfc201de00] invalid cbp 0 at 7 24
[mpeg2video @ 0x7fcfc201de00] slice mismatch
[mpeg2video @ 0x7fcfc201de00] Invalid mb type in B-frame at 1 26
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 0 27
[mpeg2video @ 0x7fcfc201de00] mb incr damaged
[mpeg2video @ 0x7fcfc201de00] invalid cbp -1 at 0 29
[mpeg2video @ 0x7fcfc201de00] slice mismatch
Last message repeated 1 times
[mpeg2video @ 0x7fcfc201de00] invalid cbp 0 at 22 32
[mpeg2video @ 0x7fcfc201de00] skip with previntra
Last message repeated 2 times
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 7 36
[mpeg2video @ 0x7fcfc201de00] mb incr damaged
[mpeg2video @ 0x7fcfc201de00] skip with previntra
[mpeg2video @ 0x7fcfc201de00] mb incr damaged
[mpeg2video @ 0x7fcfc201de00] Warning MVs not available
2019/03/30 20:49:40 [WRN] Buffer for 1324D471 ch707 is more than 95% full (clients=1, len=31877644)
2019/03/30 20:49:41 [WRN] Buffer for 1324D471 ch707 is more than 99% full (clients=1, len=33219964)
[mpegts @ 0x7fcfc3008000] Dropped corrupted packet (stream = 2)
[mpegts @ 0x7fcfc3008000] Dropped corrupted packet (stream = 1)
2019/03/30 20:50:03 [WRN] Buffer for 1324D471 ch707 is more than 50% full (clients=1, len=16804980)
2019/03/30 20:50:06 [WRN] Buffer for 1324D471 ch707 is more than 75% full (clients=1, len=25166980)
[mpegts @ 0x7fcfc3008000] Dropped corrupted packet (stream = 2)
[mpegts @ 0x7fcfc3008000] Dropped corrupted packet (stream = 1)
[mpeg2video @ 0x7fcfc201de00] slice mismatch
[mpeg2video @ 0x7fcfc201de00] Invalid mb type in P-frame at 39 40
[mpeg2video @ 0x7fcfc201de00] mb incr damaged
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 1 41
[mpeg2video @ 0x7fcfc201de00] Invalid mb type in P-frame at 9 42
[mpeg2video @ 0x7fcfc201de00] Invalid mb type in P-frame at 1 43
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 1 44
[mpeg2video @ 0x7fcfc201de00] Warning MVs not available
2019/03/30 20:50:11 [WRN] Buffer for 1324D471 ch707 is more than 95% full (clients=1, len=31877264)
2019/03/30 20:50:12 [WRN] Buffer for 1324D471 ch707 is more than 99% full (clients=1, len=33219584)
[mpegts @ 0x7fcfc3008000] Dropped corrupted packet (stream = 1)
[mpeg2video @ 0x7fcfc201de00] end mismatch left=75348 423 at 0 45
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 17 40
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 0 1
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 21 42
[mpeg2video @ 0x7fcfc201de00] Invalid mb type in P-frame at 3 7
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 0 42
[mpeg2video @ 0x7fcfc201de00] Invalid mb type in P-frame at 8 34
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 21 8
[mpeg2video @ 0x7fcfc201de00] Invalid mb type in P-frame at 5 43
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 26 9
[mpeg2video @ 0x7fcfc201de00] invalid cbp -1 at 21 44
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 32 11
[mpeg2video @ 0x7fcfc201de00] mb incr damaged
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 2 12
[mpeg2video @ 0x7fcfc201de00] slice mismatch
[mpeg2video @ 0x7fcfc201de00] mb incr damaged
[mpeg2video @ 0x7fcfc201de00] Invalid mb type in P-frame at 7 15
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 4 17
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 0 17
[mpeg2video @ 0x7fcfc201de00] mb incr damaged
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 1 19
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 3 20
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 18 21
[mpeg2video @ 0x7fcfc201de00] mb incr damaged
Last message repeated 1 times
[mpeg2video @ 0x7fcfc201de00] Invalid mb type in P-frame at 31 24
[mpeg2video @ 0x7fcfc201de00] mb incr damaged
Last message repeated 1 times
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 8 27
[mpeg2video @ 0x7fcfc201de00] slice mismatch
[mpeg2video @ 0x7fcfc201de00] invalid cbp -1 at 78 29
[mpeg2video @ 0x7fcfc201de00] Invalid mb type in P-frame at 64 30
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 0 31
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 23 32
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 25 33
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 11 34
[mpeg2video @ 0x7fcfc201de00] mb incr damaged
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 0 36
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 36 37
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 15 38
[mpeg2video @ 0x7fcfc201de00] invalid cbp 0 at 0 40
[mpeg2video @ 0x7fcfc201de00] Warning MVs not available
[mpegts @ 0x7fcfc3008000] Dropped corrupted packet (stream = 2)
2019/03/30 20:50:34 [WRN] Buffer for 1324D471 ch707 is more than 50% full (clients=1, len=16803284)
2019/03/30 20:50:37 [WRN] Buffer for 1324D471 ch707 is more than 75% full (clients=1, len=25166600)
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 40 40
[mpeg2video @ 0x7fcfc201de00] mb incr damaged
Last message repeated 1 times
[mpeg2video @ 0x7fcfc201de00] ac-tex damaged at 2 7
[mpeg2video @ 0x7fcfc201de00] Invalid mb type in P-frame at 11 8
[mpeg2video @ 0x7fcfc201de00] invalid cbp -1 at 7 16
[mpeg2video @ 0x7fcfc201de00] invalid cbp -1 at 23 22
[mpeg2video @ 0x7fcfc201de00] invalid cbp 0 at 10 23
[mpeg2video @ 0x7fcfc201de00] Warning MVs not available
[mpegts @ 0x7fcfc3008000] Dropped corrupted packet (stream = 2)
[mpegts @ 0x7fcfc3008000] Dropped corrupted packet (stream = 1)
2019/03/30 20:50:42 [WRN] Buffer for 1324D471 ch707 is more than 95% full (clients=1, len=31876884)
2019/03/30 20:50:43 [WRN] Buffer for 1324D471 ch707 is more than 99% full (clients=1, len=33219204)

It depends on your CPU model and macOS how many are supported. It will switch to software when no more hardware as possible

Its a sandy bridge i7. Running High Sierra. Would you know the limit on that? What are the approximate limits of the new iMac or Mac mini?

Can the GPU be used for transcoding instead of the CPU?

We just use macOS VideoToolbox and cannot control how it works or what the limits are.

So out of curiosity....how many simultaneous hardware transcoding sessions can happen on Intel’s 8th gen CPU’s?

I’m very happy with my i3-8100 build, but I’m curious on this

Me too. I am just looking at a new configuration for a windows PC dedicated to just the DVR. I am looking at getting a NVIDIA Quadro P1000, 4GB in the machine. Would that help with my problem of streaming to more than 1 or 2 remote devices?

I've been wondering about this as well too, having just got a new 2018 Mac Mini. The Devs have put a lot of useful tools into the server package, such as speedtest, it would be cool if there could be a hardware test that would tell you how many simultaneous HW transcodes or SW transcodes your system could do simultaneously.

Looks like that GPU supports 2 concurrent sessions according to https://developer.nvidia.com/video-encode-decode-gpu-support-matrix

Is there a spec sheet for amd video cards too? I can't seem to find one

So the P2000 would be my best bet? I could put this into an older computer with an i3 ivy bridge processor and it should work fine with 4 or 5 different remote streams? I plan on putting the OS on a SSD and having the DVR save to a 8 or 10 TB HDD.

I think so but I have no experience to know for sure

Just purchased a P2000. I'm going to be putting it into an old dell 390 with an i5 with the OS on a ssd and the dvr will be saving to a 10 TB drive. I'll keep posting to share my experience. I know it's extra money but I think I can justify paying it when I would be paying spectrum $80 a month for tv and DVR.

@thechannels got six streams off the P2000: Cheapest add-on GPU for hardware transcoding?

1 Like

I am pretty sure I can actually get upwards 15 streams but I have not had a chance to get that many streams running. It’s on my to do list.

What resolutions are you streaming 720 or 1080?

I was able to stream 3 720p 4mbps dvr recordings at the same time with a P2000. Although, the P2000 cpu was around 80% used and the CPU was still using 90-95%. Is this normal?