All Projects → liuyueyi → Quick Media

liuyueyi / Quick Media

media(audio/image/qrcode/markdown/html/svg) support web service (多媒体编辑服务, 酷炫二维码, 音频, 图片, svg, markdown, html渲染服务支持)

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Quick Media

Spring Qrcode Example
Demonstrates some of the capabilities of the Spring Boot framework through a small, simple example.
Stars: ✭ 23 (-96.24%)
Mutual labels:  zxing, spring-boot, qrcode
canvas-capture
Record the canvas as an image, mp4 video, or gif from the browser
Stars: ✭ 35 (-94.28%)
Mutual labels:  ffmpeg, gif
tube2gif
Search and Generate Gif from Youtube
Stars: ✭ 21 (-96.57%)
Mutual labels:  ffmpeg, gif
Ffmpegcommand
FFmpegCommand适用于Android的FFmpeg命令库,实现了对音视频相关的处理,能够快速的处理音视频,大概功能包括:音视频剪切,音视频转码,音视频解码原始数据,音视频编码,视频转图片或gif,视频添加水印,多画面拼接,音频混音,视频亮度和对比度,音频淡入和淡出效果等
Stars: ✭ 394 (-35.62%)
Mutual labels:  ffmpeg, gif
Reanimate
Haskell library for building declarative animations based on SVG graphics
Stars: ✭ 581 (-5.07%)
Mutual labels:  svg, gif
QRCodeView
用于简化二维码扫描的框架
Stars: ✭ 34 (-94.44%)
Mutual labels:  qrcode, zxing
Compress Images
Minify size your images. Image compression with extension: jpg/jpeg, svg, png, gif. NodeJs
Stars: ✭ 331 (-45.92%)
Mutual labels:  svg, gif
Jsqrscanner
JavaScript QR Code scanner for HTML5 supporting browsers
Stars: ✭ 212 (-65.36%)
Mutual labels:  zxing, qrcode
Qzxing
Qt/QML wrapper library for the ZXing library. 1D/2D barcode image processing library
Stars: ✭ 401 (-34.48%)
Mutual labels:  zxing, qrcode
Qrcodescanner
An optimized qr code scan tool forked from zxing.
Stars: ✭ 427 (-30.23%)
Mutual labels:  zxing, qrcode
Govips
A lightning fast image processing and resizing library for Go
Stars: ✭ 442 (-27.78%)
Mutual labels:  svg, gif
Libvips
A fast image processing library with low memory needs.
Stars: ✭ 6,094 (+895.75%)
Mutual labels:  svg, gif
QRCodeCameraX
QRcode decoder based on CameraX & zxing-core & ML kit, in less than 50 lines
Stars: ✭ 111 (-81.86%)
Mutual labels:  qrcode, zxing
ZxingSupport
A Library based on Zxing, make you easy to develop 1D/2D barcode-scan App.
Stars: ✭ 15 (-97.55%)
Mutual labels:  qrcode, zxing
Instascan
HTML5 QR code scanner using your webcam
Stars: ✭ 2,657 (+334.15%)
Mutual labels:  zxing, qrcode
qrcode
A flutter plugin for scanning QR codes. Use AVCaptureSession in iOS and zxing in Android.
Stars: ✭ 69 (-88.73%)
Mutual labels:  qrcode, zxing
Optimizt
CLI image optimization tool
Stars: ✭ 594 (-2.94%)
Mutual labels:  svg, gif
Zxinglite
🔥 ZXing的精简版,优化扫码和生成二维码/条形码,内置闪光灯等功能。扫描风格支持:微信的线条样式,支付宝的网格样式。几句代码轻松拥有扫码功能 ,ZXingLite让集成更简单。(扫码识别速度快如微信)
Stars: ✭ 2,117 (+245.92%)
Mutual labels:  zxing, qrcode
Nbzxing
🔥 2020年最好用的开源扫码,全方位优化,强烈推荐!! 支持多种常规zxing无法扫出的码,用就完了!! 🔥
Stars: ✭ 184 (-69.93%)
Mutual labels:  zxing, qrcode
Gifgen
Simple high quality GIF encoding
Stars: ✭ 397 (-35.13%)
Mutual labels:  ffmpeg, gif

