vp8enc Creating corrupted output when sourced through live h264 stream

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

vp8enc Creating corrupted output when sourced through live h264 stream

pneves
Hello

I have been trying to transcode an h264 stream that comes from my C920 camera. The stream source itself plays fine when no transcoding is done to VP8.

The offending pipeline can be reproduced by:

gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-h264,width=1920,height=1080,framerate=30/1,profile=constrained-baseline ! h264parse ! avdec_h264 ! queue ! vp8enc deadline=1000 ! vp8dec ! glimagesink sync=false

 I think the problem lies in vp8enc because i decode the stream through other decoders than avdec_h264 and the video corruption appears just the same. See link http://www.filedropper.com/drone_1

I have tried with different encoding profiles specifically main, baseline-constrained and baseline with the same results.

To rule out a problem in avdec_h264 i have tried [...] jpegenc ! jpegdec ! vp8enc [...] with the same corruption problems.

The camera does offer strange aspect ratios and the vp8enc does no video corruption if I try from resolution equal or lower to 1280/720.

Another hypothesis is that the higher the cpu load the worse the results and this can be related to the problem disappearing with lower resolutions. If i decrease the framerate the corruption also decreases to lower levels. A case for that is that if i dont decode the video in real time and just encode it to a file the corruption is significantly less. See this link
http://www.filedropper.com/vp8enccorrupt

Also, if i vp8enc the same video from a file instead of a live source no corruption occurs.

If there is anything else i can do to troubleshoot let me know
Best regards
Paulo Neves