ffmpeg的鼎鼎大名已经无需介绍了。本文是编译的瑞芯微rockchip的ffmpeg分支,如果你编译的是官方分支,那有一部分也是相同的。 nyanmisaka/ffmpeg-rockchip: FFmpeg with async and zero-copy Rockchip MPP & RGA support是带有硬件加速的版本,具体支持的编解码器在项目页有详细列出,本文后面也列出了编译后的结果。本文分成上下两篇,上文是x86平台的编译,下文是arm的交叉编译,如果需要交叉编译,可以直接跳过本文即可。

本项目旨在为支持 MPP(媒体处理平台)和 RGA(2D 光栅图形加速)的 Rockchip 平台提供完整的 FFmpeg CLI 硬件转码管道。这包括硬件解码器、编码器和过滤器。典型的目标平台是基于 RK3588/3588s 的设备。

环境准备

具体编译流程,官方提供了详细的步骤:Compilation · nyanmisaka/ffmpeg-rockchip Wiki,当然x86、x64平台下的用户众多,编译教程也很多:ffmpeg linux 编译 - 简书。我是在docker环境下的Ubuntu中编译的,目标硬件平台是:RV1126,本一步实际上什么平台都大差不差,只要不是Windows。

汇编器

ffmpeg需要对图形底层进行操作,需要安装如下依赖:

apt-get install yasm libdrm-dev nasm

image-20250531102849570.webp

x264

需要标准x264编码器:VideoLAN / x264 · GitLab,可以参考:Ubuntu20.4下x264、x265、fdk-aac和FFmpeg4.3源码编译安装_ubuntu安装libx264-CSDN博客

image-20250531111632202.webp

git clone https://code.videolan.org/videolan/x264.git

root@7b108f530ecc:~/x264# ./configure --enable-shared --prefix=/usr/
platform:       X86_64
byte order:     little-endian
system:         LINUX
cli:            yes
libx264:        internal
shared:         yes
static:         no
bashcompletion: no
asm:            yes
interlaced:     yes
avs:            yes
lavf:           no
ffms:           no
mp4:            no
gpl:            yes
thread:         posix
opencl:         yes
filters:        crop select_every
lto:            no
debug:          no
gprof:          no
strip:          no
PIC:            yes
bit depth:      all
chroma format:  all

You can run 'make' or 'make fprofiled' now.

make了,再make install即可。

image-20250531103918259.webp

x265

因为现在还在x86平台,x265一般都是可以支持的,安装依赖也顺便安装了。从videolan源中寻找合适的版本:Index of /pub/videolan/x265/,本文使用的是3.2

image-20250623170221790.webp

tar -zxvf x265_3.2.tar.gz 
x265_3.2/build/linux/make-Makefiles.bash

image-20250531104727684.webp

image-20250531104908388.webp

还是make了,再make install

rockchip_mpp

然后就是需要安装rockchip-linux/mpp: Media Process Platform (MPP) module,是瑞芯微的媒体处理平台,ffmpeg也是底层通过调用mpp实现的。项目页中写明了支持的硬件型号:

image-20250623170537796.webp

下文的RGA和这里的安装教程在前面的ffmpeg-rockchip的wiki里面。

git clone -b jellyfin-mpp --depth=1 https://github.com/nyanmisaka/mpp.git rkmpp
pushd rkmpp
mkdir rkmpp_build
pushd rkmpp_build
cmake \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DCMAKE_BUILD_TYPE=Release \
    -DBUILD_SHARED_LIBS=ON \
    -DBUILD_TEST=OFF \
    ..
make -j6
make install

image-20250531105256752.webp

librga

  • RGA 模块用于 2D 图像的裁剪格式转换缩放旋转图片叠加等。

是使用meson和ninja构建的,缺少也需要安装。

root@7b108f530ecc:~# meson setup rkrga rkrga_build     --prefix=/usr     --libdir=lib     --buildtype=release     --default-library=shared     -Dcpp_args=-fpermissive     -Dlibdrm=false     -Dlibrga_demo=false
The Meson build system
Version: 0.53.2
Source dir: /root/rkrga
Build dir: /root/rkrga_build
Build type: native build
Project name: librga
Project version: 2.1.0
C++ compiler for the host machine: c++ (gcc 9.4.0 "c++ (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0")
C++ linker for the host machine: c++ ld.bfd 2.34
Host machine cpu family: x86_64
Host machine cpu: x86_64
Run-time dependency threads found: YES
Build targets in project: 1

Found ninja-1.10.0 at /usr/bin/ninja

image-20250531105755187.webp

image-20250531105827218.webp

git clone -b jellyfin-rga --depth=1 https://github.com/nyanmisaka/rk-mirrors.git rkrga
meson setup rkrga rkrga_build \
    --prefix=/usr \
    --libdir=lib \
    --buildtype=release \
    --default-library=shared \
    -Dcpp_args=-fpermissive \
    -Dlibdrm=false \
    -Dlibrga_demo=false
meson configure rkrga_build
ninja -C rkrga_build install

