瑞芯微Rockchip开发者社区
直播中

从未拥有

9年用户 974经验值
擅长:可编程逻辑 电源/新能源 光电显示
私信 关注
[问答]

请问一下怎样对RK3399PRO硬件H264进行编码呢

请问一下怎样对RK3399PRO硬件H264进行编码呢?

回帖(1)

孟佳

2022-3-4 14:11:00
平台:fedora(测试通过),debian(理论上差不多)

1,按照配置好环境,安装好官方驱动,其中需要对rga降低版本到1.0.1-10(sudo dnf install librockchip_rga-devel后执行dnf downgrade librockchip_rga-devel)。

2,DD_H264VideoFileServerMediaSubsession.cpp文件里面getAuxSDPLine函数

char const* DD_H264VideoFileServerMediaSubsession::getAuxSDPLine(RTPSink* rtpSink, FramedSource* inputSource)
{
          char const* auxSDPLine = rtpSink->auxSDPLine();
          if (auxSDPLine != NULL)
          {
                    return auxSDPLine;
          }
          else
          {
                    char const* fmtpFmt = "a=fmtp:%d packetization-mode=1"
                                              ";profile-level-id=000000"
                                              ";sprop-parameter-sets=H264rn";

                    unsigned fmtpFmtSize = strlen(fmtpFmt)+3/* max char len */;

                    char* fmtp = new char[fmtpFmtSize];
                    delete[] fAuxSDPLine;
                        //新增下面这一句
                        memcpy(fmtp,fmtpFmt,fmtpFmtSize*sizeof(char));
                    fAuxSDPLine = fmtp;
                    return fAuxSDPLine;
          }
}
3,以上就应该能够跑起来了,如果想要源码安装MPP库的话继续看下面。

4,源码安装mpp库:git clone -b release
载源码

git checkout 9cea46485932ae72b2b2e5332f0f79b29cd55a9b
切换到2019年5月份的一个版本上,在源码根目录上执行

cmake -DRKPLATFORM=ON -DHAVE_DRM=ON  -DCMAKE_INSTALL_PREFIX=/usr && make
sudo make install
6,源码安装live555库

注意这里使用sudo dnf install live555-devel安装的live555是旧版本的,推流的时候当视频size稍微大一点就会出现live555: The input frame data was too large for our buffer size 这样的bug,源码安装新版live555库就没有问题。

git clone
cd live555
./genMakefiles linux-with-shared-libraries
make -j8
make install
7,重新编译RTSP推流项目就OK了。



举报

更多回帖

发帖
×
20
完善资料,
赚取积分