quick-media

Join the chat at https://gitter.im/quick-media/Lobby Builder JitPack Maven Central with version prefix filter codecov Average time to resolve an issue Percentage of issues still open

多媒体处理web服务

mult-media process Web Service by FFMPEG & ImageMagic & SpringMVC

本项目为一个提供图片 + 音频 + 视频 + 二维码 + 网页 + markdown处理的Web项目,我们的目标是封装一套多媒体文件处理的公共类库,简化各种复杂的调用;利用 spring-boot 来提供http接口实现多媒体的操作实例功能

整理了下QuickMedia的使用与技术文档,可以通过下面的链接进行查看

线上体验地址

使用说明

目前最新版jar包已提交到maven仓库,因此想直接引入的小伙伴,不需要再采用下面的两种方案了(请注意jitpack的包通常来讲更新会更频繁些,而中央仓库的会更稳定些;相同的版本号对应的代码保持一致)

中央仓库引入地址: https://mvnrepository.com/artifact/com.github.liuyueyi.media

举例如二维码插件的依赖如下即可

<!-- https://mvnrepository.com/artifact/com.github.liuyueyi.media/qrcode-plugin -->
<dependency>
    <groupId>com.github.liuyueyi.media</groupId>
    <artifactId>qrcode-plugin</artifactId>
    <version>2.6.0</version>
</dependency>

在下载本项目之后,有些常见事项需要注意一二

  • 工程中使用lombok简化大量的代码,因此使用idea的童鞋请装一下lombok的插件(最新版已移除lombok依赖)
  • 部分插件依赖第三方库,如 ffmpge, phantomjs, image-magic,请确保已经安装

jitpack使用方式

由于某些原因,导致github访问太慢,无法下载依赖包时,这里也给出了第二种选择方案,借助jitpack仓库,详情使用文档,请查看:quick-media jitpack-仓库导入

一个简单的示例如下:

<repositories>
    <repository>
        <id>jitpack.io</id>
        <url>http://jitpack.io</url>
    </repository>
</repositories>


<!-- 请注意groupId和github的方式有一些区别哦 -->
<dependency>
    <groupId>com.github.liuyueyi.quick-media</groupId>
    <artifactId>qrcode-plugin</artifactId>
    <version>2.6.0</version>
</dependency>

I. 项目分析

1. 技术栈

  • spring-boot
  • ffmpeg
  • ImageMagic
  • zxing
  • batik
  • flexmark
  • phantomjs

2. 结构分析

目前项目主要结构区分为web/plugins两个模块,

web

  • 根据spring-boot可以迅速搭建一个web服务,提供http接口用于功能测试
  • 内部集成了一个简单的web网站,打开: http://media.hhui.top:8089/media/webs 查看
  • 使用ReactJS,前后端分离,写了一个更友好的网站,打开: https://zweb.hhui.top/#/index 查看
  • 内部实现了小程序【图文小工具】的后端逻辑

plugins

插件工程,根据不同的场景,支持不同的服务功能,目前将所有的插件抽象出来,可以独立作为工具包提供给第三方依赖,直接引入使用

audio-plugin

提供音频转码服务,使用依赖如下,详细查看: audio-plugin说明

中央仓库导入方式,注意groupId不同(为什么需要改变groupId? 因为上传到maven中央仓库,要求groupId与github的项目所属相同)

<!-- https://mvnrepository.com/artifact/com.github.liuyueyi.media/audio-plugin -->
<!-- 请注意最新报,请直接到maven中央仓库查看,或者到迭代日志中获取 -->
<dependency>
    <groupId>com.github.liuyueyi.media</groupId>
    <artifactId>audio-plugin</artifactId>
</dependency>

date-plugin

提供时间戳、日期转换为农历日期,详细查看:date-plugin说明

<!-- https://mvnrepository.com/artifact/com.github.liuyueyi.media/date-plugin -->
<dependency>
    <groupId>com.github.liuyueyi.media</groupId>
    <artifactId>date-plugin</artifactId>
</dependency>

image-plugin

