zoukankan      html  css  js  c++  java
  • 小程序录制功能踩坑记录

    • 简言

    刚完成了一个很“简单”的功能,简单是因为客户的要求简单,简单到可以概括成一句话:用微信小程序实现视频录制功能。

    • 实操

    根据这个“简单”的需求,接下来开启准备工作。经查询,小程序提供的录像有三种,chooseVideo,CameraContext以及livepusher。当时想着只是个录制,与直播应该没啥关系,直接忽略掉livepusher,从简单的chooseVideo入手,仔细一看,最大支持60s的录制,这不行,客户要求两分钟内的录制,而且在安卓机上必须长按才能录制,果断pass掉。接下来踩坑CameraContext。关于这个部分,另起一段才行。

    前序,本人使用的是安卓机,故一直基于安卓机测试。先说CameraContext的录制时长,最大30s。嗯。。。对于录制2分钟的情况可以采取切片的方式,即录制二三秒后,立即结束,再立即开始下一段的录制。美好的思路需要实操来证实,嗯。。。

    若干小时later~~~~

    发现时间切割点会丢数据,1~3秒不等,四五段衔接的话会丢10s以上,所以赶紧跟客户确认能接受的丢失时长,并建议客户录制1分钟内的视频,丢3秒左右可否接受。经客户确认,可以接受。接下来似乎看起来可以完工了。然而接下来的ios机泼了一盆巨大的冷水,闪退!!!!点击查看,单段录制15s以上闪退的概率超过50%,这是不可接受的,分段10s左右录制的话,一分钟的视频会丢掉10s左右,这也是不可接受的。看来只能换个思路了,webrtc,嗯,,,这个可以连续录制而且不间断,在小程序跳到H5页面,录制完成之后,把数据提交上去再跳回来即可。

    若干小时later~~~~

    安卓机上顺利的完成了录制功能,缺点是录制长时间的视频上传比较慢,不过勉强还可以接受。接下来就开放让大家测试功能,又是IOS,不支持webrtc!!!!这下恨死ios了,但却无可奈何,就跟TX一样,只敢吐槽,别无他法。看来只能采用ilve-pusher了,经过各种资质等等操作

    若干小时later~~~~

    疯狂吐槽开发文档之后~~~~

    终于完成了功能的开发,在此期间,我算了一笔账:加了N久的班,掉了666根头发

    • 结尾

    宁愿花个一周分析技术,也不要及时的动手,你的经验来自于采坑,但是你的睿智可能会免去采坑,此外,php依然是世界上最好的语言

     

  • 相关阅读:
    TensorFlowMNIST数据集逻辑回归处理
    TensorFlow多元线性回归实现
    TensorFlow简单线性回归
    mysql ON DUPLICATE KEY UPDATE
    20200908 morning diary
    LambdaUtil
    数据库SQL自我书写册
    getMyFriendsListFromWeChat()
    MySQL8.*的JSON语法知多少
    Exception in thread "main" java.lang.IllegalArgumentException: Cannot deserialize instance of `java.lang.String` out of START_ARRAY token at [Source: UNKNOWN; line: -1, c
  • 原文地址:https://www.cnblogs.com/danielee/p/13218585.html
Copyright © 2011-2022 走看看