1. 视频教程

AIBOX-8550 默认的视频框架为 Gstreamer.

1.1. 可用 gst 组件

使用 gst-inspect 可以查看可用的多媒体组件,这些 qti 组件享受硬件加速功能。

root@kalama:~# gst-inspect-1.0 --plugin | grep "qti"
qtibatch:  qtibatch: Batching stream buffers
qtic2adec:  qtic2adec: Codec2 AAC Audio Decoder
qtic2aenc:  qtic2aenc: Codec2 AAC Audio Encoder
qtic2vdec:  qtic2vdec: Codec2 H.264/H.265/VP8/VP9/MPEG Video Decoder
qtic2venc:  qtic2venc: Codec2 H.264/H.265/HEIC Video Encoder
qticamreproc:  qticamreproc: Camera Reprocess
qticvimgpyramid:  qticvimgpyramid: CV Image Pyramid Scaler
qticvoptclflow:  qticvoptclflow: CV Optical Flow
qtijpegenc:  qtijpegenc: Jpeg encoder
qtimetamux:  qtimetamux: Meta muxer
qtimldemux:  qtimldemux: Batching stream buffers
qtimlvclassification:  qtimlvclassification: Machine Learning image classification
qtimlvconverter:  qtimlvconverter: Machine Learning Video Converter
qtimlvdetection:  qtimlvdetection: Machine Learning image object detection
qtimlvpose:  qtimlvpose: Machine Learning Pose
qtimlvsegmentation:  qtimlvsegmentation: Machine Learning image segmentation
qtimlvsuperresolution:  qtimlvsuperresolution: Machine Learning image super resolution
qtiobjtracker:  qtiobjtracker: Object Tracker
qtioverlay:  qtioverlay: QTI Overlay
qtiqmmfsrc:  qtiqmmfsrc: QMMF Video Source
qtisocketsink:  qtisocketsink: QTI Socket Sink Element
qtisocketsrc:  qtisocketsrc: QTI Socket Source Element
qtivcomposer:  qtivcomposer: Video composer
qtivoverlay:  qtivoverlay: Video Overlay
qtivsplit:  qtivsplit: Video stream splitter
qtivtransform:  qtivtransform: Video transformer

1.2. 编解码能力

Video decode up to 4K240/8K60

Video encode up to 4K120/8K30

Concurrent 4K60 decode and 4K60 encode for wireless display

AV1 decode

Native decode support for H.265 Main 10, H.265 Main, H.264 High, and VP9 profile 2

Native encode support for H.265 Main 10, H.265 Main, H.264 high formats

1.3. 视频播放

使用 qtic2vdec 组件,例如播放 h264 视频:

export XDG_RUNTIME_DIR=/run/user/root
export WAYLAND_DISPLAY=wayland-1
gst-launch-1.0 filesrc location=/usr/local/test.mp4 ! qtdemux name=demux demux.video_0 ! queue ! h264parse ! qtic2vdec ! videoconvert ! waylandsink sync=true

1.4. 视频编码

使用 qtic2venc 组件,例如编码 h264 视频:

gst-launch-1.0 videotestsrc ! qtic2venc ! h264parse ! qtmux ! filesink location=test.mp4 -e

# 按 Ctrl+C 停止编码