RK3288下如何实现虚拟摄像头。

提示:安卓、RK3288、虚拟摄像头

文章目录

  • 前言
  • 一、v4l2loopback是什么
  • ffmepg是什么
  • 三、ubuntu环境准备
  • 四、安卓源代码编译环境准备
  • 五、RK3288开发环境准备
  • 六、编译v4l2loopback。
  • 七、编译ffmepg
  • 八、编译安卓源代码
  • 九、v4l2loopback移植到RK3288上
  • 十、创建测试APP。
  • 十一、修改安卓系统相机源代码与编译。
  • 总结
  • 注意事项


前言

提示:由于项目技术要求,需要在RK3288开发板安卓5.1上实现虚拟摄像头,同时能够实现自定义播放视频内容,例如本地视频文件,rtsp视频流等。

自从接到项目后,经过二个星期的技术攻关,完美实现,现总结实现过程内容,以作备忘之用与技术积累、同时让有需求朋友可以参考少走坑坑洼洼。

本实现过程内容涉及的技术范畴比较广:ubuntu 14.0.4、安卓5.1源代码、安卓系统相机、v4l2loopback(虚拟摄像头)、rk3288 firefly开发板、ffmepg、android studio2020.3.1等等。为了少走弯路,我尽量在内容里把细节关键点内容会加上。

由于技术项目的保密性,应用场景我就不说了,网友们可以自已参考应用场景,这里主要是实现过程的记录。

关键性代码,如果有需要,可以私聊我。


一、v4l2loopback是什么?

v4l2loopback是一个在Linux下轻松实现虚拟摄像头的开源模块。

github地址:GitHub - umlaeute/v4l2loopback: v4l2-loopback devicev4l2-loopback device . Contribute to umlaeute/v4l2loopback development by creating an account on GitHub.https://github.com/umlaeute/v4l2loopback注:在Linux下与安卓系统下使用方法与编译方法都是不一样的。后面章节会介绍到。

本项目v4l2loopback版本是最新版本。

二、ffmepg是什么?

FFmpeg是一款集音视频编解码、录制、播放、格式转换等功能为一体的多媒体开发套件,它为开发者提供了丰富的音视频处理的调用接口。FFmpeg提供丰富的命令行方式,本项目部分功能都是在其下实现的。在这里首先感谢本项目组彪哥的支持,因为彪哥之前项目使用过ffmpeg实现过转流。

本项目FFmpeg使用版本是4.1.4 。

三、Ubuntu 环境准备

项目里的ffmepg、v4l2loopback、还有安卓源代码需要ubuntu环境进行编译,在这个项目我们选择ubuntu 14.04 LTS 64位作为编译环境,VMware® Workstation10.0.0 build-1295980是我们虚拟机版本号,到网上下载好ubuntu 14.04 LTS 64位, 就可以安装了。虚拟机硬件参数设置如下:

顺便提一下,我的硬盘是固态硬盘,因为我试过,如果用机械硬盘的话,编译安卓源代码的话,慢得要哭。为了赶进度,我们重新购了一台新的笔记本电脑。

安装好后,执行以下工作内容:

 (1)开启root密码:
      sudo passwd root
      注:输入root密码。确认退出,以后所有编译工作都是在root用户进行,最好不要开通root登录界面工作,因为我试过,开通后,用root登录进不了系统(为了省事,就没有折腾,重装算了)。
 (2)、更新sources.list
  vi /etc/apt/sources.list // 打开文件。输入以下内容。Ubuntu缺省的配置的源并不是国内的服务器,下载更新软件都比较慢,所以要换成aliyun的。
    deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse

(3)、sudo apt-get update
(4)、sudo apt-get install alien
(5)、sudo apt-get install software-properties-common python-software-properties
(6)、sudo add-apt-repository ppa:webupd8team/java
(7)、sudo apt-cache search jdk //可以查找当前有哪个版本的jdk,我安装的是openjdk-7-jdk
(8)、sudo apt-get install openjdk-7-jdk
(9)、sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev
(10)、sudo apt-get install libesd0-dev libwxgtk2.8-dev squashfs-tools build-essential zip curl
(11)、sudo apt-get install libncurses5-dev zlib1g-dev pngcrush schedtool libxml2 libxml2-utils
(12)、sudo apt-get install xsltproc lzop libc6-dev schedtool g++-multilib lib32z1-dev lib32ncurses5-dev
(13)、sudo apt-get install lib32readline-gplv2-dev gcc-multilib libswitch-perl
(14)、sudo apt-get install libssl1.0.0 libssl-dev

  

请稍等、待续...2022-08-10 Open

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值