思路是参考sorry,原作是ruby写的,我就撸了个java 轮子,加了一点新功能,可以生成小一点的图片

优化点:

重构首页,方便移动端和PC端访问

首页素材全部CDN,加快加载速度

增加精简模式,可以生成几百k的用来做表情

将文件剥离出程序,可以动态切换

sorryJava

sorry的java版本 操作演示

安装步骤

docker (推荐)

首先安装 docker,不会的安装请自行百度

clone代码

git clone https://github.com/li24361/sorryJava.git

后,进入到sorry-java目录下执行

docker build -t sorry-java:v1.4 .

docker run --rm -itd --name sorryjava -e QCLOUD_ENABLE=false -p 8888:8888 sorry-java:v1.4

centos

如果没有自己的服务器,可以去腾讯云

里面个人可以免费申请7天的服务器,如果你是学生,会有更大的惊喜。现在双十一搞活动,88一年,很划算。

选用云服务器后,安装的时候选择7,然后按照下面步骤配好centos环境。

基础环境需要安装java

centOS7下ffmpeg安装

yum install epel-release -y

rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro

rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

yum install ffmpeg ffmpeg-devel -y

centOS7安装字体,生成中文字幕需要,否则生成时候会报错

yum groupinstall "fonts"

在服务器上建立文件夹/opt/site/cache/sorry

下载template.mp4跟template.ftl放进去

以上都是必须的

可以直接下载sorry-java-1.2.0.jar

然后服务器上运行

nohup java -jar sorry-java-1.2.0.jar &

windows

windows下执行压制的时候,如果ass的路径是带有盘符的,会报错,可以改成读取相对路径

自己研究代码的时候,windows下面需要安装jdk&maven&git&ffmpeg

记得将ffmpeg 配置到Path下 添加E:\ffmpeg\bin; 这里要换成你的路径

修改application.properties,换成自己电脑的文件夹,例如D:/

cache.template.tempPath=/opt/site/cache/

在自己的文件夹下建立sorry文件夹

下载template.mp4跟template.ftl放进去

拉取源码

git clone https://github.com/li24361/sorryJava.git

导入ide

打包并运行

mvn package -DskipTests

java -jar sorry-java-1.2.0.jar

macos

通过brew安装ffmpeg

brew install ffmpeg

在mac系统终端命令行里直接执行ffmpeg没有问题,但用java调用就生成gif报错。

原因是ffmpeg在linux的shell命令行下当然能执行(如果ffmpeg在/usr/bin下),但java调用的时候并不是shell模式,所以不能直接执行

解决办法:

请用完整的ffmpeg路径,另外需要使用shell命令执行。代码示例如下:

Process exec = Runtime.getRuntime().exec(new String[]{"sh", "-c", cmd}); exec.waitFor();

以上cmd变量第一个字符(参数)必须是ffmpeg的系统安装路径,

获得此路径:

which ffmpeg

有问题欢迎提issue

java localhosty_GitHub - yxxxd/sorryJava: 给动图加字幕的sorry项目的java版本相关推荐

  1. 使用Eclipse发布一个依赖于其他项目的java项目,被依赖的项目不能自动编译,因而引发notfoundClass的异常。...

    编号 007 错误.问题类型 java 开发 描述 使用Eclipse发布一个依赖于其他项目的java项目,被依赖的项目不能自动编译,因而引发notfoundClass的异常. 解决方案 选择主项目点 ...

  2. 批量给项目的java文件添加licence文件头

    批量给项目的java文件添加licence文件头 package com.cs.test.springboot;import java.io.File; import java.io.FileWrit ...

  3. java项目如何更改路径_Java修改eclipse中web项目的server部署路径问题

    和MyEclipse不一样,在Eclipse中做的Web项目默认是不支持将项目发布到Web服务器上的,会发布到工作空间的某个目录,因此无法在外部启动Tomcat来运行Web项目,只有打开Eclipse ...

  4. Eclipse 下如何引用另一个项目的Java文件

    有关联的2个项目,有些类是相同的.例如实体类. 如果你采用 Ctrl + C & Ctrl + V 的方式,以后再有改动,2个项目就都需要改动. 怎样才能只改动一个呢? 答案就是,在一个项目( ...

  5. idea 配置java版本号_IDEA-Maven项目的jdk版本设置方法

    在 Intellij Idea 中,我们需要设置 Settings 中的 Java Compiler 和 Project Structure 中的 Language Level 中的 jdk 版本为自 ...

  6. github项目的JAVA项目Ratel,基于Netty实现

    基于Netty实现的命令行斗地主游戏,为划水摸鱼而生~ 首先确定自己本地已经配置Maven和JRE环境,并且保证git环境的搭建.  1.克隆github上的项目到本地(外网地址下载,可能会有点慢,不 ...

  7. 开发一个投票项目的JAVA服务端-SSM项目

    最近接触了idea开发工具,稍微看了下spring boot.本着对spring mvc的一些小经验,开发个投票项目的服务端.时间上大约花了周末两天.乍一看需求感觉是很简单,但是在真正做的时候对业务逻 ...

  8. java 程序迁移后oracle 数字溢出_Spring Boot 应用迁移到 Java 11

    你的Spring Boot App需要迁移到Java 11 吗? 最近,我们开始将应用程序从Java 8迁移到Java 11;在此之前,Oracle宣布将从2019年初开始停止为Java 8提供商业支 ...

  9. Java根据图片生成GIF动图

    昨天看到手机QQ空间可以预览自己手机上的图片并生成GIF图片,然后看到微信的公众号上很多都是动图,于是就想用java将几张图片生成gif图. 合成gif的图片大小最好一致,不要问我为什么. 具体代码如 ...

最新文章

  1. 来字节才发现,31岁程序员已经是大团队里最老的了!才发现自己从未真的努力,虽然每天加班到十二点,但只怀着赶紧干完的抱怨!...
  2. 抢票软件原理_手机部应届生软件大赛 | SHOW MI YOUR CODE
  3. C# 操作Sql Server 学习总结
  4. PAT甲级1011 World Cup Betting:[C++题解]模拟
  5. python生成迭代的用法
  6. 使用sklearn进行数据预处理 —— 归一化/标准化/正则化
  7. 黑科技揭秘:眼科大夫如何应用5G+8K完成远程会诊?
  8. 新空间,新文章,新气象,哈??
  9. 打开wmware没反应_白酒打开后能存放多久?
  10. 39岁程序员住进养老院,早6晚9的作息,网友羡慕哭了
  11. Reversing.Kr replace题解
  12. RAID卡的安装配置
  13. Linux mysql
  14. 【Oracle】创建角色
  15. 子模的性质(submodular)
  16. 虚拟机的三种网络连接方式
  17. java修图sdk_手把手教你,如何用手机修图软件做出逼格超高的照片!
  18. 【电脑配置知识】处理器 CPU
  19. sFlow - 简介
  20. 相似度的几种常见计算方法

热门文章

  1. BUUCTF Dig the way
  2. XCTF easyCpp buu [MRCTF2020]EasyCpp
  3. 15、修改和删除触发器(DROP TRIGGER)
  4. 【PAT乙级】1060 爱丁顿数 (25 分)
  5. MySQL同时添加多条记录
  6. Aux函数java,verse.aux
  7. c语言调用python3_linux下c语言调用python方法问题
  8. python中print的本质_Python基础语法全解
  9. 究竟什么样的简历才能拿到面试?
  10. java基础提升篇:Static关键字