Jetson Nano GStreamer example pipelines for H264 H265 and VP8 Encoding
|
H.264
OMX
H264 Encoding from videotestsrc
FILE=filename.mp4 gst-launch-1.0 videotestsrc is-live=true ! video/x-raw, format=I420,width=1920, height=1080 ! omxh264enc ! qtmux ! filesink location=$FILE -e
H264 Encoding from camera
FILE=filename.mp4 gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory:NVMM), width=1920, height=1080,format=NV12, framerate=30/1' ! omxh264enc ! qtmux ! filesink location=$FILE -e
Resolution | CPU% | FPS |
---|---|---|
3280x2464 | 20% | 21 |
3280x1884 | 20% | 21 |
1080p | 23% | 30 |
720p | 28% | 58 |
720p | 37% | 116 |
Dual H264 Encoding from Camera
FILE_A=filenameA.mp4 FILE_B=filenameB.mp4 gst-launch-1.0 -e nvarguscamerasrc ! 'video/x-raw(memory:NVMM), width=1920, height=1080, format=NV12, framerate=30/1' ! tee name=streams streams. ! queue ! omxh264enc bitrate=8000000 ! qtmux ! filesink location=$FILE_A streams. ! queue ! omxh264enc bitrate=8000000 ! qtmux ! filesink location=$FILE_B
Resolution | CPU% | FPS |
---|---|---|
3280x2464 | 22% | 21 |
3280x1884 | 22% | 21 |
1080p | 24% | 30 |
720p | 30% | 58 |
720p | 37% | 117 |
V4L2
H264 Encoding from Camera
FILE=filename.mp4 gst-launch-1.0 -e nvarguscamerasrc ! 'video/x-raw(memory:NVMM), width=1920, height=1080, format=NV12, framerate=30/1' ! nvv4l2h264enc bitrate=8000000 ! h264parse ! qtmux ! filesink location=$FILE
Resolution | CPU% | FPS |
---|---|---|
3280x2464 | 21% | 21 |
3280x1884 | 21% | 21 |
1080p | 23% | 30 |
720p | 28% | 58 |
720p | 37% | 116 |
Dual H264 Encoding from Camera
FILE_A=filenameA.mp4 FILE_B=filenameB.mp4 gst-launch-1.0 -e nvarguscamerasrc ! 'video/x-raw(memory:NVMM), width=1920, height=1080, format=NV12, framerate=30/1' ! tee name=streams streams. ! queue ! nvv4l2h264enc bitrate=8000000 ! h264parse ! queue ! qtmux ! filesink location=$FILE_A streams. ! queue ! nvv4l2h264enc bitrate=8000000 ! h264parse ! queue ! qtmux ! filesink location=$FILE_B
Resolution | CPU% | FPS |
---|---|---|
3280x2464 | 13% | 21 |
3280x1884 | 12% | 21 |
1080p | 12% | 30 |
720p | 19% | 58 |
720p | 69% | 116 |
H.265
OMX
H265 Encoding from camera
FILE=filename.mp4 gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory:NVMM), width=1920, height=1080,format=NV12, framerate=30/1' ! omxh265enc ! qtmux ! filesink location=$FILE -e
Resolution | CPU% | FPS |
---|---|---|
3280x2464 | 9% | 21 |
3280x1884 | 9% | 21 |
1080p | 10% | 30 |
720p | 17% | 58 |
720p | 33% | 116 |
Dual H265 Encoding from Camera
FILE_A=filenameA.mp4 FILE_B=filenameB.mp4 gst-launch-1.0 -e nvarguscamerasrc ! 'video/x-raw(memory:NVMM), width=1920, height=1080, format=NV12, framerate=30/1' ! tee name=streams streams. ! queue ! omxh265enc bitrate=8000000 ! qtmux ! filesink location=$FILE_A streams. ! queue ! omxh265enc bitrate=8000000 ! qtmux ! filesink location=$FILE_B
Resolution | CPU% | FPS |
---|---|---|
3280x2464 | 9% | 21 |
3280x1884 | 9% | 21 |
1080p | 10% | 30 |
720p | 19% | 58 |
720p | 33% | 116 |
V4L2
H265 Encoding from Camera
gst-launch-1.0 -e nvarguscamerasrc ! 'video/x-raw(memory:NVMM), width=1920, height=1080, format=NV12, framerate=30/1' ! nvv4l2h265enc bitrate=8000000 ! h265parse ! qtmux ! filesink location=$FILE -e
Resolution | CPU% | FPS |
---|---|---|
3280x2464 | 9% | 21 |
3280x1884 | 9% | 21 |
1080p | 10% | 30 |
720p | 19% | 58 |
720p | 34% | 116 |
Dual H265 Encoding from Camera
FILE_A=filenameA.mp4 FILE_B=filenameB.mp4 gst-launch-1.0 -e nvarguscamerasrc ! 'video/x-raw(memory:NVMM), width=1920, height=1080, format=NV12, framerate=30/1' ! tee name=streams streams. ! queue ! nvv4l2h265enc bitrate=8000000 ! h265parse ! qtmux ! filesink location=$FILE_A streams. ! queue ! nvv4l2h265enc bitrate=8000000 ! h265parse ! qtmux ! filesink location=$FILE_B
Resolution | CPU% | FPS |
---|---|---|
3280x2464 | 11% | 21 |
3280x1884 | 12% | 21 |
1080p | 11% | 30 |
720p | 18% | 58 |
720p | 37% | 117 |
VP8
OMX
VP8 Encoding from Camera
FILE=filename.mkv gst-launch-1.0 -e nvarguscamerasrc ! 'video/x-raw(memory:NVMM), width=1920, height=1080, format=NV12, framerate=30/1' ! omxvp8enc ! matroskamux ! filesink location=$FILE
Resolution | CPU% | FPS |
---|---|---|
3280x2464 | 9% | 21 |
3280x1884 | 9% | 21 |
1080p | 9% | 30 |
720p | 16% | 58 |
720p | 33% | 117 |
V4L2
VP8 Encoding from Camera
FILE=filename.mkv gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory:NVMM), width=1920, height=1080, format=NV12, framerate=30/1' ! nvv4l2vp8enc bitrate=8000000 ! matroskamux ! filesink location=$FILE -e
Resolution | CPU% | FPS |
---|---|---|
3280x2464 | 9% | 21 |
3280x1884 | 9% | 21 |
1080p | 9% | 30 |
720p | 16% | 58 |
720p | 31% | 116 |
JPEG
gst-launch-1.0 nvarguscamerasrc num-buffers=1 ! 'video/x-raw(memory:NVMM), width=1920, height=1080, format=NV12' ! nvjpegenc ! filesink location=test.jpg