Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions training-parent/training-ppt-stater/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<?xml version="1.0"?>
<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.msclub.training</groupId>
<artifactId>training-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>training-ppt-stater</artifactId>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.msclub.base</groupId>
<artifactId>msclub-exception-starter</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package com.msclub.training.ppt.stater;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics2D;
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.List;

import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;

public class PptOperation {

public void pptToImage(String pptPath, String imagePath) throws Exception {

int lastIndex = pptPath.lastIndexOf("\\");
String imageName = pptPath.substring(lastIndex, pptPath.length())
.replace("\\", "");

// creating an empty presentation
File serverFile = new File(pptPath);
XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(serverFile));

// getting the dimensions and size of the slide
Dimension pgsize = ppt.getPageSize();
List<XSLFSlide> slide = ppt.getSlides();
BufferedImage img = null;
FileOutputStream outPpt = null;

for (int i = 0; i < slide.size(); i++) {
img = new BufferedImage(pgsize.width, pgsize.height, BufferedImage.TYPE_INT_RGB);
Graphics2D graphics = img.createGraphics();

// clear the drawing area
graphics.setPaint(Color.white);
graphics.fill(new Rectangle2D.Float(0, 0, pgsize.width, pgsize.height));

// render
slide.get(i).draw(graphics);

// creating an image file as output
outPpt = new FileOutputStream(imagePath+imageName+"_"+i+".png");

javax.imageio.ImageIO.write(img, "png", outPpt);
ppt.write(outPpt);
}

outPpt.close();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.msclub.training.web.stater.WebAutoconfiguration
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- <springProfile name="k8s"> -->
<include resource="org/springframework/boot/logging/logback/defaults.xml" />

<property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}}/spring.log}"/>
<include resource="org/springframework/boot/logging/logback/file-appender.xml" />
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="net.logstash.logback.encoder.LogstashEncoder" />
</appender>
<root level="ERROR">
<appender-ref ref="FILE" />
<appender-ref ref="CONSOLE" />
</root>
<logger name="com.msclub" level="INFO"/>
<!-- </springProfile> -->
<!-- <springProfile name="dev"> -->
<!-- <include resource="org/springframework/boot/logging/logback/base.xml"/> -->
<!-- <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> -->
<!-- <encoder> -->
<!-- <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> -->
<!-- </encoder> -->
<!-- </appender> -->
<!-- <root level="WARN"> -->
<!-- <appender-ref ref="CONSOLE" /> -->
<!-- </root> -->
<!-- <logger name="com.msclub" level="INFO"/> -->
<!-- </springProfile> -->

</configuration>
26 changes: 26 additions & 0 deletions training-parent/training-video-stater/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<?xml version="1.0"?>
<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.msclub.training</groupId>
<artifactId>training-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>training-video-stater</artifactId>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.msclub.base</groupId>
<artifactId>msclub-exception-starter</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
package com.msclub.training.video.stater;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

public class VideoOperation {

private void getThumb(String videoFilename, String thumbFilename, int width,
int height, int hour, int min, float sec) throws IOException,
InterruptedException
{
String systemTpye = System.getProperty("os.name").toLowerCase();
String ffmpegApp = "";

if (systemTpye.indexOf("linux")>=0) {
ffmpegApp = "/usr/local/ffmpeg2/bin/./ffmpeg";
} else {
ffmpegApp = "C:\\Users\\dell\\Desktop\\NewIT\\MicroService\\ffmpeg\\bin\\ffmpeg.exe";
}

ProcessBuilder processBuilder = new ProcessBuilder(ffmpegApp, "-y",
"-i", videoFilename, "-vframes", "1", "-ss", hour + ":" + min
+ ":" + sec, "-f", "mjpeg", "-s", width + "*" + height,
"-an", thumbFilename);

Process process = processBuilder.start();

InputStream stderr = process.getErrorStream();
InputStreamReader isr = new InputStreamReader(stderr);
BufferedReader br = new BufferedReader(isr);
String line;
while ((line = br.readLine()) != null)
;
process.waitFor();

if(br != null)
br.close();
if(isr != null)
isr.close();
if(stderr != null)
stderr.close();
}

public void firstBlameToImage(String videoPath, String imagePath) throws Exception
{
int lastIndex = videoPath.lastIndexOf("\\");
String videoName = videoPath.substring(lastIndex, videoPath.length());
String videoName2 = videoName.substring(1, videoName.length());
String imageName = videoName2 + ".png";
String imageFile = imagePath + imageName;

VideoOperation videoThumbTaker = new VideoOperation();
videoThumbTaker.getThumb(
videoPath,
imageFile,
800, 600, 0, 0, 1);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.msclub.training.web.stater.WebAutoconfiguration
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- <springProfile name="k8s"> -->
<include resource="org/springframework/boot/logging/logback/defaults.xml" />

<property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}}/spring.log}"/>
<include resource="org/springframework/boot/logging/logback/file-appender.xml" />
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="net.logstash.logback.encoder.LogstashEncoder" />
</appender>
<root level="ERROR">
<appender-ref ref="FILE" />
<appender-ref ref="CONSOLE" />
</root>
<logger name="com.msclub" level="INFO"/>
<!-- </springProfile> -->
<!-- <springProfile name="dev"> -->
<!-- <include resource="org/springframework/boot/logging/logback/base.xml"/> -->
<!-- <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> -->
<!-- <encoder> -->
<!-- <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> -->
<!-- </encoder> -->
<!-- </appender> -->
<!-- <root level="WARN"> -->
<!-- <appender-ref ref="CONSOLE" /> -->
<!-- </root> -->
<!-- <logger name="com.msclub" level="INFO"/> -->
<!-- </springProfile> -->

</configuration>