====== Edge2 Hardware Decoding ====== ===== Introduction ===== This document mainly introduces how to use hardware decoding on Edge2. ===== Decoding ===== If encounter error, please add sudo and try again. 1. Check decoder. ```shell 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. Decoding with H264 file. ```shell khadas@Khadas:~$ gst-launch-1.0 filesrc location=./test.h264 ! h264parse ! mppvideodec ! video/x-raw,format=NV12 ! filesink location=test.yuv Setting pipeline to PAUSED ... Pipeline is PREROLLING ... Pipeline is PREROLLED ... Setting pipeline to PLAYING ... Redistribute latency... New clock: GstSystemClock 0:00:01.2 / 1:04:25.7 (0.0 %) 0:00:02.2 / 1:33:57.6 (0.0 %) ``` 3. Decoding with MP4 file. ```shell khadas@Khadas:~$ gst-launch-1.0 filesrc location=./test.mp4 ! qtdemux name=d d.video_0 ! h264parse ! mppvideodec ! video/x-raw,format=NV12 ! filesink location=test.yuv Setting pipeline to PAUSED ... Pipeline is PREROLLING ... Pipeline is PREROLLED ... Setting pipeline to PLAYING ... Redistribute latency... New clock: GstSystemClock 0:00:01.8 / 0:10:34.5 (0.3 %) ``` If you want to play your decoded file, you can play with ''ffpaly''. 4. Decoding from RTSP stream and preview. You can use gstreamer ''waylandsink'' to preview the video on Ubuntu Wayland desktop: ```shell gst-launch-1.0 rtspsrc location=rtsp://USERNAME:PASSWD@192.168.xxx.xxx/snl/live/1/1 ! rtph264depay ! h264parse ! mppvideodec ! video/x-raw,format=NV12 ! waylandsink ``` You can use the command below to check display fps: ```shell gst-launch-1.0 -v rtspsrc location=rtsp://USERNAME:PASSWD@192.168.xxx.xxx/snl/live/1/1 ! rtph264depay ! h264parse ! mppvideodec ! video/x-raw,format=NV12 ! fpsdisplaysink video-sink=waylandsink sync=false text-overlay=false ``` Display with ''ffmpeg'': ```shell ffplay -vcodec h264_rkmpp rtsp://USERNAME:PASSWD@192.168.xxx.xxx/snl/live/1/1 ``` You can use gstreamer ''clutterautovideosink'' to preview the video on Ubuntu Wayland desktop: ```shell gst-launch-1.0 rtspsrc location=rtsp://USERNAME:PASSWD@192.168.xxx.xxx/snl/live/1/1 ! rtph264depay ! h264parse ! mppvideodec ! video/x-raw,format=NV12 ! clutterautovideosink ``` You can use the command below to check display fps: ```shell gst-launch-1.0 -v rtspsrc location=rtsp://USERNAME:PASSWD@192.168.xxx.xxx/snl/live/1/1 ! rtph264depay ! h264parse ! mppvideodec ! video/x-raw,format=NV12 ! fpsdisplaysink video-sink=clutterautovideosink sync=false text-overlay=false ``` You press ''Alt + F7'' and then move mouse to move the windown. Please replace the RTSP stream with yours.