This is an old revision of the document!
This document mainly introduces how to use hardware encoding on Edge2.
If encounter error, please add sudo and try again.
1. Check encoder.
khadas@Khadas:~$ gst-inspect-1.0 | grep mpp
rockchipmpp: mpph264enc: Rockchip Mpp H264 Encoder
rockchipmpp: mpph265enc: Rockchip Mpp H265 Encoder
rockchipmpp: mppjpegdec: Rockchip's MPP JPEG image decoder
rockchipmpp: mppjpegenc: Rockchip Mpp JPEG Encoder
rockchipmpp: mppvideodec: Rockchip's MPP video decoder
rockchipmpp: mppvp8enc: Rockchip Mpp VP8 Encoder
typefindfunctions: audio/x-musepack: mpc, mpp, mp+
2. Encoding format NV12
to H264
.
khadas@Khadas:~$ gst-launch-1.0 -v filesrc location=./test.yuv ! videoparse width=1920 height=1080 format=nv12 ! mpph264enc ! h264parse ! queue ! filesink location=./test.h264
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
Redistribute latency...
New clock: GstSystemClock
0:00:16.1 / 0:12:05.0 (2.2 %)
^Chandling interrupt. (2.8 %)
3. Get data from USB camera and encode.
khadas@Khadas:~$ gst-launch-1.0 v4l2src device=/dev/video33 io-mode=mmap num-buffers=300 ! image/jpeg, width=1920, height=1080, framerate=30/1 ! mppjpegdec ! mpph264enc ! filesink location=./test.h264
Other encoding formats are used similarly. Just replace the corresponding encoder.