Jetson Nano/Gstreamer/Example Pipelines/Encoding: Difference between revisions
(→OMX) |
(→V4L2) |
||
Line 97: | Line 97: | ||
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 | 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 | ||
</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 | |||
| 21% | |||
| 21 | |||
|- | |||
| 3280x1884 | |||
| 21% | |||
| 21 | |||
|- | |||
| 1080p | |||
| 23% | |||
| 30 | |||
|- | |||
| 720p | |||
| 28% | |||
| 58 | |||
|- | |||
| 720p | |||
| 37% | |||
| 116 | |||
|} | |||
=== Dual H264 Encoding from Camera === | === Dual H264 Encoding from Camera === |
Revision as of 22:41, 16 July 2019
NVIDIA®Jetson Nano™ | |||
---|---|---|---|
Introduction | |||
|
|||
Development | |||
|
|||
GStreamer | |||
|
|||
Contact Us |
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 ! qtmux ! filesink location=$FILE_A streams. ! queue ! nvv4l2h264enc bitrate=8000000 ! h264parse ! qtmux ! filesink location=$FILE_B
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' ! nvvidconv ! omxh265enc ! qtmux ! filesink location=$FILE -e
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' ! nvvidconv ! tee name=streams streams. ! queue ! omxh265enc bitrate=8000000 ! qtmux ! filesink location=$FILE_A streams. ! queue ! omxh265enc bitrate=8000000 ! qtmux ! filesink location=$FILE_B
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
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
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