编译

完成了上面的依赖安装,就可以开始ffmpeg-rockchip的编译。根据需要指定编译参数。

./configure --prefix=/usr --enable-gpl --enable-version3 --enable-libdrm --enable-rkmpp --enable-rkrga
make -j $(nproc)
root@7b108f530ecc:~# cd ~/ffmpeg-rockchip/
root@7b108f530ecc:~/ffmpeg-rockchip# ./configure --prefix=/usr --enable-gpl --enable-version3 --enable-libdrm --enable-rkmpp --enable-rkrga --enable-libx264 --enable-libx265 --enable-ffplay
install prefix            /usr
source path               .
C compiler                gcc
C library                 glibc
ARCH                      x86 (generic)
big-endian                no
runtime cpu detection     yes
standalone assembly       yes
x86 assembler             nasm
MMX enabled               yes
MMXEXT enabled            yes
3DNow! enabled            yes
3DNow! extended enabled   yes
SSE enabled               yes
SSSE3 enabled             yes
AESNI enabled             yes
AVX enabled               yes
AVX2 enabled              yes
AVX-512 enabled           yes
AVX-512ICL enabled        yes
XOP enabled               yes
FMA3 enabled              yes
FMA4 enabled              yes
i686 features enabled     yes
CMOV is fast              yes
EBX available             yes
EBP available             yes
debug symbols             yes
strip symbols             yes
optimize for size         no
optimizations             yes
static                    yes
shared                    no
postprocessing support    yes
network support           yes
threading support         pthreads
safe bitstream reader     yes
texi2html enabled         no
perl enabled              yes
pod2man enabled           yes
makeinfo enabled          yes
makeinfo supports HTML    yes
xmllint enabled           no

External libraries:
iconv                   libdrm                  libx264                 libx265                 rkmpp                   rkrga

External libraries providing hardware acceleration:
rkmpp                   v4l2_m2m

Libraries:
avcodec                 avdevice                avfilter                avformat                avutil                  postproc                swresample              swscale

Programs:
ffmpeg                  ffprobe

