I capture video 640x360 from excelent USB web camera (Logitech 910) and push it into vpuencoder:
gst-launch v4l2src device=/dev/video0 ! video/x-raw-yuv,width=640,height=360,framerate=15/1 ! mfw_vpuencoder codec-type=std_avc bitrate=800 gopsize=150 ! video/x-h264,width=640,height=360 ! rtph264pay pt=96 ! udpsink host=192.168.0.95 port=5000 sync=false
Currently result is awful. Is it possible to tune quality? I'm ready to raise delay and refuse from gstreamer to make direct calls to vpu.
The encoding quality depends on the raw video quality captured by camera as well as the encoding parameters. Normally, bad encoding quality is caused by noisy raw video captured in low lux.
Can you increase your light to see whether the encoding quality gets better ?
Can you also share your compressed H264 bitstream so that I can check the encoding parameters you used ?
Thanks
Jones
maybe you can increase the frame rate to 24?
Yes, of course. But 800 kbit video 640x360 is much much worser, that 300 kbit compressed by libx264.
I realize that hardware encoder is much worser, than software one, but I want to find the way to do its best.
Did you try to increase your video bitrate ?