New - A better version: android-gpuimage-plus
安卓下实现的 实时相机滤镜显示 + 拍照 + 处理结果视频音频录制 demo (需要 javacv, 已配置好)
目前仅是demo, 仅供参考, 本repo的代码请随意使用, 我无所谓😋, 当然对你有帮助的地方你要注明一下本人, 我也是非常高兴的。
Just a demo.
使用JavaCV提供的支持, 使用OpenGL实时处理+显示摄像头采集的图像, 并使用FFMPEG实时录制音视频
New - A better version: android-gpuimage-plus
安卓下实现的 实时相机滤镜显示 + 拍照 + 处理结果视频音频录制 demo (需要 javacv, 已配置好)
目前仅是demo, 仅供参考, 本repo的代码请随意使用, 我无所谓😋, 当然对你有帮助的地方你要注明一下本人, 我也是非常高兴的。
Just a demo.
比如我每隔70到100ms生成一帧,时间是变化的,我怎么设置能正常录制呢,现在demo录制出来播放的时候相当于快进。
javacv已经出了1.0版本,整个库改动很大,Android-ffmpeg-CameraRecord能不能更新到javacv-1.0?
根据demo运行出来的视频是颠倒的?如何解决?
现在最新的javacv已经移动到了github,但是我从github编译出的so库并没有ffmpegInvoke和neno的so库,你的库代码应该是googlecode的;
github的库编译之后出现录制过程中会出现闪退的情况,请问你的库是怎么编译出来的
CameraDemoActivity中的FilterNames只有四种,FilterTypes有五种,所以在:
for(int i = 0; i != FilterTypes.length; ++i) {
MyButtons button = new MyButtons(this);
button.filterType = FilterTypes[i];
button.setText(FilterNames[i]);
button.setOnClickListener(mFilterSwitchListener);
layout.addView(button);
}
中出现了越界
具体日志:
07-17 14:25:38.494 19070-19180/com.example.mickys.javacv I/wysaid: Taking shot...
07-17 14:25:38.500 19070-19180/com.example.mickys.javacv A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0xcb480000 in tid 19180 (GLThread 5242)
[ 07-17 14:25:38.501 393: 393 W/ ]
debuggerd: handling request: pid=19070 uid=10354 gid=10354 tid=19180
分析原因是由于拍照方法里面的 Buffer 未及时释放导致内存占用增加,最终在拍照线程中溢出,这里给出一点儿改进建议,希望作者更新代码,感谢~
改进方法:在照线程中增加释放Buffer的语句:mBuffer.clear();
原代码:
bmp.copyPixelsFromBuffer(mBuffer);
ImageUtil.saveBitmap(bmp);
改进代码:
bmp.copyPixelsFromBuffer(mBuffer);
ImageUtil.saveBitmap(bmp);
mBuffer.clear();
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.