Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/codegather/record_movie
一个原生视频录制flutter插件,断点续录、视频压缩等功能,采用原生实现没有依赖第三方库
https://github.com/codegather/record_movie
audi com compress ios java objective-c video
Last synced: 3 months ago
JSON representation
一个原生视频录制flutter插件,断点续录、视频压缩等功能,采用原生实现没有依赖第三方库
- Host: GitHub
- URL: https://github.com/codegather/record_movie
- Owner: CodeGather
- License: other
- Created: 2020-07-26T16:29:27.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-07-29T04:13:10.000Z (over 1 year ago)
- Last Synced: 2023-07-29T05:21:01.814Z (over 1 year ago)
- Topics: audi, com, compress, ios, java, objective-c, video
- Language: Java
- Homepage: https://ki5k.com
- Size: 4.8 MB
- Stars: 7
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# record_movie
这是一个原生的flutter视频录制插件,实现录制视频后返回视频路径,由于项目需求用来代替ffmpeg视频处理的方案。
## 支持程度
| 平台 | 支持 |
| :------:|:----:|
| Android | YES |
| Ios | YES |### 相关功能
- 支持断点续录
- 支持回删功能
- 支持切换相机(前后)
- 支持开启闪光灯为减小安卓包大小,所以安卓和iOS都未采用ffmpeg来处理视频
安卓端使用cmaera、camera2、MediaRecorder、mp4parser 等等
iOS端使用AVCaptureConnection、AVMutableComposition 等等### 遇到以及可能存在的问题
1、安卓端存在录制的实际视频内用与倒计时的进度有偏差,目前解决的方案是每次录制完成后重新获取他的视频时间长度,然后下次录制的时间是总时间减去已录制的时间,这就造成了倒计时的进度天有可能做的快时间断点偏前的尴尬局面,如果仔细观察你会发现进度条会在断点的后方重新跑。
2、安卓端遇到camera和camera2的兼容问题,目前的解决办法是单独分开,一边后期维护,即两个布局文件、两个activity、两个Utils
3、安卓端遇到传递JSONObject数据时出现解析错误的情况,解决方案是用第三方库com.alibaba:fastjson 来替换本身自带的json解析
4、iOS端遇到打开iOS原生端controller的问题
5、iOS端状态栏问题,理论上打开视频录制界面时应该隐藏状态栏(还未实现)
6、iOS端返回数据使用FlutterEventSink来处理返回数据
7、iOS端事件代理、事件回调、线程执行、如何使用主线程等等问题
8、iOS端使用result时代理方法只执行一次的问题,解决方案是去除全局的xDVideocamera,改成每次点击的时候都进行初始化
![]()
![]()