背景
自打开了博客以后,一直在写技术说明文,今天打算写点程序以外的东西换换味口。前段时间在某鱼上以 300 元的价格入手了一套完整的 gopro3+ 运动摄像头,带一张 32G SD 卡,两块备用电池,一个无线遥控,以及 N 多配件:
相机本身支持 720p~4K 分辨率,不过 4K 的时候帧数已经比较渣了 (12.5 fps),最合适的还是 1080p,能到 24 帧及以上。
据说 gopro3+ 虽老 —— 最新的 gopro 版本已经到 10,不过价钱也非常感人,达到了 3000+ —— 画质也能完爆两三百的行车记录仪,于是想将它改造为一个摩托车记录仪,下面是探索的过程。
手机 App 连接
套件中自带 SD 读卡器,拍摄完的照片和视频可以直接在笔记本电脑读取 (要有 SD 卡插口),不过这种方式需要开电脑,使用起来不是特别方便,好在 gopro3+ 已经支持手机 App 连接,在 App 商城中下载一个名为 GoPro Quik 的软件即可。
第一次连接稍微费了点功夫,需要将 gopro3 的 wifi 连接设置为 app 模式并启动,手机侧需要开启蓝牙并配对,之后连上 gopro 的 wifi 就可以了 (以后打开 App 就会直接连接相机 wifi,不需要额外设置了)。在 wifi 列表里找了一圈,果然发现一个新增 wifi,但是名字有点奇怪 :luoquanyou,报着试试看的态度连接了一下,果然没有成功:
需要输入密码,想想也是,不能随便让别人访问你拍摄的内容是吧。网上搜了下,说默认密码是 goprohero,进不去;试了下 12356,不行;问了下卖家,对方表示时间长了忘记了,并安抚我说没有手机 app 也可以下载数据,最后提醒我快点确认收货,一次无效沟通。不过咱也是搞 IT 出身的,虽然装电脑不是特别在行,破解个 wifi 密码那还不是分分钟的事儿 ?
果然在网路上搜到了重置 gopro wifi 的方法,其实就是直接从官网下载固件+wifi 包,在电脑端通过文件复制覆盖 SD 卡中的内容,达到重置出厂设置的目的,顺便也就把 wifi 重置了。按照操作步骤一步步执行,走到下载文件这步空气凝固了:
“下载更新” 按钮一直是灰的,鼠标移上去是禁止标志。一开始以为是自己的网慢,耐心的等待了几分钟,然鹅没有任何变化;怀疑是 firefox 的锅,毕竟只有 4% 的用户在使用了,切换 chrome,然鹅没有改观;怀疑是 linux 笔记本有问题,换 windows 本试,然鹅结果一样…
做工如此精致的官网,你不能坑我啊。切换思路,看看网上有没有 mirror 站点,果然又搜到一篇文章,作者已经把下载好的 gopro3+ 固件上传到了 csdn,可以直接下载,然鹅需要 50 C币,果断放弃,之前被赚 C 币折磨的阴影还在,不能再掉坑里一次了~
就在一愁莫展的时候,无意间看到一篇文章,说 wifi 设置位于 setting.in 的文件,浏览 SD 卡文件,果然在根目录有这么个文件,打开一看:
{"current_password":"","token":"","wifi_ap":{"ssid":"luoquanyou","password":"12345678"},"wifi_networks":[]}
wifi 密码居然明文写在上面,真是踏破铁鞋无觅处,得来全不费功夫~
使用密码 12345678 成功连上了 wifi,话说这和我之前的尝试就差了两个数字嘛,好像明白了暴力破解为什么长盛不衰。
gopro3 的软件开发者留了一个安全漏洞,作为同行很好奇新版本是否修复了这个问题。不过转念一想,即使 wifi 配置加了密,在 SD 卡随时可以被取走的情况下,这种安全性又有什么意义?除非可以物理锁住 SD 卡,如果能做到这一步的话,wifi 密码也是可以保证安全的,逻辑闭环,哈哈,没毛病~
本来想换一个 wifi 名和密码的,但是 SD 卡是只读的,不能手动更改。算了,不折腾了,就这样凑合着用吧。
浏览 SD 卡文件,还发现卖家大爷的几张影像,看起来像是二手贩子,对 gopro 研究的还是不够啊,卖便宜了 :)。
这是我离卖家最近的一次,好在分辨率不高,相当于自动打码了…
配置
gopro 作为专业的运动相机,擅长拍摄运动过程中几个精彩的片段,不适合做长时间的记录工作,要将它改造为行车记录仪,还需要做一翻针对性的配置,主要分为供电与存储两个方面。
供电
制约长时间记录的瓶颈首先是供电问题,单使用电池的场景下,一块电池大概只能支持半个小时 (21 min 实测),骑行过程中又不方便换电池,相当于每半个小时要停车一次,这是不能接受的。于是考虑使用车载 USB 供电方案,在这种情况下只要车子有电,gopro 就不会断电,而行驶过程中电瓶会不断充电,因此可以理解为无限续航。不过一旦接上电源线,就给 gopro 带来两个限制:
- 安装位置
- 外层防护壳的选择
第一个问题好理解,因为有线,所以不方便装在头盔、手臂等位置,只能安装在车子头部靠充电口近的地方,好在记录仪本身就是要装在这个位置,这个没有多大影响;
第二个问题是因为 gopro 配备的几个壳子中,以防水壳居多,为了达到官方宣称的 60 米深度的防水能力,除了几个防水按钮外就没有其它接口了,导致它只能使用电池供电:
还有几个防水壳在后面开了很大的“天窗”来改善散热和麦克音效,但它们在电源接口处都没有预留充电线出口:
这样就只剩下面这个壳子可选了:
单薄的像个塑料片儿,考虑到摩旅途中遇雨的概率不低,这东西基本没有防水能力。另外为了接充电线,需要打开侧仓盖,时间久了灰尘也会进入机体,真不是一个好的解决方案。于是在某宝上搜索”gopro 充电防水壳”,居然真的有卖:
不过价格感人,小 100 块一个,果断放弃。先这样凑合用着。
如果有人想用它作汽车行车记录仪,就不存在这种烦恼了:车内没有必要使用防水壳,还能增强散热性能,一举两得。另外说到散热,这机器长期开着录影是真的烫手,如果加上防水壳,不清楚会不会过热。
最后补充一点,虽然相机可以通过电源线直接供电,但行驶过程中的颠簸可能导致供电线接触不良,偶发的断电会导致 gopro 直接停机,因此还是保留相机内的电池作为接力电源为好。特别在断电后日期会被重置,而通过 gopro 那几个小按钮设置日期将是一件非常费力的事。
存储
长时间记录的另一个瓶颈是 SD 卡存储空间。gopro 默认的模式是按 start 键开始录影,再次按 start 键或存储写满时停止。循环录影模式可以在存储写满时覆盖最旧的记录文件,从而只记录最近的一段影像。
这个功能的基础是视频文件分片,使用 1080p 24 帧的测试结果是,15 分钟一个文件分片 (6.6 G 左右),32 G 容量最多可以写 1 小时 15 分钟。降低分辨率并不能显著降低记录时长,因为帧数相应的提升了,以 960p 为例,最低帧数提高到了 50,720p 也差不多。
提高 SD 卡容量是一个办法,gopro3+ 最多支持 64G 的存储卡,相对 32G 能提升一倍的记录时长。实地测试不同的分辨率在 32 G 容量下的最长记录时间列表如下:
fps/resolution | 720p | 720p super | 960p | 1080p | 1080p super | 1440p | 2.7k | 4k | WVGA |
12 | 96 (17:9) * | ||||||||
12.5 | 92 * | ||||||||
24 | 105 | 120 | 120 | 92 (17:9) * | |||||
25 | 210 | 120 | 120 | 90 * | |||||
48 | 120 | 120 | 120 | 140 * | 140 | ||||
50 | 200 | 105 | 120 | 135 | 140 * | ||||
100 | 140 * | 140 * | |||||||
240 | 240 * |
对上面的数据做个简单说明:
- 单位分钟 (min)
- 空白表示对应分辨率不支持相应的 fps
- 设置在 TV 设备上观看视频的模式 (NTSC/PAL) 会影响分辨率对应的 fps,上表列出的是 PAL 模式下的 fps,适合非北美地区的 TV 设备
- 标星号的 fps 不支持循环录影功能
- 夜晚纯黑的场景下,录影文件大小并没有明显变化,gopro 显然没有进行视频压缩,因此上面的数据相对还是比较准的
可以看到有些分辨率在提升 fps 的情况下,记录时长还提升了 (1080p 24fps->25fps),经过分析,发现某些 fps 除了生成原始视频本身,还会生成低分辨率预览视频,导致占用空间上升。真是不试不知道,一试吓一跳…
作为行车记录仪,循环录影是硬要求,排除掉不支持的 fps,再按记录时长排序,只有下面两种设置时长能超过 200 min:
- 720p * 50:200 min
- 1080p * 25:210 min
如果希望记录更多帧,可以选 720p;如果希望记录画面更清晰,可以选 1080p。WVGA 方式可以达到最长的时长 240 min,如果一次旅程不超 4 小时,选择这个配置就比较香了,同时它也达到了最大的记录帧数 240 fps,据说明书讲,WVGA 格式记录了原始 (RAW) 画面,想发挥后期制作能力的人不妨试试。
杂项
gopro 除了录影功能外,还有以下功能:
- 拍照
- 连拍
- 延时摄影
- 回放
和车载记录仪没什么关系的就不多说了,重点说一下与录影相关的设置:
- 一键模式 (one button):开机自动录影
- 照片像素:12M Wide/7M Wide/7M Medium/5M Wide (M:百万像素) ,一般默认 12M
- 遥控模式:将相机 wifi 模式设置到遥控器,可以通过单独的遥控按钮控制相机,例如在录影过程中抓拍,注意这种情况下是不能用 App 连接相机的,相机只能在两种 wifi 模式中选择一种工作
- 高级设置:
- 相机正反朝向 (Camera Orientation):反着放相机,可以拍出正向的画面,方便某种独特的机位
- 边拍边录 (Simultaneous Video And Photo):录影的同时以固定间隔拍照,注意只有一些特定的分辨率支持该特性
- 点测光 (Spot Meter):从一个灯光较暗的空间进入明亮环境时得到更好的画面,例如出隧道时。注意打开这个选项会导致循环录影失效
- 数字谐调 (Protune):发挥相机全部潜力,录制高质量低压缩的画面,开启这个选项会导致循环录影和边拍边录模式失效,打开这个选项会使能以下选项:
- 白平衡 (White Balance)
- 感光度上限 (ISO Limit )
- 色彩 (Color Profile)
- 锐度 (Sharpness)
- 曝光值补偿 (Exposure Compensation)
Protune 的 5 个高级选项常见于单反相机的设置,这里不专业就不多说了。大部分高级设置支持的分辨率有限,特别是影响循环录影的开启,所以我一般不开启它们。其中比较有用的是边拍边录,可以避免为了看一两帧照片而下载巨大的视频文件了,不过这个功能和遥控拍照有些重复。最后说一下为什么不上遥控器,主要是这东西续航有限也需要接电源,安装起来还挺麻烦,不想把车把弄的太乱。
安装
相机就绪后,就可以上车了,刚好车上有装手机支架球头,可以直接安装:
将相机放在了紧靠风挡中间的部分,可以获取最佳视野及最好防护,另外也不遮挡仪表显示,perfect!
最后来一段拍摄效果,看看 1080p 的分辨率效果如何:
参考
[1]. gopro hero 3+运动相机更新固件重置wifi密码的实操教程
[2]. GoPro Hero3+ 银狗 最终固件,可重置WiFi
[3]. 你说会有人用GoPro当行车记录仪吗?
[4]. GoPro是怎样让用户wifi密码沦陷的
[5]. gopro 官网
[6]. GoPro HERO 3+ 中文说明书【GoproCN】.pdf
[8]. GoPro 如何设置感光度