Firefly开源社区

12345... 10
发表新贴

【技术分享】Firefly-RK3288多路视频编解码技术案例源码发布啦~

888

积分

4

威望

0

贡献

技术大神

Rank: 3Rank: 3

积分
888
发表于 2016-7-28 17:46:56     
本帖最后由 Livvol 于 2018-1-30 15:07 编辑

如题,这次给大家带来的是rk3288多路视频编解码技术案例的源码,视频效果如下:
           
这个多路编解码案例主要同时有五路h264硬解码和两路h264硬编码。具体实现是播放三个经h264解码mp4视频,同时从两个uvc摄像头采集数据并进行h264编码再解码显示。所用的平台是fireflyrk3288开发板,系统是android4.4。以下是效果截图:
实现思路
1.使用androidVideoView播放三个经h264解码的mp4视频。
2.创建一个android系统服务uvcserver管理uvcandroid应用通过jniuvc通信,采集视频数据。然后,使用androidMediaCodec进行h264硬编码,再通过h264硬解码,并渲染出来。
3.以上功能同时进行,一共是五路h264硬编码和两路h264硬解码。

实现方法
在sdk下编译所需库和执行文件:
1、将文件夹uvc复制到frameworks/av/目录下
2、进入frameworks/av/uvc,运行mm -B进行编译

确保以下文件已经生成:
out/target/product/rk3288_box/system/bin/uvcserver
out/target/product/rk3288_box/system/lib/libmp4v2.so
out/target/product/rk3288_box/system/lib/libuvc-bunchen-jni.so

添加Android系统服务
1、打开编辑device/rockchip/rksdk/init.rc
2、添加系统服务:
    service uvcd /system/bin/uvcserver
        class main
        user root
        group system audio camera inet net_bt net_bt_admin net_bw_acct drmrpc mediadrm
        ioprio rt 4

更换libRkOMX_Resourcemanager.so:
Android 4.4可以直接打补丁:0001-Android-vpu-omx-support-5-decodes-and-2-encodes.patch
其他版本的可以自己在相应位置手动替换。

之后就可以编译sdk,打包生成img文件烧到板子上即可。

接下来就是安装MultiCodecs.apk:
1、路径:MultiCodecs/bin/MultiCodecs.apk
2、通过adb install安装或者拷贝apk到板子上安装都可



如果一切顺利,那么接着就可以准备三个mp4格式的视频,分别命名为video1.mp4,video2.mp4,video3.mp4,并拷贝到板子/mnt/sdcard/下面。然后插上两个uvc摄像头,运行MultiCodecs,就能看到效果了。相信我,你会被firefly-rk3288的强大性能惊艳到的。
上面所说到的uvc源码和MultiCodecs Apk源码均已分享,大家慢慢享用吧{:2_27:}~
当然,这只是一个简单的例子,仅供参考。大家如果对多路编解码感兴趣,可以参考这个例子,开发出更多实用性强,功能强大的应用。如果可以的话,欢迎来社区多多分享~

更新源码下载地址,点此下载


回复

使用道具 举报

129

积分

0

威望

0

贡献

技术小白

积分
129
发表于 2016-7-29 10:33:55     
有没有ubuntu的?
回复

使用道具 举报

888

积分

4

威望

0

贡献

技术大神

Rank: 3Rank: 3

积分
888
发表于 2016-7-29 11:49:30     
Hailong 发表于 2016-7-29 10:33
有没有ubuntu的?

没有哦:hug:
回复

使用道具 举报

129

积分

0

威望

0

贡献

技术小白

积分
129
发表于 2016-7-29 14:57:33     

:'(:'(:'(
回复

使用道具 举报

888

积分

4

威望

0

贡献

技术大神

Rank: 3Rank: 3

积分
888
发表于 2016-7-29 17:34:48     

自己动手丰衣足食也是可以的,相信自己:lol
回复

使用道具 举报

129

积分

0

威望

0

贡献

技术小白

积分
129
发表于 2016-7-30 11:20:16     
[quote][url=forum.php?mod=redirect&goto=findpost&pid=22588&ptid=10605]Livvol 鍙戣〃浜
回复

使用道具 举报

129

积分

0

威望

0

贡献

技术小白

积分
129
发表于 2016-7-30 11:20:33     
[quote][url=forum.php?mod=redirect&goto=findpost&pid=22588&ptid=10605]Livvol 鍙戣〃浜
回复

使用道具 举报

888

积分

4

威望

0

贡献

技术大神

Rank: 3Rank: 3

积分
888
发表于 2016-8-1 15:30:11     
Hailong 发表于 2016-7-30 11:20
[quote]Livvol 鍙戣〃浜

:o什么东东
回复

使用道具 举报

31

积分

0

威望

0

贡献

技术小白

积分
31
发表于 2016-8-1 17:45:39     
请问下编译uvc是在内核编译前还是后呢?

编译遇到错误:
*** 没有规则可以创建“out/target/product/rk3288_box/obj/SHARED_LIBRARIES/libuvc-bunchen-jni_intermediates/import_includes”需要的目标“out/target/product/rk3288_box/obj/SHARED_LIBRARIES/libandroid_runtime_intermediates/export_includes”。
回复

使用道具 举报

2963

积分

12

威望

22

贡献

高级创客

Rank: 6Rank: 6

积分
2963
发表于 2016-8-2 10:03:48     
kuangye1988 发表于 2016-8-1 17:45
请问下编译uvc是在内核编译前还是后呢?

编译遇到错误:

可以直接模块编译uvc那部分试试
回复

使用道具 举报

返回列表
12345... 10
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表