提供图片合成,提供gif图片生成等图片操作的封装类,详细查看: image-plugin说明

<!-- https://mvnrepository.com/artifact/com.github.liuyueyi.media/image-plugin -->
<dependency>
    <groupId>com.github.liuyueyi.media</groupId>
    <artifactId>image-plugin</artifactId>
</dependency>

markdown-plugin

markdown转html,转图片的封装类, 详细内容查看: markdown-plugin

<!-- https://mvnrepository.com/artifact/com.github.liuyueyi.media/markdown-plugin -->
<dependency>
    <groupId>com.github.liuyueyi.media</groupId>
    <artifactId>markdown-plugin</artifactId>
</dependency>

phantom-plugin

提供根据phantomjs渲染html的封装

<!-- https://mvnrepository.com/artifact/com.github.liuyueyi.media/phantom-plugin -->
<dependency>
    <groupId>com.github.liuyueyi.media</groupId>
    <artifactId>phantom-plugin</artifactId>
</dependency>

qrcode-plugin

提供二维码生成和解析的封装,详细查看: qrcode-plugin使用说明

qrcode使用手册

<!-- https://mvnrepository.com/artifact/com.github.liuyueyi.media/qrcode-plugin -->
<dependency>
    <groupId>com.github.liuyueyi.media</groupId>
    <artifactId>qrcode-plugin</artifactId>
</dependency>

svg-plugin

提供svg文档的渲染,输出图片的封装,详细查看: svg-plugin使用说明

<!-- https://mvnrepository.com/artifact/com.github.liuyueyi.media/svg-core -->
<dependency>
    <groupId>com.github.liuyueyi.media</groupId>
    <artifactId>svg-core</artifactId>
</dependency>

imagic-plugin

基于imagic-magic实现的图片编辑插件封装,详细查看: imagic-plugin使用说明

<!-- https://mvnrepository.com/artifact/com.github.liuyueyi.media/imagic-plugin -->
<dependency>
    <groupId>com.github.liuyueyi.media</groupId>
    <artifactId>imagic-plugin</artifactId>
</dependency>

II. 已支持服务

1. 音频转码

  • [x] 音频不同格式的相互转码

2. 二维码生成 & 解析

  • [x] 二维码生成
  • [x] 个性二维码生成
    • 支持logo
    • 支持logo样式 (圆角logo, 边框)
    • 支持二维码颜色设置
    • 支持二维码圆角
    • 支持探测图形颜色设置
    • 支持探测图形图片定制
    • 支持背景图
    • 支持背景图圆角设置
    • 支持base64格式的二维码图片
    • 支持二维码定制绘制信息样式
    • 三角形
    • 矩形
    • 五边形 (五角星待支持)
    • 六边形
    • 八边形
    • 自定义图片
    • 前置图支持
  • [x] 动态二维码生成支持
  • [x] 二维码信息解析

查看更多二维码详情

最新版本2.5.4,详情查看 迭代日志

给出一个实际生成的case如下:

3. 图片

查看更多图片服务详情

4. 视频相关

  • [ ] 视频压缩
  • [ ] 转码
  • [ ] 截取
  • [ ] 码率调整
  • [ ] 生成gif

III. 阶段记录

详情查看: quick-media更新迭代日志

IV. 文档

所有使用以及技术文档,开发过程中一些常见问题汇总,可以点击👉: quick-media文档

问题记录汇总

V. 其他

其他

看到下面的star走势图,难道真的没有动心点点🖱小小的👍一下么

Stargazers over time

声明

尽信书则不如,已上内容,一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激

  • 微博地址: 小灰灰Blog
  • QQ: 一灰灰/3302797840
  • WeChat: 一灰/liuyueyi25

扫描关注

打赏列表

1一分也是❤️,感谢大佬的打赏 (打赏的小伙伴不妨留个备注名)

公众号&博客

QrCode

打赏码

pay


实例演示

0. 应用网站

项目本身提供一个控制台,基于reactjs搭建,在console模块下,启动即可

使用react.js重构后的前端网站,实现前后端分离,前端网页借助gitee的pages直接部署,测试链接

web实际演示图:

demo

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].