Enabled decoders:
aac                     adpcm_xa                cdgraphics              flac                    jpegls                  msvideo1                pgm                     smvjpeg                 vp4
aac_fixed               adpcm_xmd               cdtoons                 flic                    jv                      mszh                    pgmyuv                  snow                    vp5
aac_latm                adpcm_yamaha            cdxl                    flv                     kgv1                    mts2                    pgssub                  sol_dpcm                vp6
aasc                    adpcm_zork              cfhd                    fmvc                    kmvc                    mv30                    pgx                     sonic                   vp6a
ac3                     agm                     cinepak                 fourxm                  lagarith                mvc1                    phm                     sp5x                    vp6f
ac3_fixed               aic                     clearvideo              fraps                   loco                    mvc2                    photocd                 speedhq                 vp7
acelp_kelvin            alac                    cljr                    frwu                    m101                    mvdv                    pictor                  speex                   vp8
adpcm_4xm               alias_pix               cllc                    ftr                     mace3                   mxpeg                   pixlet                  srt                     vp8_rkmpp
adpcm_adx               als                     comfortnoise            g723_1                  mace6                   nellymoser              pjs                     ssa                     vp8_v4l2m2m
adpcm_afc               amrnb                   cook                    g729                    magicyuv                notchlc                 ppm                     stl                     vp9
adpcm_agm               amrwb                   cpia                    gdv                     mdec                    nuv                     prores                  subrip                  vp9_rkmpp
adpcm_aica              amv                     cri                     gem                     media100                on2avc                  prosumer                subviewer               vp9_v4l2m2m
adpcm_argo              anm                     cscd                    gif                     metasound               opus                    psd                     subviewer1              vplayer
adpcm_ct                ansi                    cyuv                    gremlin_dpcm            microdvd                osq                     ptx                     sunrast                 vqa
adpcm_dtk               anull                   dca                     gsm                     mimic                   paf_audio               qcelp                   svq1                    vqc
adpcm_ea                apac                    dds                     gsm_ms                  misc4                   paf_video               qdm2                    svq3                    wady_dpcm
adpcm_ea_maxis_xa       ape                     derf_dpcm               h261                    mjpeg                   pam                     qdmc                    tak                     wavarc
adpcm_ea_r1             aptx                    dfa                     h263                    mjpegb                  pbm                     qdraw                   targa                   wavpack
adpcm_ea_r2             aptx_hd                 dfpwm                   h263_rkmpp              mlp                     pcm_alaw                qoi                     targa_y216              wbmp
adpcm_ea_r3             arbc                    dirac                   h263_v4l2m2m            mmvideo                 pcm_bluray              qpeg                    text                    webp
adpcm_ea_xas            argo                    dnxhd                   h263i                   mobiclip                pcm_dvd                 qtrle                   theora                  webvtt
adpcm_g722              ass                     dolby_e                 h263p                   motionpixels            pcm_f16le               r10k                    thp                     wmalossless
adpcm_g726              asv1                    dpx                     h264                    movtext                 pcm_f24le               r210                    tiertexseqvideo         wmapro
adpcm_g726le            asv2                    dsd_lsbf                h264_rkmpp              mp1                     pcm_f32be               ra_144                  tiff                    wmav1
adpcm_ima_acorn         atrac1                  dsd_lsbf_planar         h264_v4l2m2m            mp1float                pcm_f32le               ra_288                  tmv                     wmav2
adpcm_ima_alp           atrac3                  dsd_msbf                hap                     mp2                     pcm_f64be               ralf                    truehd                  wmavoice
adpcm_ima_amv           atrac3al                dsd_msbf_planar         hca                     mp2float                pcm_f64le               rawvideo                truemotion1             wmv1
adpcm_ima_apc           atrac3p                 dsicinaudio             hcom                    mp3                     pcm_lxf                 realtext                truemotion2             wmv2
adpcm_ima_apm           atrac3pal               dsicinvideo             hdr                     mp3adu                  pcm_mulaw               rka                     truemotion2rt           wmv3
adpcm_ima_cunning       atrac9                  dss_sp                  hevc                    mp3adufloat             pcm_s16be               rl2                     truespeech              wmv3image
adpcm_ima_dat4          aura                    dst                     hevc_rkmpp              mp3float                pcm_s16be_planar        roq                     tscc2                   wnv1
adpcm_ima_dk3           aura2                   dvaudio                 hevc_v4l2m2m            mp3on4                  pcm_s16le               roq_dpcm                tta                     wrapped_avframe
adpcm_ima_dk4           av1                     dvbsub                  hnm4_video              mp3on4float             pcm_s16le_planar        rpza                    twinvq                  ws_snd1
adpcm_ima_ea_eacs       av1_rkmpp               dvdsub                  hq_hqa                  mpc7                    pcm_s24be               rtv1                    txd                     xan_dpcm
adpcm_ima_ea_sead       avrn                    dvvideo                 hqx                     mpc8                    pcm_s24daud             rv10                    ulti                    xan_wc3
adpcm_ima_iss           avrp                    dxtory                  huffyuv                 mpeg1_rkmpp             pcm_s24le               rv20                    utvideo                 xan_wc4
adpcm_ima_moflex        avs                     dxv                     hymt                    mpeg1_v4l2m2m           pcm_s24le_planar        rv30                    v210                    xbin
adpcm_ima_mtf           avui                    eac3                    iac                     mpeg1video              pcm_s32be               rv40                    v210x                   xbm
adpcm_ima_oki           ayuv                    eacmv                   idcin                   mpeg2_rkmpp             pcm_s32le               s302m                   v308                    xface
adpcm_ima_qt            bethsoftvid             eamad                   idf                     mpeg2_v4l2m2m           pcm_s32le_planar        sami                    v408                    xl
adpcm_ima_rad           bfi                     eatgq                   iff_ilbm                mpeg2video              pcm_s64be               sanm                    v410                    xma1
adpcm_ima_smjpeg        bink                    eatgv                   ilbc                    mpeg4                   pcm_s64le               sbc                     vb                      xma2
adpcm_ima_ssi           binkaudio_dct           eatqi                   imc                     mpeg4_rkmpp             pcm_s8                  scpr                    vble                    xpm
adpcm_ima_wav           binkaudio_rdft          eightbps                imm4                    mpeg4_v4l2m2m           pcm_s8_planar           sdx2_dpcm               vbn                     xsub
adpcm_ima_ws            bintext                 eightsvx_exp            imm5                    mpegvideo               pcm_sga                 sga                     vc1                     xwd
adpcm_ms                bitpacked               eightsvx_fib            indeo2                  mpl2                    pcm_u16be               sgi                     vc1_v4l2m2m             y41p
adpcm_mtaf              bmp                     escape124               indeo3                  msa1                    pcm_u16le               sgirle                  vc1image                ylc
adpcm_psx               bmv_audio               escape130               indeo4                  msmpeg4v1               pcm_u24be               sheervideo              vcr1                    yop
adpcm_sbpro_2           bmv_video               evrc                    indeo5                  msmpeg4v2               pcm_u24le               shorten                 vmdaudio                yuv4
adpcm_sbpro_3           bonk                    fastaudio               interplay_acm           msmpeg4v3               pcm_u32be               simbiosis_imx           vmdvideo                zero12v
adpcm_sbpro_4           brender_pix             ffv1                    interplay_dpcm          msnsiren                pcm_u32le               sipr                    vmix
adpcm_swf               c93                     ffvhuff                 interplay_video         msp2                    pcm_u8                  siren                   vmnc
adpcm_thp               cavs                    ffwavesynth             ipu                     msrle                   pcm_vidc                smackaud                vnull
adpcm_thp_le            cbd2_dpcm               fic                     jacosub                 mss1                    pcx                     smacker                 vorbis
adpcm_vima              ccaption                fits                    jpeg2000                mss2                    pfm                     smc                     vp3

