Can Blue Iris do CUDA ENcoding?

pov2

Getting the hang of it
Sep 7, 2018
229
46
Canada
I know it can do decoding now, and I know it's "inefficient". I am confused whether it can CUDA encoding H.264 and H.265. I am thinking of using this for the webserver to serve the streams outside of my LAN and perhaps for re-encoding the motion detect clips for storage. Anyone knows?
 
It can, but NVENC is not as versatile as NVDEC. I believe NVENC can only encode two streams at once. Video Encode and Decode GPU Support Matrix

Also, GPU-accelerated video encoding delivers inferior video quality for a given bit rate. In other words it requires a higher bit rate to produce the same quality as old-fashioned CPU-based encoding.
 
  • Like
Reactions: pov2
Thanks. I was looking at that matrix when my question came up. I think getting the GT 1030 energy efficient card was a mistake because it doesn't do any hardware encoding. I will replace it with one that does.

I am aware that hardware encoding is not of great quality and higher bitrate for the same quality. But that's important for encoding HD/4K movies perhaps. I want to use this feature for "/h264/{cam-short-name}/temp.h264 Pull a raw H.264 stream (MIME type video/H264)" to occasionally view streams outside my LAN on a cell phone. In this case GPU-accelerated video encoding is handy because it is nearly real-time (I believe). And I hope BI will support H.265 encoding soon. Then it will become super-handy. The last release is a step in this direction.

I found the checkbox for CUDA-accelerated encoding in the settings. I hadn't seen it before. The only issue for me now is that there is only one profile for re-encoding the clips for storage and for producing streams. I would use CPU for the former and GPU for the latter. If anyone knows how to use different encoding profiles for those, please chime in.
 
You are mistaken about the re-encode profiles being shared between recording and streaming. They are not. One is configured in Camera Properties > Record > Video file format and compression. The other is configured in Blue Iris Options > Web Server > Advanced. That said, consider using direct to disc for recording, and that way you don't need to re-encode video at all for recording.

"/h264/{cam-short-name}/temp.h264" kind of sucks because it doesn't specify a frame rate. Some players don't know how to handle it. Consider UI3 or the official mobile app for your platform.

The software H.264 encoder has very little added delay. I'm not really equipped to measure it exactly but it seems like less than a quarter of a second.
 
You are mistaken about the re-encode profiles being shared between recording and streaming. They are not. One is configured in Camera Properties > Record > Video file format and compression. The other is configured in Blue Iris Options > Web Server > Advanced. That said, consider using direct to disc for recording, and that way you don't need to re-encode video at all for recording.
Thanks. I found the separate settings. I actually am going to use direct to disk. I meant re-encoding the clips for storage/archiving to save space. I'll use the CPU encoder for this. Since I have a mix of H.264 and H.265 cameras, now I wish I could selectively re-encode only H.264 clips and archive H.265 clips as is. I believe there is no setting to accomplish this. Eventually I'd want to re-encode H.264 clips to H.265. Hopefully BI will add encoding to H.265 in the future.
"/h264/{cam-short-name}/temp.h264" kind of sucks because it doesn't specify a frame rate. Some players don't know how to handle it. Consider UI3 or the official mobile app for your platform.
All I need is for tinyCam Monitor to support this. I believe it does. If not, the developer will probably implement it upon request.
The software H.264 encoder has very little added delay. I'm not really equipped to measure it exactly but it seems like less than a quarter of a second.
I will try both. For one particular camera I'd want to re-encode an H.265 4K stream to an H.264 1080p. This could put strain on the CPU. But this will be needed only for short times when I am looking at real-time streams from outside my LAN. I wish BI would allow pulling raw H.265 streams in the future.
 
All I need is for tinyCam Monitor to support this. I believe it does. If not, the developer will probably implement it upon request.

tinyCam at the moment uses "/video/{cam-short-name}/2.0?audio=0&stream=0&extend=2" request to get H.264 video stream data from BI.
 
  • Like
Reactions: pov2