参考:http://www.nljb.net/default/Rockchip%E4%B9%8BFFmpeg%E9%80%9A%E8%BF%87MPP%E7%A1%AC%E8%A7%A3%E5%B9%B6%E8%BD%AC%E5%82%A8/

http://t.rock-chips.com/forum.php?mod=viewthread&tid=336

http://blog.sina.com.cn/s/blog_a6559d920102ywia.html

说明:还需要验证,验证完成之后补充一些关键资料.

或者可以参考:

https://github.com/MUZLATAN/ffmpeg_rtsp_mpp

https://github.com/WainDing/mpp_linux_cpp

rockchip github资源

https://github.com/rockchip-linux

MPP开发包下载

https://github.com/rockchip-linux/mpp

ffmpeg下载

官网:
http://ffmpeg.org/

rockchip:
https://github.com/rockchip-linux/ffmpeg

ffmpeg 编译 

./configure --enable-version3 --enable-libdrm --enable-rkmpp --enable-libx264 --enable-nonfree --enable-gpl
make 
make instal

ffmpep解码器查看命令 

ffmpeg -decoders |grep h264_rkmpp


特别注意 
ffmpeg h264_rkmpp 解码获得的是 AV_PIX_FMT_DRM_PRIME 也就是 DRM 帧数据 ...
 

// 如果使用 drm 显示该帧可以直接 zero-copy 绘制帧 ...
// 通过以下操作把 drm 帧拷贝到内存并且转换为NV12 ...
pFrameOK->width = pFrame->width;
pFrameOK->height = pFrame->height;
pFrameOK->format = AV_PIX_FMT_NV12;
// 此时 pFrameOK 就是转储出来的 NV12 格式帧
av_hwframe_transfer_data(pFrameOK, pFrame, 0)

 

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