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

From RidgeRun Developer Wiki
mNo edit summary
mNo edit summary
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
<noinclude>
<noinclude>
{{JetsonNano/Head|previous=Gstreamer/Example_Pipelines/Capture_Display|next=Gstreamer/Example_Pipelines/Decoding|keywords=gstreamer,gstreamer pipelines,H264 Encoding,Dual H264 Encoding,OMX,V4L2,H265 Encoding,Dual H265 Encoding,VP8 Encoding,JPEG|title=Jetson Nano GStreamer example pipelines for H264 H265 and VP8 Encoding|description=This page has the gstreamer tested example pipelines for H264, H265 and VP8 Encoding on jetson nano platform }}
{{JetsonNano/Head|previous=Gstreamer/Example_Pipelines/Capture_Display|next=Gstreamer/Example_Pipelines/Decoding|metakeywords=gstreamer,gstreamer pipelines,H264 Encoding,Dual H264 Encoding,OMX,V4L2,H265 Encoding,Dual H265 Encoding,VP8 Encoding,JPEG,jetson nano encoding|title=Jetson Nano GStreamer example pipelines for H264 H265 and VP8 Encoding|metadescription=This page has the tested gstreamer example pipelines for H264, H265 and VP8 Encoding on jetson nano platform }}
</noinclude>
</noinclude>


Line 7: Line 7:
---->
---->


=H.264=
<table>
<tr>
<td><div class="clear; float:right">__TOC__</div></td>
<td valign=top>
{{GStreamer debug}}
</td>
</table>


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


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


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


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


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


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


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


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


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


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


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


=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 209:
| 116
| 116
|}
|}
=== Dual H265 Encoding from Camera ===
==== Dual H265 Encoding from Camera ====


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


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


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


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


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


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


=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 355:
|}
|}


==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 391:
|}
|}


=JPEG=
==JPEG==


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

Latest revision as of 11:01, 10 February 2023



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





Problems running the pipelines shown on this page? Please see our GStreamer Debugging guide for help.

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