Khadas Docs

Amazing Khadas, always amazes you!

User Tools

Site Tools


Sidebar

products:sbc:edge2:applications:hardware-encoding

Edge2 Hardware Encoding

Introduction

This document mainly introduces how to use hardware encoding on Edge2.

Encoding

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.

kernel 5.10.66

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 version

khadas@Khadas:~$ gst-launch-1.0 v4l2src device=/dev/video60 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.

Last modified: 2024/05/21 06:18 by jacobe