音视频 Linux 指令速查

音视频 Linux 指令速查表

核心特点:均基于瑞芯微 MPP(Media Process Platform) 硬件编解码框架,支持H.264/H.265硬编硬解、RGA 2D图形加速。RV1126 是低功耗IPC芯片,RK3568 是通用嵌入式芯片,指令90%通用,差异处已标注。


一、MPP 官方工具指令(必学,最稳定的硬编硬解)

瑞芯微官方提供的媒体处理工具,比FFmpeg更稳定、性能更好,是开发首选。

1. 基础测试指令

# 查看MPP版本和支持的编解码器
mpp_info

# 测试H.264硬解码(输出到屏幕)
mpp_dec_test -i test.h264 -t h264 -f 0

# 测试H.265硬解码
mpp_dec_test -i test.h265 -t h265 -f 0

# 测试H.264硬编码(生成test.h264)
mpp_enc_test -w 1920 -h 1080 -t h264 -o test.h264

# 测试H.265硬编码
mpp_enc_test -w 1920 -h 1080 -t h265 -o test.h265

2. 摄像头直接硬编码(最常用)

# 从/dev/video0采集YUYV格式,硬编码为H.264保存
v4l2_capture -d /dev/video0 -w 1920 -h 1080 -f YUYV -r 30 | mpp_enc_test -w 1920 -h 1080 -t h264 -i - -o output.h264

# RV1126 低功耗模式(推荐)
v4l2_capture -d /dev/video0 -w 1280 -h 720 -f NV12 -r 25 | mpp_enc_test -w 1280 -h 720 -t h264 -b 1000000 -i - -o output.h264

3. 多路编码(RK3568支持,RV1126最多2路)

# RK3568 同时编码1080P和720P两路
mpp_enc_test -w 1920 -h 1080 -t h264 -o main.h264 &
mpp_enc_test -w 1280 -h 720 -t h264 -o sub.h264 &

二、FFmpeg 硬件加速指令(瑞芯微专属)

注意:必须使用瑞芯微官方编译的FFmpeg,否则没有rkmpp编码器。

1. 编码器名称对照表

芯片H.264编码器H.265编码器解码器
RK3568h264_rkmpph265_rkmpph264_rkmpp, h265_rkmpp
RV1126h264_rkmpph265_rkmpph264_rkmpp, h265_rkmpp

2. 常用示例

# 摄像头录制(硬编码,性能最好)
ffmpeg -f v4l2 -i /dev/video0 -c:v h264_rkmpp -b:v 2M output.mp4

# 硬解码播放
ffplay -c:v h264_rkmpp test.mp4

# 转码(硬解+硬编,速度比软编快10倍以上)
ffmpeg -c:v h264_rkmpp -i input.mp4 -c:v h265_rkmpp -b:v 1M output.mp4

# RTSP推流(硬编码,低延迟)
ffmpeg -f v4l2 -i /dev/video0 -c:v h264_rkmpp -b:v 2M -f rtsp rtsp://192.168.1.100:8554/stream

# 拉流保存(硬解码)
ffmpeg -c:v h264_rkmpp -i rtsp://192.168.1.100:8554/stream -c copy save.mp4

# RV1126 优化参数(降低CPU占用)
ffmpeg -f v4l2 -i /dev/video0 -pix_fmt nv12 -c:v h264_rkmpp -b:v 1M -r 25 -g 50 output.mp4

三、GStreamer 硬件加速指令

# 摄像头预览(硬解码)
gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,format=NV12,width=1920,height=1080 ! rkximagesink

# 摄像头录制(硬编码)
gst-launch-1.0 v4l2src ! video/x-raw,format=NV12,width=1920,height=1080 ! mpph264enc ! h264parse ! mp4mux ! filesink location=output.mp4

# 播放本地视频(硬解码)
gst-launch-1.0 filesrc location=test.mp4 ! qtdemux ! h264parse ! mppvideodec ! rkximagesink

# RTSP推流(硬编码)
gst-launch-1.0 v4l2src ! video/x-raw,format=NV12,width=1280,height=720 ! mpph264enc ! rtph264pay ! udpsink host=192.168.1.100 port=5004

四、RGA 2D图形加速指令

RGA是瑞芯微的硬件2D加速模块,用于图像缩放、格式转换、旋转等,不占用CPU

# 安装RGA工具
apt install librga-dev rga-tools

# 图像格式转换(YUYV转NV12)
rga_convert -i input.yuyv -o output.nv12 -w 1920 -h 1080 -f YUYV -F NV12

# 图像缩放(1920x1080转640x480)
rga_convert -i input.nv12 -o output.nv12 -w 1920 -h 1080 -W 640 -H 480 -f NV12

# 图像旋转(90度)
rga_convert -i input.nv12 -o output.nv12 -w 1920 -h 1080 -f NV12 -r 90

# 叠加水印
rga_blend -i background.nv12 -w 1920 -h 1080 -I logo.rgba -x 100 -y 100 -o output.nv12

五、摄像头调试专属指令

1. MIPI摄像头调试(RV1126/RK3568核心)

# 查看所有媒体设备(MIPI摄像头会显示为/media/mediaX)
media-ctl -p

# 查看摄像头拓扑结构
media-ctl -d /dev/media0 --print-dot

# 设置摄像头链路(MIPI摄像头必须先设置链路才能使用)
media-ctl -d /dev/media0 -l '"ov5695 2-0036":0->"rockchip-mipi-csi2":0[1]'

# 查看摄像头支持的格式
v4l2-ctl -d /dev/video0 --list-formats-ext

# 测试摄像头采集(保存原始数据)
v4l2_capture -d /dev/video0 -w 1920 -h 1080 -f NV12 -n 10 -o capture.nv12

2. 常见摄像头问题排查

# 查看摄像头驱动加载情况
dmesg | grep -E "ov5695|gc2053|imx335|mipi"

# 查看I2C设备(摄像头I2C地址通常是0x36或0x3c)
i2cdetect -y 2

# 重启摄像头子系统
rmmod ov5695
modprobe ov5695

六、性能监控与调试指令

1. 瑞芯微专属性能工具

# 查看CPU温度和频率
cat /sys/class/thermal/thermal_zone0/temp
cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq

# 查看GPU负载
cat /sys/class/devfreq/ff9a0000.gpu/load

# 查看MPP硬件占用
cat /proc/mpp/status

# 查看RGA硬件占用
cat /proc/rga/status

2. 系统性能监控

# 实时查看所有硬件负载
htop

# 查看内存使用(音视频应用容易内存泄漏)
free -h

# 查看磁盘IO(录制视频时重要)
iostat -x 1

# 查看网络带宽(推流时重要)
iftop -i eth0

七、常见问题排查指令

# 问题1:摄像头打不开
ls /dev/video*                  # 查看设备是否存在
lsmod | grep v4l2               # 查看驱动是否加载
dmesg | grep video              # 查看内核日志
chmod 666 /dev/video0           # 检查权限
usermod -aG video root          # 将用户加入video组

# 问题2:硬编码失败
mpp_info                        # 查看MPP是否正常
lsmod | grep mpp                # 查看MPP驱动是否加载
dmesg | grep mpp                # 查看MPP日志

# 问题3:推流卡顿
top                             # 查看CPU占用
iftop                           # 查看网络带宽
ffmpeg -i ... -b:v 1M ...       # 降低码率
ffmpeg -i ... -r 25 ...         # 降低帧率

# 问题4:RV1126发热严重
echo powersave > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor  # 开启省电模式
ffmpeg -i ... -b:v 500k ...     # 降低码率
ffmpeg -i ... -r 15 ...         # 降低帧率
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值