All Projects → eguid → Easycv

eguid / Easycv

Licence: apache-2.0
easyCV (video recorder and snapshot library,based on javaCV)基于javaCV的跨平台视频录像和基于FFmpeg的快照(截图)库

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Easycv

VideoScreenRecorder
Record video of your screen and save the file locally 🎥
Stars: ✭ 36 (-74.65%)
Mutual labels:  screenshot, recorder
Screenshots
A screenshot plugin for electron
Stars: ✭ 130 (-8.45%)
Mutual labels:  screenshot
Carbonsublime
🚀 A Sublime Text 3 Plugin for Carbon. (https://carbon.now.sh)
Stars: ✭ 104 (-26.76%)
Mutual labels:  screenshot
Droidcast
An experimental demo for capturing and displaying screenshot of an Android device without ROOT permission.
Stars: ✭ 116 (-18.31%)
Mutual labels:  screenshot
Swift Screencapture
A Swift framework to easily capture the screen on OS X.
Stars: ✭ 105 (-26.06%)
Mutual labels:  screenshot
Mic Recorder To Mp3
Microphone Recorder to mp3
Stars: ✭ 117 (-17.61%)
Mutual labels:  recorder
Flutter medical
Functioning Doctor/Healthcare Catalog App created using Dart with Flutter. Stores and loads data from Firebase Firestore DB.
Stars: ✭ 99 (-30.28%)
Mutual labels:  screenshot
Site Scan
CLI for capturing website screenshots, powered by puppeteer.
Stars: ✭ 137 (-3.52%)
Mutual labels:  screenshot
Phpchrometopdf
A slim PHP wrapper around google-chrome to convert url to pdf or to take screenshots , easy to use and clean OOP interface
Stars: ✭ 127 (-10.56%)
Mutual labels:  screenshot
Screenshot Website
📸 A GitHub Action to capture screenshots of a website, across Windows, Mac, and Linux
Stars: ✭ 116 (-18.31%)
Mutual labels:  screenshot
Base64simd
Base64 coding and decoding with SIMD instructions (SSE/AVX2/AVX512F/AVX512BW/AVX512VBMI/ARM Neon)
Stars: ✭ 115 (-19.01%)
Mutual labels:  base64
Lancia
网页转PDF渲染服务。提供收据、发票、报告或任何网页内容转PDF的微服务
Stars: ✭ 108 (-23.94%)
Mutual labels:  screenshot
Archey4
💻 Maintained fork of the original Archey Linux system tool
Stars: ✭ 118 (-16.9%)
Mutual labels:  screenshot
Inferno
🔥 Modern command line tool for malware creation on Windows
Stars: ✭ 105 (-26.06%)
Mutual labels:  screenshot
Myutils
🙏 提供时间轴转星座|生肖工具、系统存储空间获取工具、文件大小格式化工具、获取指定文件大小工具、AES加密解码工具(支持android端平台加密解密,java端和android端相互加密解密)、SharePreference操作工具、 File文件操作工具、日期获取和计算工具、界面跳转Intent操作工具、字符串验证和数值转换操作工具、手机震动工具、系统资源操作工具、网络检测工具、 wifi操作工具、单位换算工具、zip压缩和解压操作工具、XML解析操作工具(只支持几种指定格式)、图片加载和处理工具,数据库操作(增删改查)工具、Base64编码解码工具、MD5加密工具。
Stars: ✭ 130 (-8.45%)
Mutual labels:  base64
React Native Sound Recorder
Simplest Sound Recorder for React Native
Stars: ✭ 103 (-27.46%)
Mutual labels:  recorder
Albumcamerarecorder
一个高效的多媒体支持操作库,可多方面的简单配置操作相册、拍照、录制、录音等功能。也支持配套使用的展示图片、视频、音频的九宫格功能。 (An efficient multimedia support operation library, can be a variety of simple configuration operation album, photo, recording, recording and other functions.Also support supporting the use of the display of pictures, video, audio of the nine grid function.)
Stars: ✭ 106 (-25.35%)
Mutual labels:  recorder
Flexlib
FlexLib是一个基于flexbox模型,使用xml文件进行界面布局的框架,融合了web快速布局的能力,让iOS界面开发像写网页一样简单快速
Stars: ✭ 1,569 (+1004.93%)
Mutual labels:  screenshot
Screenshotty
A library for programatically capturing screenshots on Android
Stars: ✭ 141 (-0.7%)
Mutual labels:  screenshot
Paintview
An Android View with Gesture Supported for Painting
Stars: ✭ 136 (-4.23%)
Mutual labels:  screenshot

LICENSE LICENSE

easyCV

  Video recorder and snapshot(video image capture) library,based on javaCPP & javaCV & FFmpeg. 
  基于javaCV的跨平台视频录像和快照(视频截图)库,开箱即用。

Update

2019年12月2日
1、本次更新主要针对videoRecorder工作线程在特定情况下(异常)出现无法回收的bug

2019年7月22日
1、新增BufferGrabber和BufferedImageGrabber的连续截图语法糖
2、截图库不再依赖javaCV

2019年7月17日b
1、增加连续截图功能,目前只限通过BytesGrabber进行连续截图
1.1、连续截图提供视频源地址、截图总数、间隔(隔几帧)
1.2、简单测试了连续截图功能暂时未发现问题,近期将实现其他接口的连续截图功能语法糖
2、代码结构调整,抽象出一个桥接接口Grabber,用于方便不同接口实现能够对像素格式进行不同方式的操作

2019年7月17日a
1、调整了截图库代码结构
2、向下兼容老版本,但不再推荐使用原有的调用方式
3、新增了一个图像像素数据字节数组抓取器(BytesGrabber),它能够获得图像的像素数组
4、新增了一个Base64图像编码数据抓取器(Base64Grabber),用于取代原来的调用方式
5、重新根据ffmpeg4.x最新解码库api实现视频解码流程,支持B、P帧解码,与原有代码不兼容,所以新创建新的FFmpeg4VideoImageGrabber以示区别
6、推荐的使用方式是
`
//可以通过BufferedImageGrabber直接截取得到java图像
BufferedImageGrabber grabber=new FFmpeg4VideoImageGrabber();
//可以通过Base64Grabber轻松截取base64图像编码数据
Base64Grabber grabber=new FFmpeg4VideoImageGrabber();
//可以通过BufferGrabber获取截图图像的缓冲数据
BufferGrabber grabber =new FFmpeg4VideoImageGrabber();
//可以通过BytesGrabber获取截图图像的像素数组数据
BytesGrabber grabber=new FFmpeg4VideoImageGrabber();
`
根据需要自行调用和管理,本项目只提供可靠的截图库,而不是大而全的框架。

Use samples

目前除了Base64Grabber之外其他Grabber都实现了连续截图api
	//可以通过BufferedImageGrabber直接截取得到java图像
	BufferedImageGrabber grabber=new FFmpeg4VideoImageGrabber();
	//可以通过Base64Grabber轻松截取base64图像编码数据
	Base64Grabber grabber=new FFmpeg4VideoImageGrabber();
	//可以通过BufferGrabber获取截图图像的缓冲数据
	BufferGrabber grabber =new FFmpeg4VideoImageGrabber();
	//可以通过BytesGrabber获取截图图像的像素数组数据
	BytesGrabber grabber=new FFmpeg4VideoImageGrabber();

Online demo

1、截图服务在线演示:http://eguid.cc/screenshot/test

2、录像服务在线演示:http://eguid.cc/videorecord/test

   可以通过http://eguid.cc/screenshot/查看历史截图列表
   同样可以通过http://eguid.cc/videorecord/查看历史录像列表并进行点播观看

Dependency library

  Corelib based on 'javaCPP 1.4.X' & 'javaCPP-FFMPEG-1.4.x' & 'javacv 1.4.x',exaples based on 'spring-boot 2.x'.

Build

  Based on jdk1.8,build on maven 3.7.

About core library

  核心库提供截图快照和视频录像两套API,exaples中提供了几个演示示例,分别依赖录像和截图corelib

Examples project description

提供了几个springboot演示服务demo,截图服务演示demo默认使用8081端口,录像服务使用8082端口。
其中截图功能支持保存成文件和返回base64两种方式获取截图。
截图文件与录像文件都需要额外配合一个单独http/ftp服务才能进行访问
录像服务演示demo除了需要指定保存路径外,与截图服务相同,我们一般把录像文件存放到http/ftp服务的根目录下,方便点播,推荐使用nginx、apache和iis)。
demo中涉及到截图和录像信息的表结构都是简单的单表,这里就不提供了,直接查看*Mapper.xml文件即可

Format of video&Image support

Video source support rtsp/rtmp/flv/hls/file formats,Record video file support mp4/flv/mkv/avi .... formats.
Image file support jpg/png/jpeg/gif/bmp.
视频源支持rtsp/rtmp/flv/hls/视频文件等多种格式。
录像文件可以支持mp4/flv/mkv/avi等多种视频格式。
视频快照(视频截图)支持jpg/png/jpeg/gif/bmp等图片格式,常见的格式基本都支持。
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].