Enabled encoders:
a64multi                alias_pix               dvbsub                  jpeg2000                nellymoser              pcm_s32le               prores_aw               srt                     wavpack
a64multi5               amv                     dvdsub                  jpegls                  opus                    pcm_s32le_planar        prores_ks               ssa                     wbmp
aac                     anull                   dvvideo                 libx264                 pam                     pcm_s64be               qoi                     subrip                  webvtt
ac3                     aptx                    eac3                    libx264rgb              pbm                     pcm_s64le               qtrle                   sunrast                 wmav1
ac3_fixed               aptx_hd                 ffv1                    libx265                 pcm_alaw                pcm_s8                  r10k                    svq1                    wmav2
adpcm_adx               ass                     ffvhuff                 ljpeg                   pcm_bluray              pcm_s8_planar           r210                    targa                   wmv1
adpcm_argo              asv1                    fits                    magicyuv                pcm_dvd                 pcm_u16be               ra_144                  text                    wmv2
adpcm_g722              asv2                    flac                    mjpeg                   pcm_f32be               pcm_u16le               rawvideo                tiff                    wrapped_avframe
adpcm_g726              avrp                    flv                     mjpeg_rkmpp             pcm_f32le               pcm_u24be               roq                     truehd                  xbm
adpcm_g726le            avui                    g723_1                  mlp                     pcm_f64be               pcm_u24le               roq_dpcm                tta                     xface
adpcm_ima_alp           ayuv                    gif                     movtext                 pcm_f64le               pcm_u32be               rpza                    ttml                    xsub
adpcm_ima_amv           bitpacked               h261                    mp2                     pcm_mulaw               pcm_u32le               rv10                    utvideo                 xwd
adpcm_ima_apm           bmp                     h263                    mp2fixed                pcm_s16be               pcm_u8                  rv20                    v210                    y41p
adpcm_ima_qt            cfhd                    h263_v4l2m2m            mpeg1video              pcm_s16be_planar        pcm_vidc                s302m                   v308                    yuv4
adpcm_ima_ssi           cinepak                 h263p                   mpeg2video              pcm_s16le               pcx                     sbc                     v408
adpcm_ima_wav           cljr                    h264_rkmpp              mpeg4                   pcm_s16le_planar        pfm                     sgi                     v410
adpcm_ima_ws            comfortnoise            h264_v4l2m2m            mpeg4_v4l2m2m           pcm_s24be               pgm                     smc                     vbn
adpcm_ms                dca                     hdr                     msmpeg4v2               pcm_s24daud             pgmyuv                  snow                    vc2
adpcm_swf               dfpwm                   hevc_rkmpp              msmpeg4v3               pcm_s24le               phm                     sonic                   vnull
adpcm_yamaha            dnxhd                   hevc_v4l2m2m            msrle                   pcm_s24le_planar        ppm                     sonic_ls                vorbis
alac                    dpx                     huffyuv                 msvideo1                pcm_s32be               prores                  speedhq                 vp8_v4l2m2m

Enabled hwaccels:

Enabled parsers:
aac                     avs3                    dnxhd                   evc                     h261                    jpegxl                  opus                    tak                     webp
aac_latm                bmp                     dolby_e                 flac                    h263                    misc4                   png                     vc1                     xbm
ac3                     cavsvideo               dpx                     ftr                     h264                    mjpeg                   pnm                     vorbis                  xma
adx                     cook                    dvaudio                 g723_1                  hdr                     mlp                     qoi                     vp3                     xwd
amr                     cri                     dvbsub                  g729                    hevc                    mpeg4video              rv34                    vp8
av1                     dca                     dvd_nav                 gif                     ipu                     mpegaudio               sbc                     vp9
avs2                    dirac                   dvdsub                  gsm                     jpeg2000                mpegvideo               sipr                    vvc

