解码数据通过opengl绘制,通常采用NV12格式,从而成功实现对RKMPP硬解的支持。在这里,我们展示了如何轻松实现对RKMPP硬解的支持。通过模块化开发方法,我们仅需替换相应的ffmpeg库,即可完成这一扩展。在编译并替换为支持RKMPP的ffmpeg库后,用户在进行硬解时只需选择RKMPP选项,即可享受与原有dxva2/d3d11va完全一致的...
Oct1812:26:06linaro-alip mpp[2150]:mpi_dec_test:0x55aceed120decoder require buffer w:h[640:480]stride[640:480]buf_size614400Oct1812:26:06linaro-alip mpp[2150]:mpi_dec_test:0x55aceed120decodegetframe0Oct1812:26:06linaro-alip mpp[2150]:mpi_dec_test:0x55aceed120decodegetframe1Oct1812:...
只需要替换这个组件的代码就行,一般就是一个pri带一个目录,同理监控内核ffmpeg模块也是如此,于是抽空将对RKMPP硬解的支持也加入了其中,这其中的关键并不是使用硬解解码部分,后面捣鼓下来发现关键是要编译一个支持RKMPP硬解的ffmpeg库就行(https://github.com/nyanmisaka/ffmpeg-rockchip),把这个库...
在这种情况下,MPP 可以直接按包处理码流,是 MPP 的默认运行情况。 分帧 按长度读取的数据,这样的数据无法判断一包 MppPacket 数据是否是完整的一帧,需要 MPP 内部进行分帧处理。MPP 也可以支持这种形式的输入,但需要在 mpp_init 之前,通过 control 接口的 MPP_DEC_SET_PARSER_SPLIT_MODE 命令,MPP 内的 need_...
MPP_VIDEO_CodingMJPEG : MJPEG 等等,详细参看rk_mpi.h定义4. 解码的话到这里初始化就完成了,编码的话需要多设置一些参数设置编码宽高、对齐后宽高参数mPrepCfg.change = MPP_ENC_PREP_CFG_CHANGE_INPUT | MPP_ENC_PREP_CFG_CHANGE_FORMAT; mPrepCfg.width = mWidth; mPrepCfg.height = mHeight; mPre...
上一篇项目已经构建好了Qt,板子接入mipi屏幕也跑起来了,Qt也能正常运行了,现在需要接入定制开发的sdk,sdk中使用了硬解码等资源涉及到bsp的mpp,所以下一步就是引入mpp和sdk到Qt开发环境中,从而Qt中可以调用sdk接口进行进一步的应用结合开发了。 注意 ...
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 \ -DCMAKE_SYSTEM_NAME=Linux \ -DC...
因项目要求,需要在RK3399pro上实现RTSP的推流,Live555本身已经实现了本地视频的服务端程序样例,本文主要是基于瑞芯微的MPP编解码+live555实现RTSP的服务端程序,功能基本完成了,怕忘记所以记录一下。 前期准备 编译MPP 首先下载MPP源码(瑞芯微github有最新版),我为了兼容自己的程序,使用的是SDK中的mpp版本。
硬件环境: ArmSoM-W3 RK3588开发板软件版本: OS:ArmSoM-W3 Debian11 3. RK3588 MPP环境配置 3.1. 下载安装rkmpp 从github下载mpp包: git clone https://github.com/rockchip-linux/mpp.git编译安装cd mpp/build/linux/aarch64 ./make-Makefiles.bash make -j8 sudo make install 3.2. 安装完成:...
MPP_VIDEO_CodingMJPEG : MJPEG 等等,详细参看rk_mpi.h定义 4. 解码的话到这里初始化就完成了,编码...