Gstreamer encoder for video/x-raw GRAY8 format to lower CPU usage

702 views Asked by At

I have been using a G-Streamer and ARAVIS project libraries to send live video feed from Genicam camera to Amazon Kinesis Video. I read the raw video using the GREY8 format and convert it to H264 compressed data format before it goes to AWS Kinesis video. I have seen some examples on encoders such as vaapih264enc encoder for RGB format which lower the CPU usage significantly. Unfortunately I cannot seem to get it to work for GREY 8 format. Can anyone suggest any encoders I can use to lower my CPU usage which is running in high 90s. Below is the G-Streamer PIPE I have been using

** gst-launch-1.0 -e --gst-plugin-path=/usr/local/lib/ aravissrc camera-name="Allied Vision-xxxxxxxx-xxxxx" exposure=7000 exposure-auto=0 gain=30 gain-auto=0 ! video/x-raw,format=GRAY8,width=1920,height=1080,framerate=80/1 ! videoconvert ! x264enc bframes=0 key-int-max=45 bitrate=5500 ! h264parse ! video/x-h264,stream-format=avc,alignment=au,profile=high ! kvssink stream-name="camera_xxx" storage-size=512 access-key="aws access key" secret-key="aws secret key" aws-region="aws region"**

I'm using a Ubuntu OS on a intel motherboard.

Thank you for your time

I tried the vaapih264enc encoder and it lowered my CPU but I expected the feed to look good but it looked like fast forwared and chopped up. Below is what I tried

gst-launch-1.0 -e --gst-plugin-path=/usr/local/lib/ aravissrc camera-name="Allied Vision-xxxxxxxx-xxxxx" exposure=7000 exposure-auto=0 gain=30 gain-auto=0 ! video/x-raw,format=GRAY8,width=1920,height=1080,framerate=80/1 ! vaapih264enc rate-control=cbr bitrate=5000 ! h264parse ! video/x-h264,stream-format=avc,alignment=au,profile=high ! kvssink stream-name="camera_xxx" storage-size=512 access-key="aws access key" secret-key="aws secret key" aws-region="aws region"

0

There are 0 answers