Enabled demuxers:
aa                      avr                     dv                      idf                     image_vbn_pipe          moflex                  pcm_s16be               sbg                     txd
aac                     avs                     dvbsub                  iff                     image_webp_pipe         mov                     pcm_s16le               scc                     ty
aax                     avs2                    dvbtxt                  ifv                     image_xbm_pipe          mp3                     pcm_s24be               scd                     usm
ac3                     avs3                    dxa                     ilbc                    image_xpm_pipe          mpc                     pcm_s24le               sdns                    v210
ac4                     bethsoftvid             ea                      image2                  image_xwd_pipe          mpc8                    pcm_s32be               sdp                     v210x
ace                     bfi                     ea_cdata                image2_alias_pix        ingenient               mpegps                  pcm_s32le               sdr2                    vag
acm                     bfstm                   eac3                    image2_brender_pix      ipmovie                 mpegts                  pcm_s8                  sds                     vc1
act                     bink                    epaf                    image2pipe              ipu                     mpegtsraw               pcm_u16be               sdx                     vc1t
adf                     binka                   evc                     image_bmp_pipe          ircam                   mpegvideo               pcm_u16le               segafilm                vividas
adp                     bintext                 ffmetadata              image_cri_pipe          iss                     mpjpeg                  pcm_u24be               ser                     vivo
ads                     bit                     filmstrip               image_dds_pipe          iv8                     mpl2                    pcm_u24le               sga                     vmd
adx                     bitpacked               fits                    image_dpx_pipe          ivf                     mpsub                   pcm_u32be               shorten                 vobsub
aea                     bmv                     flac                    image_exr_pipe          ivr                     msf                     pcm_u32le               siff                    voc
afc                     boa                     flic                    image_gem_pipe          jacosub                 msnwc_tcp               pcm_u8                  simbiosis_imx           vpk
aiff                    bonk                    flv                     image_gif_pipe          jpegxl_anim             msp                     pcm_vidc                sln                     vplayer
aix                     brstm                   fourxm                  image_hdr_pipe          jv                      mtaf                    pdv                     smacker                 vqf
alp                     c93                     frm                     image_j2k_pipe          kux                     mtv                     pjs                     smjpeg                  vvc
amr                     caf                     fsb                     image_jpeg_pipe         kvag                    musx                    pmp                     smush                   w64
amrnb                   cavsvideo               fwse                    image_jpegls_pipe       laf                     mv                      pp_bnk                  sol                     wady
amrwb                   cdg                     g722                    image_jpegxl_pipe       live_flv                mvi                     pva                     sox                     wav
anm                     cdxl                    g723_1                  image_pam_pipe          lmlm4                   mxf                     pvf                     spdif                   wavarc
apac                    cine                    g726                    image_pbm_pipe          loas                    mxg                     qcp                     srt                     wc3
apc                     codec2                  g726le                  image_pcx_pipe          lrc                     nc                      r3d                     stl                     webm_dash_manifest
ape                     codec2raw               g729                    image_pfm_pipe          luodat                  nistsphere              rawvideo                str                     webvtt
apm                     concat                  gdv                     image_pgm_pipe          lvf                     nsp                     realtext                subviewer               wsaud
apng                    data                    genh                    image_pgmyuv_pipe       lxf                     nsv                     redspark                subviewer1              wsd
aptx                    daud                    gif                     image_pgx_pipe          m4v                     nut                     rka                     sup                     wsvqa
aptx_hd                 dcstr                   gsm                     image_phm_pipe          matroska                nuv                     rl2                     svag                    wtv
aqtitle                 derf                    gxf                     image_photocd_pipe      mca                     obu                     rm                      svs                     wv
argo_asf                dfa                     h261                    image_pictor_pipe       mcc                     ogg                     roq                     swf                     wve
argo_brp                dfpwm                   h263                    image_png_pipe          mgsts                   oma                     rpl                     tak                     xa
argo_cvg                dhav                    h264                    image_ppm_pipe          microdvd                osq                     rsd                     tedcaptions             xbin
asf                     dirac                   hca                     image_psd_pipe          mjpeg                   paf                     rso                     thp                     xmd
asf_o                   dnxhd                   hcom                    image_qdraw_pipe        mjpeg_2000              pcm_alaw                rtp                     threedostr              xmv
ass                     dsf                     hevc                    image_qoi_pipe          mlp                     pcm_f32be               rtsp                    tiertexseq              xvag
ast                     dsicin                  hls                     image_sgi_pipe          mlv                     pcm_f32le               s337m                   tmv                     xwma
au                      dss                     hnm                     image_sunrast_pipe      mm                      pcm_f64be               sami                    truehd                  yop
av1                     dts                     ico                     image_svg_pipe          mmf                     pcm_f64le               sap                     tta                     yuv4mpegpipe
avi                     dtshd                   idcin                   image_tiff_pipe         mods                    pcm_mulaw               sbc                     tty

Enabled muxers:
a64                     avi                     evc                     h263                    matroska_audio          mxf                     pcm_s24le               sap                     ttml
ac3                     avif                    f4v                     h264                    md5                     mxf_d10                 pcm_s32be               sbc                     uncodedframecrc
ac4                     avm2                    ffmetadata              hash                    microdvd                mxf_opatom              pcm_s32le               scc                     vc1
adts                    avs2                    fifo                    hds                     mjpeg                   null                    pcm_s8                  segafilm                vc1t
adx                     avs3                    fifo_test               hevc                    mkvtimestamp_v2         nut                     pcm_u16be               segment                 voc
aiff                    bit                     filmstrip               hls                     mlp                     obu                     pcm_u16le               smjpeg                  vvc
alp                     caf                     fits                    ico                     mmf                     oga                     pcm_u24be               smoothstreaming         w64
amr                     cavsvideo               flac                    ilbc                    mov                     ogg                     pcm_u24le               sox                     wav
amv                     codec2                  flv                     image2                  mp2                     ogv                     pcm_u32be               spdif                   webm
apm                     codec2raw               framecrc                image2pipe              mp3                     oma                     pcm_u32le               spx                     webm_chunk
apng                    crc                     framehash               ipod                    mp4                     opus                    pcm_u8                  srt                     webm_dash_manifest
aptx                    dash                    framemd5                ircam                   mpeg1system             pcm_alaw                pcm_vidc                stream_segment          webp
aptx_hd                 data                    g722                    ismv                    mpeg1vcd                pcm_f32be               psp                     streamhash              webvtt
argo_asf                daud                    g723_1                  ivf                     mpeg1video              pcm_f32le               rawvideo                sup                     wsaud
argo_cvg                dfpwm                   g726                    jacosub                 mpeg2dvd                pcm_f64be               rm                      swf                     wtv
asf                     dirac                   g726le                  kvag                    mpeg2svcd               pcm_f64le               roq                     tee                     wv
asf_stream              dnxhd                   gif                     latm                    mpeg2video              pcm_mulaw               rso                     tg2                     yuv4mpegpipe
ass                     dts                     gsm                     lrc                     mpeg2vob                pcm_s16be               rtp                     tgp
ast                     dv                      gxf                     m4v                     mpegts                  pcm_s16le               rtp_mpegts              truehd
au                      eac3                    h261                    matroska                mpjpeg                  pcm_s24be               rtsp                    tta

