Jetson Nano/Gstreamer/Example Pipelines/Encoding: Difference between revisions

From RidgeRun Developer Wiki
No edit summary
Line 278: Line 278:
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
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
</pre>
</pre>
{| class="wikitable" style="color:black; background-color:#f6f6f6; margin: auto;"
|+ align="top" style="caption-side: top" | Table 1. Performance results
|-
! Resolution
! CPU%
! FPS
|-
| 3280x2464
| 11%
| 21
|-
| 3280x1884
| 12%
| 21
|-
| 1080p
| 11%
| 30
|-
| 720p
| 18%
| 58
|-
| 720p
| 37%
| 117
|}


=VP8=
=VP8=

Revision as of 18:08, 18 July 2019



Previous: Gstreamer/Example_Pipelines/Capture_Display Index Next: Gstreamer/Example_Pipelines/Decoding






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 


Table 1. Performance results
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


Table 1. Performance results
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
Table 1. Performance results
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
Table 1. Performance results
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 
Table 1. Performance results
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
Table 1. Performance results
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
Table 1. Performance results
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
Table 1. Performance results
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

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

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


Previous: Gstreamer/Example_Pipelines/Capture_Display Index Next: Gstreamer/Example_Pipelines/Decoding