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

From RidgeRun Developer Wiki
mNo edit summary
mNo edit summary
Line 7: Line 7:
---->
---->


=H.264=
==H.264==


== OMX ==
=== OMX ===


=== H264 Encoding from videotestsrc ===
==== H264 Encoding from videotestsrc ====
<pre style="background:#d6e4f1">
<pre style="background:#d6e4f1">
FILE=filename.mp4
FILE=filename.mp4
Line 17: Line 17:
</pre>
</pre>


=== H264 Encoding from camera ===
==== H264 Encoding from camera ====


<pre style="background:#d6e4f1">
<pre style="background:#d6e4f1">
Line 53: Line 53:
|}
|}


=== Dual H264 Encoding from Camera ===
==== Dual H264 Encoding from Camera ====


<pre style="background:#d6e4f1">
<pre style="background:#d6e4f1">
Line 91: Line 91:
|}
|}


==V4L2==
===V4L2===


=== H264 Encoding from Camera ===
==== H264 Encoding from Camera ====


<pre style="background:#d6e4f1">
<pre style="background:#d6e4f1">
Line 128: Line 128:
|}
|}


=== Dual H264 Encoding from Camera ===
==== Dual H264 Encoding from Camera ====


<pre style="background:#d6e4f1">
<pre style="background:#d6e4f1">
Line 164: Line 164:
|}
|}


=H.265=
==H.265==


== OMX ==
=== OMX ===


=== H265 Encoding from camera ===
==== H265 Encoding from camera ====
<pre style="background:#d6e4f1">
<pre style="background:#d6e4f1">
FILE=filename.mp4
FILE=filename.mp4
Line 201: Line 201:
| 116
| 116
|}
|}
=== Dual H265 Encoding from Camera ===
==== Dual H265 Encoding from Camera ====


<pre style="background:#d6e4f1">
<pre style="background:#d6e4f1">
Line 237: Line 237:
|}
|}


==V4L2==
===V4L2===


=== H265 Encoding from Camera ===
==== H265 Encoding from Camera ====


<pre style="background:#d6e4f1">
<pre style="background:#d6e4f1">
Line 273: Line 273:
|}
|}


=== Dual H265 Encoding from Camera ===
==== Dual H265 Encoding from Camera ====


<pre style="background:#d6e4f1">
<pre style="background:#d6e4f1">
Line 309: Line 309:
|}
|}


=VP8=
==VP8==


==OMX==
===OMX===


=== VP8 Encoding from Camera ===
==== VP8 Encoding from Camera ====
<pre style="background:#d6e4f1">
<pre style="background:#d6e4f1">
FILE=filename.mkv
FILE=filename.mkv
Line 347: Line 347:
|}
|}


==V4L2==
===V4L2===


=== VP8 Encoding from Camera ===
==== VP8 Encoding from Camera ====
<pre style="background:#d6e4f1">
<pre style="background:#d6e4f1">
FILE=filename.mkv
FILE=filename.mkv
Line 383: Line 383:
|}
|}


=JPEG=
==JPEG==


<pre style="background:#d6e4f1">
<pre style="background:#d6e4f1">

Revision as of 21:00, 3 February 2020



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


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