Enabled protocols:
async                   crypto                  file                    http                    mmsh                    rtmp                    subfile                 udplite
cache                   data                    ftp                     httpproxy               mmst                    rtmpt                   tcp                     unix
concat                  fd                      gopher                  icecast                 pipe                    rtp                     tee
concatf                 ffrtmphttp              hls                     md5                     prompeg                 srtp                    udp

Enabled filters:
a3dscope                amix                    axcorrelate             crop                    field                   interleave              oscilloscope            setparams               testsrc
abench                  amovie                  backgroundkey           cropdetect              fieldhint               join                    overlay                 setpts                  testsrc2
abitscope               amplify                 bandpass                crossfeed               fieldmatch              kerndeint               overlay_rkrga           setrange                thistogram
acompressor             amultiply               bandreject              crystalizer             fieldorder              kirsch                  owdenoise               setsar                  threshold
acontrast               anequalizer             bass                    cue                     fifo                    lagfun                  pad                     settb                   thumbnail
acopy                   anlmdn                  bbox                    curves                  fillborders             latency                 pal100bars              shear                   tile
acrossfade              anlmf                   bench                   datascope               find_rect               lenscorrection          pal75bars               showcqt                 tiltshelf
acrossover              anlms                   bilateral               dblur                   firequalizer            life                    palettegen              showcwt                 tinterlace
acrusher                anoisesrc               biquad                  dcshift                 flanger                 limitdiff               paletteuse              showfreqs               tlut2
acue                    anull                   bitplanenoise           dctdnoiz                floodfill               limiter                 pan                     showinfo                tmedian
addroi                  anullsink               blackdetect             deband                  format                  loop                    perms                   showpalette             tmidequalizer
adeclick                anullsrc                blackframe              deblock                 fps                     loudnorm                perspective             showspatial             tmix
adeclip                 apad                    blend                   decimate                framepack               lowpass                 phase                   showspectrum            tonemap
adecorrelate            aperms                  blockdetect             deconvolve              framerate               lowshelf                photosensitivity        showspectrumpic         tpad
adelay                  aphasemeter             blurdetect              dedot                   framestep               lumakey                 pixdesctest             showvolume              transpose
adenorm                 aphaser                 bm3d                    deesser                 freezedetect            lut                     pixelize                showwaves               treble
aderivative             aphaseshift             boxblur                 deflate                 freezeframes            lut1d                   pixscope                showwavespic            tremolo
adrawgraph              apsnr                   bwdif                   deflicker               fspp                    lut2                    pp                      shuffleframes           trim
adrc                    apsyclip                cas                     dejudder                gblur                   lut3d                   pp7                     shufflepixels           unpremultiply
adynamicequalizer       apulsator               ccrepack                delogo                  geq                     lutrgb                  premultiply             shuffleplanes           unsharp
adynamicsmooth          arealtime               cellauto                derain                  gradfun                 lutyuv                  prewitt                 sidechaincompress       untile
aecho                   aresample               channelmap              deshake                 gradients               mandelbrot              pseudocolor             sidechaingate           uspp
aemphasis               areverse                channelsplit            despill                 graphmonitor            maskedclamp             psnr                    sidedata                v360
aeval                   arls                    chorus                  detelecine              grayworld               maskedmax               pullup                  sierpinski              vaguedenoiser
aevalsrc                arnndn                  chromahold              dialoguenhance          greyedge                maskedmerge             qp                      signalstats             varblur
aexciter                asdr                    chromakey               dilation                guided                  maskedmin               random                  signature               vectorscope
afade                   asegment                chromanr                displace                haas                    maskedthreshold         readeia608              silencedetect           vflip
afdelaysrc              aselect                 chromashift             dnn_classify            haldclut                maskfun                 readvitc                silenceremove           vfrdet
afftdn                  asendcmd                ciescope                dnn_detect              haldclutsrc             mcdeint                 realtime                sinc                    vibrance
afftfilt                asetnsamples            codecview               dnn_processing          hdcd                    mcompand                remap                   sine                    vibrato
afifo                   asetpts                 color                   doubleweave             headphone               median                  removegrain             siti                    vif
afir                    asetrate                colorbalance            drawbox                 hflip                   mergeplanes             removelogo              smartblur               vignette
afireqsrc               asettb                  colorchannelmixer       drawgraph               highpass                mestimate               repeatfields            smptebars               virtualbass
afirsrc                 ashowinfo               colorchart              drawgrid                highshelf               metadata                replaygain              smptehdbars             vmafmotion
aformat                 asidedata               colorcontrast           drmeter                 hilbert                 midequalizer            reverse                 sobel                   volume
afreqshift              asisdr                  colorcorrect            dynaudnorm              histeq                  minterpolate            rgbashift               spectrumsynth           volumedetect
afwtdn                  asoftclip               colorhold               earwax                  histogram               mix                     rgbtestsrc              speechnorm              vpp_rkrga
agate                   aspectralstats          colorize                ebur128                 hqdn3d                  monochrome              roberts                 split                   vstack
agraphmonitor           asplit                  colorkey                edgedetect              hqx                     morpho                  rotate                  spp                     w3fdif
ahistogram              astats                  colorlevels             elbg                    hstack                  movie                   sab                     sr                      waveform
aiir                    astreamselect           colormap                entropy                 hsvhold                 mpdecimate              scale                   ssim                    weave
aintegral               asubboost               colormatrix             epx                     hsvkey                  mptestsrc               scale2ref               ssim360                 xbr
ainterleave             asubcut                 colorspace              eq                      hue                     msad                    scale_rkrga             stereo3d                xcorrelate
alatency                asupercut               colorspectrum           equalizer               huesaturation           multiply                scdet                   stereotools             xfade
alimiter                asuperpass              colortemperature        erosion                 hwdownload              negate                  scharr                  stereowiden             xmedian
allpass                 asuperstop              compand                 estdif                  hwmap                   nlmeans                 scroll                  streamselect            xstack
allrgb                  atadenoise              compensationdelay       exposure                hwupload                nnedi                   segment                 super2xsai              yadif
allyuv                  atempo                  concat                  extractplanes           hysteresis              noformat                select                  superequalizer          yaepblur
aloop                   atilt                   convolution             extrastereo             identity                noise                   selectivecolor          surround                yuvtestsrc
alphaextract            atrim                   convolve                fade                    idet                    normalize               sendcmd                 swaprect                zoneplate
alphamerge              avectorscope            copy                    feedback                il                      null                    separatefields          swapuv                  zoompan
amerge                  avgblur                 corr                    fftdnoiz                inflate                 nullsink                setdar                  tblend
ametadata               avsynctest              cover_rect              fftfilt                 interlace               nullsrc                 setfield                telecine

