RGA滤镜 | RGA Filter - jjm2473/ffmpeg-rk GitHub Wiki

基本用法:

  1. 将软件帧或者硬件帧转换成硬件帧,以支持MPP编码(Normal frame to HW frame for MPP encoding)
ffmpeg -i /usr/local/test.mp4 -vf 'scale_rga' -c:v h264_rkmpp -q:v 80 -f matroska -y test.mkv
  1. mpp编码前缩放(Scaling before MPP encoding)
ffmpeg -i /usr/local/test.mp4 -vf 'scale_rga=w=1280:h=720' -c:v h264_rkmpp -q:v 80 -f matroska -y test.mkv

w=1280:h=720参数可简化为1280x720w=1280:h=720 can be turn to 1280x720

ffmpeg -i /usr/local/test.mp4 -vf 'scale_rga=1280x720' -c:v h264_rkmpp -q:v 80 -f matroska -y test.mkv
  1. 将摄像头(v4l2)视频数据转换成RGB565,同时缩放到320x240,用于屏幕(Framebuffer)显示(/dev/video0 -> rgb565 -> /dev/fb0):
ffmpeg -thread_queue_size 2 -f v4l2 -video_size 640x480 -i /dev/video0 -vf 'scale_rga=320x240:format=rgb565,hwdownload,scale' -an -c:v rawvideo -f fbdev /dev/fb0

支持的参数(Parameters):

参数 值范围 默认值 作用
w 1-1920,iw,expr iw 设置目标宽度
h 1-1080,ih,expr ih 设置目标高度
s 1-1920 x 1-1080 设置目标 宽x高
force_original_aspect_ratio disable, decrease, increase decrease 设置保留原始宽高比; decrease 表示减少目标宽度或高度以保持比例,此为默认值; increase 表示增加目标宽度或高度以保持比例
force_divisible_by 1-256 1 设置目标分辨率必须为此数的倍数
down_scale_only 0,1 1 设置只允许缩小,当源视频分辨率低于目标分辨率时避免进行放大
format nv12, yuv420p, rgb565, rgb24 ... nv12 设置输出像素格式(注意,h264_rkmpp编码器只支持nv12yuv420p,所以在使用h264_rkmpp编码时不要设置此参数)