I’ve got a Jetson TK1 running in text mode pulling and storing video frames to the eMMC using gstreamer from an e-CAM130 from e-con. The docs from the camera manufacturer indicate that the camera can pull 4K video at 22 fps, but I’m getting 6 fps max. When pulling frames at 1080p, I get the full 30 fps performance. In both situations, top indicates that only 75% of one CPU core is being utilized, which seems to indicate that my pipeline setup is using the HW encoder properly. Has anyone been successful encoding 4K video from an x-raw-yuv source? Here are the commands I’m using:
1080p encode / store to eMMC at 30fps:
sudo nice --1 gst-launch-0.10 v4l2src device=/dev/video0 queue-size=5 always-copy=false ! 'video/x-raw-yuv, format=(fourcc)YUY2, width=(int)1920, height=(int)1080, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1' ! nvvidconv ! 'video/x-nv-yuv, format=(fourcc)I420, width=(int)1920, height=(int)1080' ! nv_omx_h264enc ! matroskamux ! queue ! filesink location=test.mkv
4K encode/ store to eMMC that is rated at 22fps from the manufacturer, but only getting 6fps:
sudo nice --1 gst-launch-0.10 v4l2src device=/dev/video0 queue-size=5 always-copy=false ! 'video/x-raw-yuv, format=(fourcc)YUY2, width=(int)3840, height=(int)2160, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1' ! nvvidconv ! 'video/x-nv-yuv, format=(fourcc)I420, width=(int)3840, height=(int)2160' ! nv_omx_h264enc ! matroskamux ! queue ! filesink location=test.mkv