Enabled bsfs:
aac_adtstoasc           dca_core                evc_frame_merge         h264_redundant_pps      media100_to_mjpegb      mpeg2_metadata          pcm_rechunk             text2movsub             vp9_superframe
av1_frame_merge         dts2pts                 extract_extradata       hapqa_extract           mjpeg2jpeg              mpeg4_unpack_bframes    pgs_frame_merge         trace_headers           vp9_superframe_split
av1_frame_split         dump_extradata          filter_units            hevc_metadata           mjpega_dump_header      noise                   prores_metadata         truehd_core             vvc_metadata
av1_metadata            dv_error_marker         h264_metadata           hevc_mp4toannexb        mov2textsub             null                    remove_extradata        vp9_metadata            vvc_mp4toannexb
chomp                   eac3_core               h264_mp4toannexb        imx_dump_header         mp3_header_decompress   opus_metadata           setts                   vp9_raw_reorder

Enabled indevs:
fbdev                   kmsgrab                 lavfi                   oss                     v4l2

Enabled outdevs:
fbdev                   oss                     v4l2

License: GPL version 3 or later
root@7b108f530ecc:~/ffmpeg-rockchip#

image-20250531110435456.webp

编译目录下的ffmpeg可执行文件就是结果,可以直接查看编、解码器格式支持,比如Rockchip MPP (Media Process Platform) xxx decoder

