`
xpenxpen
  • 浏览: 701906 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

利用DroidCam将手机摄像头打造成电脑摄像头

阅读更多
1.目的
现在许多同学的电脑上没有摄像头,但是随着智能手机的普及,大多数同学都有带摄像头的手机。而智能手机的摄像头比电脑的usb摄像头的效果好很多。那可不可以把手机摄像头用在电脑上来网络聊天呢,其实这是可以的,这里我们需要借助DroidCam软件来让手机摄像头变成电脑摄像头。

2. 环境
本人亲测通过的软硬件环境:
安卓手机一部(小米1S)MIUI5(Android 4.1.2)
PC机一台(Windows 7)

DroidCam Client 5.0.1.exe
DroidCam 5.0.2.apk
adb 1.0.32

软件我都上传了,可在文末下载。

3. 步骤
3.1 首先在手机上安装DroidCam 5.0.2.apk

3.2 接着在电脑上安装DroidCam Client 5.0.1.exe
注意安装时需要联网下载声音驱动,这样手机的话筒还可以用来作为电脑的话筒使用。

本人之前试验过网上流传的DroidCam一个较老的版本1.4.2,结果发现这个版本分辨率只能支持320x240,而改用5.0版本以后分辨率可以达到640x480

3.3 将以下3个文件放入C:\Windows\System32
adb.exe
AdbWinApi.dll
AdbWinUsbApi.dll

注意adb的版本,本人之前试验多次失败的原因可能是adb版本太老,不支持安卓4.0。而换用adb 1.0.32后,就成功了。

>adb version
Android Debug Bridge version 1.0.32



3.4 连接摄像头
这里我只介绍通过USB方式连接摄像头。

3.4.1 设置手机,开发者选项-->打开USB调试
3.4.2 将手机数据线插入电脑的USB口。
3.4.3 显示要不要打开USB存储,这个无所谓,我们选择不打开就可以。
3.4.4 在电脑上关闭所有和安卓有关的程序,比如金山手机控,豌豆荚等等

3.4.5 电脑上打开命令行,输入
>adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
556607e8        device


出现以上信息代表没问题

然后输入
>adb forward tcp:4747 tcp:4747


如果失败,请检查是否有别的程序控制了安卓手机
输入
>netstat -ano | findstr "5037"
  TCP    127.0.0.1:5037         0.0.0.0:0              LISTENING       1704
  TCP    127.0.0.1:5037         127.0.0.1:52111        TIME_WAIT       0
  TCP    127.0.0.1:5037         127.0.0.1:52174        TIME_WAIT       0

这里可发现1704号进程使用了5037端口,很有可能1704号进程就是金山手机控,豌豆荚等等这类程序,请杀死它们。


3.4.6 以上都成功以后
打开手机端的DroidCam,再打开电脑端的DroidCam

3.4.7 电脑端选择USB图标,点击Start


OK了,可看到图像,成功了。

不用摄像头的时候电脑端记得按Stop,以节约手机的电量。

4. 测试(3款工具)
4.1 使用 Win7摄像头预览.exe
(附件testTool有下载)
设备推荐使用DroidCam Source 1

4.2 commandcam
(附件testTool有下载)
>commandcam /devlist
http://batchloaf.wordpress.com/CommandCam
This version 24-1-2013

Available capture devices:
  Device name: DroidCam Source 3
  Device name: DroidCam Source 1
  Device name: DroidCam Source 2
  Device name: DroidCam Source Mini (240p)


注意这里记下4个摄像头的顺序,它们的id分别为0,1,2,3。推荐用DroidCam Source 1,所以他的id为1,这个后面用java写摄像头程序有用。

4.3  FFmpeg
(由于程序太大,不附在附件里了,请去官网自行下载)

4.3.1 确认摄像头的名字
>ffmpeg -list_devices true -f dshow -i dummy
ffmpeg version N-69351-gfb34c58 Copyright (c) 2000-2015 the FFmpeg developers
  built on Jan 28 2015 02:25:52 with gcc 4.9.2 (GCC)
[dshow @ 003cf9a0]  "DroidCam Source 3"
[dshow @ 003cf9a0]     Alternative name "@device_pnp_\\?\root#media#0000#{65e877
3d-8f56-11d0-a3b9-00a0c9223196}\global"
[dshow @ 003cf9a0]  "DroidCam Source 1"
[dshow @ 003cf9a0]     Alternative name "@device_sw_{860BB310-5D01-11D0-BD3B-00A
0C911CE86}\{961A218F-3CA2-4041-98B1-066B8B33487E}"
[dshow @ 003cf9a0]  "DroidCam Source 2"
[dshow @ 003cf9a0]     Alternative name "@device_sw_{860BB310-5D01-11D0-BD3B-00A
0C911CE86}\{9E2FBAC0-C951-4AA8-BFA9-4B196644964C}"
[dshow @ 003cf9a0]  "DroidCam Source Mini (240p)"
[dshow @ 003cf9a0]     Alternative name "@device_sw_{860BB310-5D01-11D0-BD3B-00A
0C911CE86}\{FC9B8228-83D5-4C8D-8656-45CBA9E237FB}"
dummy: Immediate exit requested


4.3.2 确认分辨率
>ffmpeg -list_options true -f dshow -i video="DroidCam Source 1"
[dshow @ 037762c0] DirectShow video device options (from video devices)
[dshow @ 037762c0]  Pin "CapturePin" (alternative pin name "1")
[dshow @ 037762c0]   pixel_format=bgr24  min s=640x480 fps=0.2 max s=640x480 fps=50


这边确认分辨率是否是640x480,老版的DroidCam分辨率只能支持320x240

4.3.3 视频录制测试
>ffmpeg -f dshow -s 640x480 -i video="DroidCam Source 1" webcam.flv


注意按q退出。然后可发现一个文件webcam.flv,可以用播放器打开观赏我们刚刚录制的视频。

5. 摄像头可以用来干嘛
推荐学习Vision-based User Interface Programming in Java
这本书讲了如何用java来做摄像头程序和游戏。

  • 大小: 57.4 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics