28 Star 120 Fork 51

一灰灰Blog / quick-media

Create your Gitee Account
Explore and code with more than 12 million developers,Free private repositories !:)
Sign up
This repository doesn't specify license. Please pay attention to the specific project description and its upstream code dependency when using it.
Clone or Download
contribute
Sync branch
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README

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

quick-media原理介绍、使用教程、资源模板等相关博文,都可以在专栏 《quick-media | 一灰灰Learning》 获取哦

QrCode

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

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

线上体验地址

使用说明

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

中央仓库引入地址:

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

<!-- https://mvnrepository.com/artifact/com.github.liuyueyi.media/qrcode-plugin -->
<dependency>
    <groupId>com.github.liuyueyi.media</groupId>
    <artifactId>qrcode-plugin</artifactId>
    <!-- 以中央仓库最新版本为准 -->
</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>3.0.0</version>
</dependency>

I. 项目分析

1. 技术栈

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

2. 结构分析

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

web

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>

photo-plugin

相片、图片处理插件,适用于图像的各种处理,如灰度,素描,滤镜等

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

II. 已支持服务

1. 音频转码

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

2. 二维码生成 & 解析

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

查看更多二维码详情

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

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

3. 图片

查看更多图片服务详情

4. 图像

  • 图像转素描风格

5. 视频相关

  • 视频压缩
  • 转码
  • 截取
  • 码率调整
  • 生成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

Empty file

About

mult-media support web service (多媒体处理的web服务) expand collapse
Cancel

Releases

No release

Contributors

All

Activities

Load More
can not load any more
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/liuyueyi/quick-media.git
git@gitee.com:liuyueyi/quick-media.git
liuyueyi
quick-media
quick-media
master

Search

344bd9b3 5694891 D2dac590 5694891