root@7b108f530ecc:~/ffmpeg-rockchip# ./ffmpeg -decoders | grep rkmpp
ffmpeg version 57d5befee9 Copyright (c) 2000-2023 the FFmpeg developers
  built with gcc 9 (Ubuntu 9.4.0-1ubuntu1~20.04.2)
  configuration: --prefix=/usr --enable-gpl --enable-version3 --enable-libdrm --enable-rkmpp --enable-rkrga
  libavutil      58. 29.100 / 58. 29.100
  libavcodec     60. 31.102 / 60. 31.102
  libavformat    60. 16.100 / 60. 16.100
  libavdevice    60.  3.100 / 60.  3.100
  libavfilter     9. 12.100 /  9. 12.100
  libswscale      7.  5.100 /  7.  5.100
  libswresample   4. 12.100 /  4. 12.100
  libpostproc    57.  3.100 / 57.  3.100
 V..... av1_rkmpp            Rockchip MPP (Media Process Platform) AV1 decoder (codec av1)
 V..... h263_rkmpp           Rockchip MPP (Media Process Platform) H263 decoder (codec h263)
 V..... h264_rkmpp           Rockchip MPP (Media Process Platform) H264 decoder (codec h264)
 V..... hevc_rkmpp           Rockchip MPP (Media Process Platform) HEVC decoder (codec hevc)
 V..... mpeg1_rkmpp          Rockchip MPP (Media Process Platform) MPEG1VIDEO decoder (codec mpeg1video)
 V..... mpeg2_rkmpp          Rockchip MPP (Media Process Platform) MPEG2VIDEO decoder (codec mpeg2video)
 V..... mpeg4_rkmpp          Rockchip MPP (Media Process Platform) MPEG4 decoder (codec mpeg4)
 V..... vp8_rkmpp            Rockchip MPP (Media Process Platform) VP8 decoder (codec vp8)
 V..... vp9_rkmpp            Rockchip MPP (Media Process Platform) VP9 decoder (codec vp9)
 
# 查看h264_rkmpp
root@7b108f530ecc:~/ffmpeg-rockchip# ./ffmpeg -h encoder=h264_rkmpp
ffmpeg version 57d5befee9 Copyright (c) 2000-2023 the FFmpeg developers
  built with gcc 9 (Ubuntu 9.4.0-1ubuntu1~20.04.2)
  configuration: --prefix=/usr --enable-gpl --enable-version3 --enable-libdrm --enable-rkmpp --enable-rkrga
  libavutil      58. 29.100 / 58. 29.100
  libavcodec     60. 31.102 / 60. 31.102
  libavformat    60. 16.100 / 60. 16.100
  libavdevice    60.  3.100 / 60.  3.100
  libavfilter     9. 12.100 /  9. 12.100
  libswscale      7.  5.100 /  7.  5.100
  libswresample   4. 12.100 /  4. 12.100
  libpostproc    57.  3.100 / 57.  3.100
Encoder h264_rkmpp [Rockchip MPP (Media Process Platform) H264 encoder]:
    General capabilities: delay hardware
    Threading capabilities: none
    Supported hardware devices: rkmpp rkmpp drm
    Supported pixel formats: gray yuv420p yuvj420p yuv422p yuvj422p yuv444p yuvj444p nv12 nv21 nv16 nv24 yuyv422 yvyu422 uyvy422 rgb24 bgr24 rgba rgb0 bgra bgr0 argb 0rgb abgr 0bgr drm_prime
h264_rkmpp_encoder AVOptions:
  -rc_mode           <int>        E..V....... Set the encoding rate control mode (from 0 to 5) (default 5)
     VBR             0            E..V.......
     CBR             1            E..V.......
     CQP             2            E..V.......
     AVBR            3            E..V.......
  -qp_init           <int>        E..V....... Set the initial QP value (from -1 to 51) (default -1)
  -qp_max            <int>        E..V....... Set the max QP value for P and B frame (from -1 to 51) (default -1)
  -qp_min            <int>        E..V....... Set the min QP value for P and B frame (from -1 to 51) (default -1)
  -qp_max_i          <int>        E..V....... Set the max QP value for I frame (from -1 to 51) (default -1)
  -qp_min_i          <int>        E..V....... Set the min QP value for I frame (from -1 to 51) (default -1)
  -profile           <int>        E..V....... Set the encoding profile restriction (from -1 to 100) (default high)
     baseline        66           E..V.......
     main            77           E..V.......
     high            100          E..V.......
  -level             <int>        E..V....... Set the encoding level restriction (from -99 to 62) (default 0)
     1               10           E..V.......
     1.1             11           E..V.......
     1.2             12           E..V.......
     1.3             13           E..V.......
     2               20           E..V.......
     2.1             21           E..V.......
     2.2             22           E..V.......
     3               30           E..V.......
     3.1             31           E..V.......
     3.2             32           E..V.......
     4               40           E..V.......
     4.1             41           E..V.......
     4.2             42           E..V.......
     5               50           E..V.......
     5.1             51           E..V.......
     5.2             52           E..V.......
     6               60           E..V.......
     6.1             61           E..V.......
     6.2             62           E..V.......
  -coder             <int>        E..V....... Set the entropy coder type (from 0 to 1) (default cabac) (from 0 to 1) (default cabac)
     cavlc           0            E..V.......
     cabac           1            E..V.......
  -8x8dct            <boolean>    E..V....... Set the high profile 8x8 transform (default true)
  -udu_sei           <boolean>    E..V....... Pass on user data unregistered SEI if available (default false)
  -prefix_mode       <boolean>    E..V....... Add prefix NAL between SEI info and encoded bitstream data (default false)
文章目录