Commit 0e78c657 by 朱亚洁

'feat:[1003010]华为云迁移OBS/MPC'

parent c9b7cb66
## main
main.access.key.id = LTAIx8FODeVLN3bD
main.access.key.secret = eJbZwTzatZq4SMyDiQeh7NzIHkdAaO
## main Ϊak sk
main.access.key.id = CROQ0IJRW2FW5NSERZBR
main.access.key.secret = rAbki4thgWx9iKXendlIH3gvKi8JFHUcVOWwObyS
## OSS
oss.region = oss-cn-hangzhou
oss.endpoint = http://oss-cn-hangzhou.aliyuncs.com
file.bucket = whlg-oss-002
file.original.url = http://whlg-oss-002.oss-cn-hangzhou.aliyuncs.com/
oss.region = cn-east-2
oss.endpoint = obs.cn-east-2.myhuaweicloud.com
file.bucket = whlg-oss-prod-002
file.original.url = http://whlg-oss-001.obs.cn-east-2.myhuaweicloud.com/
input.bucket = whlg-oss-prod-001
oss.region.bj = oss-cn-beijing
oss.endpoint.bj = http://oss-cn-beijing-internal.aliyuncs.com
live.bucket = whlg-oss-livedev
oss.endpoint.bj = http://oss-cn-beijing.aliyuncs.com
live.bucket = whlg-oss-live
live.original.url = http://whlg-oss-livedev.oss-cn-beijing.aliyuncs.com/
by.bucket = byfile-oss-01
by.original.url = http://byfile-oss-01.oss-cn-hangzhou.aliyuncs.com/
## mts
mts.region = cn-hangzhou
mts.endpoint = mts.cn-hangzhou.aliyuncs.com
mts.region = cn-east-2
mts.endpoint = mpc.cn-east-2.myhuaweicloud.com
pipelineid = a63c988125054b07b1d3bd6e10c327de
mp3TemplateId = d60210d2fd5bfcacce66238142437965
mp4TemplateId = 67745f7eb8b7ca9bcf74d96c2364e6c1
mts.projectId = 07455135488025b22fe7c01fdb631c14
mts.ak = 8J56JHJN5P8OLR5ERKFU
mts.sk = xAlBYlowAhwa9c1Wi4JsX7XkZGFlzlWW3CBHdZWJ
mp3TemplateId = 104257
mp4TemplateId = 104256
m3u8TemplateId = 283cd916aa504502b3704f3f5a45addc
mts.region.bj = cn-beijing
......@@ -33,9 +37,13 @@ mp4TemplateId.bj = f4165d42e5eb680c8f919f960f35059c
## cdn
file.domain.name = oss.5rs.me
file.cdn.url = https://oss.5rs.me/
oss.cdn.urls = http://file.chubanyun.me/,http://file.techdc.cn/,https://file.raysyun.com/,http://file.raysgo.com/,https://file.5rs.me/,https://oss.5rs.me/,http://live.chubanyun.me/,https://download.5rs.me/,http://rays-adviser.chubanyun.me/,https://byfile.1wlshu.com/
oss.cdn.urls = http://file.chubanyun.me/,http://file.techdc.cn/,https://file.raysyun.com/,http://file.raysgo.com/,http://oss.raysgo.com/,https://file.5rs.me/,https://oss.5rs.me/,http://live.chubanyun.me/,https://download.5rs.me/,http://rays-adviser.chubanyun.me/,https://byfile.1wlshu.com/,https://byfile.raysgo.com/
rays.cdn.urls = https://file.5rs.me/,https://oss.5rs.me/
file.cdn.url.download = https://download.5rs.me/
file.cdn.url.live = http://live.chubanyun.me/
file.cdn.url.by = https://byfile.1wlshu.com/
\ No newline at end of file
file.cdn.url.by = https://byfile.raysgo.com/
huawei.access.key = CROQ0IJRW2FW5NSERZBR
huawei.secret.key = rAbki4thgWx9iKXendlIH3gvKi8JFHUcVOWwObyS
## main
main.access.key.id = LTAIx8FODeVLN3bD
main.access.key.secret = eJbZwTzatZq4SMyDiQeh7NzIHkdAaO
## main Ϊak sk
main.access.key.id = CROQ0IJRW2FW5NSERZBR
main.access.key.secret = rAbki4thgWx9iKXendlIH3gvKi8JFHUcVOWwObyS
## OSS
oss.region = oss-cn-hangzhou
oss.endpoint = http://oss-cn-hangzhou.aliyuncs.com
file.bucket = whlg-oss-002
file.original.url = http://whlg-oss-002.oss-cn-hangzhou.aliyuncs.com/
oss.region = cn-east-2
oss.endpoint = obs.cn-east-2.myhuaweicloud.com
file.bucket = whlg-oss-test-002
file.original.url = http://whlg-oss-001.obs.cn-east-2.myhuaweicloud.com/
input.bucket = whlg-oss-test-001
oss.region.bj = oss-cn-beijing
oss.endpoint.bj = http://oss-cn-beijing.aliyuncs.com
live.bucket = whlg-oss-livedev
live.bucket = whlg-oss-live
live.original.url = http://whlg-oss-livedev.oss-cn-beijing.aliyuncs.com/
by.bucket = byfile-oss-01
by.original.url = http://byfile-oss-01.oss-cn-hangzhou.aliyuncs.com/
## mts
mts.region = cn-hangzhou
mts.endpoint = mts.cn-hangzhou.aliyuncs.com
mts.region = cn-east-2
mts.endpoint = mpc.cn-east-2.myhuaweicloud.com
pipelineid = a63c988125054b07b1d3bd6e10c327de
mp3TemplateId = d60210d2fd5bfcacce66238142437965
mp4TemplateId = 67745f7eb8b7ca9bcf74d96c2364e6c1
mts.projectId = 07455135488025b22fe7c01fdb631c14
mts.ak = 8J56JHJN5P8OLR5ERKFU
mts.sk = xAlBYlowAhwa9c1Wi4JsX7XkZGFlzlWW3CBHdZWJ
mp3TemplateId = 104257
mp4TemplateId = 104256
m3u8TemplateId = 283cd916aa504502b3704f3f5a45addc
mts.region.bj = cn-beijing
......@@ -32,10 +36,14 @@ mp4TemplateId.bj = f4165d42e5eb680c8f919f960f35059c
## cdn
file.domain.name = oss.5rs.me
file.cdn.url = https://oss.5rs.me/
oss.cdn.urls = http://file.chubanyun.me/,http://file.techdc.cn/,https://file.raysyun.com/,http://file.raysgo.com/,http://oss.raysgo.com/,https://file.5rs.me/,https://oss.5rs.me/,http://live.chubanyun.me/,https://download.5rs.me/,http://rays-adviser.chubanyun.me/,https://byfile.1wlshu.com/,https://byfile.raysgo.com/
file.cdn.url = https://oss.raysgo.com/
oss.cdn.urls = http://file.chubanyun.me/,http://file.techdc.cn/,https://file.raysyun.com/,http://file.raysgo.com/,http://oss.raysgo.com/,https://file.5rs.me/,https://oss.5rs.me/,http://live.chubanyun.me/,https://download.5rs.me/,http://rays-adviser.chubanyun.me/,https://byfile.1wlshu.com/,https://byfile.raysgo.com/,https://oss.raysyun.com/
rays.cdn.urls = https://file.5rs.me/,https://oss.5rs.me/
file.cdn.url.download = https://download.5rs.me/
file.cdn.url.live = http://live.chubanyun.me/
file.cdn.url.by = https://byfile.raysgo.com/
huawei.access.key = CROQ0IJRW2FW5NSERZBR
huawei.secret.key = rAbki4thgWx9iKXendlIH3gvKi8JFHUcVOWwObyS
## main
main.access.key.id = LTAIx8FODeVLN3bD
main.access.key.secret = eJbZwTzatZq4SMyDiQeh7NzIHkdAaO
## main Ϊak sk
main.access.key.id = CROQ0IJRW2FW5NSERZBR
main.access.key.secret = rAbki4thgWx9iKXendlIH3gvKi8JFHUcVOWwObyS
## OSS
oss.region = oss-cn-hangzhou
oss.endpoint = http://oss-cn-hangzhou.aliyuncs.com
file.bucket = whlg-oss-002
file.original.url = http://whlg-oss-002.oss-cn-hangzhou.aliyuncs.com/
oss.region = cn-east-2
oss.endpoint = obs.cn-east-2.myhuaweicloud.com
file.bucket = whlg-oss-uat-002
file.original.url = http://whlg-oss-001.obs.cn-east-2.myhuaweicloud.com/
input.bucket = whlg-oss-uat-001
oss.region.bj = oss-cn-beijing
oss.endpoint.bj = http://oss-cn-beijing.aliyuncs.com
live.bucket = whlg-oss-livedev
live.bucket = whlg-oss-live
live.original.url = http://whlg-oss-livedev.oss-cn-beijing.aliyuncs.com/
by.bucket = byfile-oss-01
by.original.url = http://byfile-oss-01.oss-cn-hangzhou.aliyuncs.com/
## mts
mts.region = cn-hangzhou
mts.endpoint = mts.cn-hangzhou.aliyuncs.com
mts.region = cn-east-2
mts.endpoint = mpc.cn-east-2.myhuaweicloud.com
pipelineid = a63c988125054b07b1d3bd6e10c327de
mp3TemplateId = d60210d2fd5bfcacce66238142437965
mp4TemplateId = 67745f7eb8b7ca9bcf74d96c2364e6c1
mts.projectId = 07455135488025b22fe7c01fdb631c14
mts.ak = 8J56JHJN5P8OLR5ERKFU
mts.sk = xAlBYlowAhwa9c1Wi4JsX7XkZGFlzlWW3CBHdZWJ
mp3TemplateId = 104257
mp4TemplateId = 104256
m3u8TemplateId = 283cd916aa504502b3704f3f5a45addc
mts.region.bj = cn-beijing
......@@ -32,10 +36,14 @@ mp4TemplateId.bj = f4165d42e5eb680c8f919f960f35059c
## cdn
file.domain.name = oss.5rs.me
file.cdn.url = https://oss.5rs.me/
oss.cdn.urls = http://file.chubanyun.me/,http://file.techdc.cn/,https://file.raysyun.com/,http://file.raysgo.com/,https://file.5rs.me/,https://oss.5rs.me/,http://live.chubanyun.me/,https://download.5rs.me/,http://rays-adviser.chubanyun.me/,https://byfile.1wlshu.com
file.cdn.url = https://oss.raysyun.com/
oss.cdn.urls = http://file.chubanyun.me/,http://file.techdc.cn/,https://file.raysyun.com/,http://file.raysgo.com/,http://oss.raysgo.com/,https://file.5rs.me/,https://oss.5rs.me/,http://live.chubanyun.me/,https://download.5rs.me/,http://rays-adviser.chubanyun.me/,https://byfile.1wlshu.com/,https://byfile.raysgo.com/,https://oss.raysyun.com/
rays.cdn.urls = https://file.5rs.me/,https://oss.5rs.me/
file.cdn.url.download = https://download.5rs.me/
file.cdn.url.live = http://live.chubanyun.me/
file.cdn.url.by = https://byfile.1wlshu.com
\ No newline at end of file
file.cdn.url.by = https://byfile.raysgo.com/
huawei.access.key = CROQ0IJRW2FW5NSERZBR
huawei.secret.key = rAbki4thgWx9iKXendlIH3gvKi8JFHUcVOWwObyS
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.pcloud.common</groupId>
<artifactId>pcloud-common-parent</artifactId>
<version>2.1.0-RELEASE</version>
</parent>
<artifactId>pcloud-common</artifactId>
<packaging>jar</packaging>
<version>${pcloud-common.version}</version>
<name>pcloud-common</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.pcloud.common</groupId>
<artifactId>pcloud-common-config</artifactId>
<version>${pcloud-common-config.version}</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- Spring Boot Begin -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- Spring Boot Begin -->
<!-- Spring Cloud Begin -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-feign</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-ribbon</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-turbine</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-hystrix</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-hystrix-dashboard</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.retry</groupId>
<artifactId>spring-retry</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-stream-rabbit</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-spring-legacy</artifactId>
<version>1.0.0-rc.2</version>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-influx</artifactId>
<version>1.0.0-rc.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.7.0</version>
</dependency>
<!-- Spring Cloud End -->
<!-- Common Dependency Begin -->
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-access</artifactId>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
</dependency>
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
<dependency>
<groupId>net.sourceforge.jexcelapi</groupId>
<artifactId>jxl</artifactId>
</dependency>
<dependency>
<groupId>org.jdom</groupId>
<artifactId>jdom2</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
</dependency>
<!-- Common Dependency End -->
<!-- sftp begin -->
<dependency>
<groupId>com.jcraft</groupId>
<artifactId>jsch</artifactId>
</dependency>
<!-- sftp end -->
<!-- google Begin -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
<!-- google End -->
<!-- ftp begin -->
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>3.4</version>
</dependency>
<!-- ftp end -->
<!-- logback-json -->
<!-- by shichunshan 2016/09/18 -->
<dependency>
<groupId>ch.qos.logback.contrib</groupId>
<artifactId>logback-json-core</artifactId>
</dependency>
<dependency>
<groupId>ch.qos.logback.contrib</groupId>
<artifactId>logback-json-classic</artifactId>
</dependency>
<dependency>
<groupId>ch.qos.logback.contrib</groupId>
<artifactId>logback-jackson</artifactId>
</dependency>
<dependency>
<groupId>commons-pool</groupId>
<artifactId>commons-pool</artifactId>
</dependency>
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/org.freemarker/freemarker -->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
</dependency>
<!-- 图片处理工具 added by songx at 2017-05-17 -->
<dependency>
<groupId>net.coobird</groupId>
<artifactId>thumbnailator</artifactId>
</dependency>
<!-- 压缩工具 added by songx at 2017-05-24 -->
<dependency>
<groupId>com.github.junrar</groupId>
<artifactId>junrar</artifactId>
</dependency>
<!-- 二维码 added by songx at 2017-05-24 -->
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
</dependency>
<!-- 影音转换工具jar add by gaop at 2017-6-9 16:50:19 -->
<dependency>
<groupId>com.jave</groupId>
<artifactId>jave</artifactId>
<version>1.0.3</version>
</dependency>
<!-- 阿里云媒体转码SDK包 added by songx at 2017-06-22 -->
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
</dependency>
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-mts</artifactId>
</dependency>
<!-- Jackson Begin -->
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
</dependency>
<!-- Jackson End -->
<dependency>
<groupId>jdom</groupId>
<artifactId>jdom</artifactId>
<version>1.0</version>
</dependency>
<!-- Excel导出工具包 -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.16</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.16</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.1</version>
</dependency>
<!-- end -->
<!-- 文件编码 -->
<dependency>
<groupId>antlr</groupId>
<artifactId>antlr</artifactId>
</dependency>
<dependency>
<groupId>com.chardet</groupId>
<artifactId>chardet</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>com.cpdetector</groupId>
<artifactId>cpdetector</artifactId>
<version>1.0.10</version>
</dependency>
<!-- END -->
<!-- 生成PDF -->
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.12</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext-asian</artifactId>
<version>5.2.0</version>
</dependency>
<!-- 生成WORD -->
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
<version>2.1.7</version>
</dependency>
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext-rtf</artifactId>
<version>2.1.7</version>
</dependency>
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext-asian</artifactId>
<version>1.5.2</version>
</dependency>
<dependency>
<groupId>com.github.jai-imageio</groupId>
<artifactId>jai-imageio-jpeg2000</artifactId>
<version>1.3.0</version>
</dependency>
<dependency>
<groupId>com.levigo.jbig2</groupId>
<artifactId>levigo-jbig2-imageio</artifactId>
<version>2.0</version>
</dependency>
<!-- lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!-- util sdk -->
<dependency>
<groupId>com.dcg.sdk</groupId>
<artifactId>util-sdk</artifactId>
<version>1.0.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/cn.hutool/hutool-all -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.3.2</version>
</dependency>
</dependencies>
</project>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.pcloud.common</groupId>
<artifactId>pcloud-common-parent</artifactId>
<version>2.1.0-RELEASE</version>
</parent>
<artifactId>pcloud-common</artifactId>
<packaging>jar</packaging>
<version>${pcloud-common.version}</version>
<name>pcloud-common</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.pcloud.common</groupId>
<artifactId>pcloud-common-config</artifactId>
<version>${pcloud-common-config.version}</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- Spring Boot Begin -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- Spring Boot Begin -->
<!-- Spring Cloud Begin -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-feign</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-ribbon</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-turbine</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-hystrix</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-hystrix-dashboard</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.retry</groupId>
<artifactId>spring-retry</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-stream-rabbit</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-spring-legacy</artifactId>
<version>1.0.0-rc.2</version>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-influx</artifactId>
<version>1.0.0-rc.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.7.0</version>
</dependency>
<!-- Spring Cloud End -->
<!-- Common Dependency Begin -->
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-access</artifactId>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
</dependency>
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
</dependency>
<!-- <dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>3.6.0</version>
</dependency>-->
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
<dependency>
<groupId>net.sourceforge.jexcelapi</groupId>
<artifactId>jxl</artifactId>
</dependency>
<dependency>
<groupId>org.jdom</groupId>
<artifactId>jdom2</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
</dependency>
<!-- Common Dependency End -->
<!-- sftp begin -->
<dependency>
<groupId>com.jcraft</groupId>
<artifactId>jsch</artifactId>
</dependency>
<!-- sftp end -->
<!-- google Begin -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
<!-- google End -->
<!-- ftp begin -->
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>3.4</version>
</dependency>
<!-- ftp end -->
<!-- logback-json -->
<!-- by shichunshan 2016/09/18 -->
<dependency>
<groupId>ch.qos.logback.contrib</groupId>
<artifactId>logback-json-core</artifactId>
</dependency>
<dependency>
<groupId>ch.qos.logback.contrib</groupId>
<artifactId>logback-json-classic</artifactId>
</dependency>
<dependency>
<groupId>ch.qos.logback.contrib</groupId>
<artifactId>logback-jackson</artifactId>
</dependency>
<dependency>
<groupId>commons-pool</groupId>
<artifactId>commons-pool</artifactId>
</dependency>
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/org.freemarker/freemarker -->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
</dependency>
<!-- 图片处理工具 added by songx at 2017-05-17 -->
<dependency>
<groupId>net.coobird</groupId>
<artifactId>thumbnailator</artifactId>
</dependency>
<!-- 压缩工具 added by songx at 2017-05-24 -->
<dependency>
<groupId>com.github.junrar</groupId>
<artifactId>junrar</artifactId>
</dependency>
<!-- 二维码 added by songx at 2017-05-24 -->
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
</dependency>
<!-- 影音转换工具jar add by gaop at 2017-6-9 16:50:19 -->
<dependency>
<groupId>com.jave</groupId>
<artifactId>jave</artifactId>
<version>1.0.3</version>
</dependency>
<!-- 阿里云媒体转码SDK包 added by songx at 2017-06-22 -->
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
</dependency>
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-mts</artifactId>
</dependency>
<!--华为云媒体转码SDK包 -->
<dependency>
<groupId>com.huawei.mpc</groupId>
<artifactId>cloud-java-sdk-mpc</artifactId>
</dependency>
<dependency>
<groupId>com.squareup.retrofit2</groupId>
<artifactId>retrofit</artifactId>
</dependency>
<dependency>
<groupId>com.huaweicloud</groupId>
<artifactId>esdk-obs-java</artifactId>
<version>3.19.7</version>
</dependency>
<!-- Jackson Begin -->
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
</dependency>
<!-- Jackson End -->
<dependency>
<groupId>jdom</groupId>
<artifactId>jdom</artifactId>
<version>1.0</version>
</dependency>
<!-- Excel导出工具包 -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.16</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.16</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.1</version>
</dependency>
<!-- end -->
<!-- 文件编码 -->
<dependency>
<groupId>antlr</groupId>
<artifactId>antlr</artifactId>
</dependency>
<dependency>
<groupId>com.chardet</groupId>
<artifactId>chardet</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>com.cpdetector</groupId>
<artifactId>cpdetector</artifactId>
<version>1.0.10</version>
</dependency>
<!-- END -->
<!-- 生成PDF -->
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.12</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext-asian</artifactId>
<version>5.2.0</version>
</dependency>
<!-- 生成WORD -->
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
<version>2.1.7</version>
</dependency>
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext-rtf</artifactId>
<version>2.1.7</version>
</dependency>
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext-asian</artifactId>
<version>1.5.2</version>
</dependency>
<dependency>
<groupId>com.github.jai-imageio</groupId>
<artifactId>jai-imageio-jpeg2000</artifactId>
<version>1.3.0</version>
</dependency>
<dependency>
<groupId>com.levigo.jbig2</groupId>
<artifactId>levigo-jbig2-imageio</artifactId>
<version>2.0</version>
</dependency>
<!-- lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!-- util sdk -->
<dependency>
<groupId>com.dcg.sdk</groupId>
<artifactId>util-sdk</artifactId>
<version>1.0.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/cn.hutool/hutool-all -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.3.2</version>
</dependency>
</dependencies>
</project>
package com.pcloud.common.constant;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
import com.pcloud.common.utils.FileUtils;
import com.pcloud.common.utils.string.StringUtil;
/**
*
*
* @author:songx
* @date:2018年6月25日,下午7:30:21
*/
@Component("aliyunConstant")
@PropertySource(value = { "classpath:aliyun.properties" })
public class AliyunConstant {
/**
* 主账号keyId
*/
public static String MAIN_ACCESS_KEY_ID;
@Value("${main.access.key.id}")
public void setMainAccessKeyId(String mainAccessKeyId) {
MAIN_ACCESS_KEY_ID = mainAccessKeyId;
}
/**
* 主账号keySecret
*/
public static String MAIN_ACCESS_KEY_SECRET;
@Value("${main.access.key.secret}")
public void setMainAccessKeySecret(String mainAccessKeySecret) {
MAIN_ACCESS_KEY_SECRET = mainAccessKeySecret;
}
/**
* 媒体转码,华东地区
*/
public static String MTS_REGION;
@Value("${mts.region}")
public void setMtsRegion(String mtsRegion) {
MTS_REGION = mtsRegion;
}
/**
* 媒体转码,华北地区
*/
public static String MTS_REGION_BJ;
@Value("${mts.region.bj}")
public void setMtsRegionBj(String mtsRegionBj) {
MTS_REGION_BJ = mtsRegionBj;
}
/**
* OSS,华东地区
*/
public static String OSS_REGION;
@Value("${oss.region}")
public void setOssRegion(String ossRegion) {
OSS_REGION = ossRegion;
}
/**
* OSS,华北地区
*/
public static String OSS_REGION_BJ;
@Value("${oss.region.bj}")
public void setOssRegionBj(String ossRegionBj) {
OSS_REGION_BJ = ossRegionBj;
}
/**
* OSS endpoind地址(华东地区1)
*/
public static String OSS_ENDPOINT;
@Value("${oss.endpoint}")
public void setOssEndpoint(String ossEndpoint) {
OSS_ENDPOINT = ossEndpoint;
}
/**
* OSS endpoind地址(华北地区1)
*/
public static String OSS_ENDPOINT_BJ;
@Value("${oss.endpoint.bj}")
public void setOssEndpointBj(String ossEndpointBj) {
OSS_ENDPOINT_BJ = ossEndpointBj;
}
/**
* 媒体转码endpoind地址,华东地区
*/
public static String MTS_ENDPOINT;
@Value("${mts.endpoint}")
public void setMtsEndpoint(String mtsEndpoint) {
MTS_ENDPOINT = mtsEndpoint;
}
/**
* 媒体转码endpoind地址,华北地区
*/
public static String MTS_ENDPOINT_BJ;
@Value("${mts.endpoint.bj}")
public void setMtsEndpointBj(String mtsEndpointBj) {
MTS_ENDPOINT_BJ = mtsEndpointBj;
}
/**
* 管道ID
*/
public static String PIPELINEID;
@Value("${pipelineid}")
public void setPipelineid(String pipelineid) {
PIPELINEID = pipelineid;
}
/**
* 管道ID(华北地区)
*/
public static String PIPELINEID_BJ;
@Value("${pipelineid.bj}")
public void setPipelineidBj(String pipelineidBj) {
PIPELINEID_BJ = pipelineidBj;
}
/**
* 转MP3模板ID
*/
public static String MP3_TEMPLATE_ID;
@Value("${mp3TemplateId}")
public void setMp3TemplateId(String mp3TemplateId) {
MP3_TEMPLATE_ID = mp3TemplateId;
}
/**
* 转MP3模板ID(华北地区)
*/
public static String MP3_TEMPLATE_ID_BJ;
@Value("${mp3TemplateId.bj}")
public void setMp3TemplateIdBj(String mp3TemplateIdBj) {
MP3_TEMPLATE_ID_BJ = mp3TemplateIdBj;
}
/**
* 转M3U8模板ID
*/
public static String M3U8_TEMPLATE_ID;
@Value("${m3u8TemplateId}")
public void setM3u8TemplateId(String m3u8TemplateId) {
M3U8_TEMPLATE_ID = m3u8TemplateId;
}
/**
* 转MP4模板ID
*/
public static String MP4_TEMPLATE_ID;
@Value("${mp4TemplateId}")
public void setMp4TemplateId(String mp4TemplateId) {
MP4_TEMPLATE_ID = mp4TemplateId;
}
/**
* 转MP4模板ID(华北地区)
*/
public static String MP4_TEMPLATE_ID_BJ;
@Value("${mp4TemplateId}")
public void setMp4TemplateIdBj(String mp4TemplateIdBj) {
MP4_TEMPLATE_ID_BJ = mp4TemplateIdBj;
}
/**
* OSS存储输入地址
*/
public static final String INPUT_BUCKET = "whlg-oss-001";
/**
* OSS存储输出地址
*/
public static String FILE_BUCKET;
@Value("${file.bucket}")
public void setFileBucket(String fileBucket) {
FILE_BUCKET = fileBucket;
}
/**
* 直播OSS存储输出地址,开发环境
*/
public static String LIVE_BUCKET;
@Value("${live.bucket}")
public void setLiveBucket(String liveBucket) {
LIVE_BUCKET = liveBucket;
}
/**
* IOS直播OSS存储输出地址,开发环境
*/
public static final String IOS_TEST_BUCKET = "whlg-oss-iostest";
/**
* 版元存储输出地址
*/
public static final String BY_BUCKET = "byfile-oss-01";
/**
* 开发存储输出地址
*/
public static final String DEV_BUCKET = "whlg-oss-dev";
/**
* 测试存储输出地址
*/
public static final String TEST_BUCKET = "whlg-oss-test";
/**
* UAT存储输出地址
*/
public static final String UAT_BUCKET = "whlg-oss-uat";
/**
* OSS 鉴权KEY(仅限下载用)
*/
public static final String OSS_PRIVATE_KEY = "WhlgFileDownload1608";
/**
* OSS 鉴权默认有效时间
*/
public static final int OSS_DEFAULT_TIME = 48 * 60 * 60;
/**
* OSS 鉴权长期有效,50年
*/
public static final int OSS_LONG_TIME = 50 * 365 * 24 * 60 * 60;
/**
* RAYS OSS的域名
*/
public static String[] RAYS_CDN_URLS;
@Value("${rays.cdn.urls}")
public void setRaysCdnUrls(String raysCdnUrls) {
RAYS_CDN_URLS = raysCdnUrls.split(",");
}
/**
* oss FILE域名,HTTPS
*/
public static String[] OSS_CDN_URLS;
@Value("${oss.cdn.urls}")
public void setOssCdnUrls(String ossCdnUrls) {
OSS_CDN_URLS = ossCdnUrls.split(",");
}
/**
* OSS CDN域名,HTTPS
*/
public static String FILE_CDN_URL;
@Value("${file.cdn.url}")
public void setFileCdnUrl(String fileCdnUrl) {
FILE_CDN_URL = fileCdnUrl;
}
/**
* OSS CDN域名,HTTPS(直播)
*/
public static String FILE_CDN_URL_LIVE;
@Value("${file.cdn.url.live}")
public void setFileCdnUrlLive(String fileCdnUrlLive) {
FILE_CDN_URL_LIVE = fileCdnUrlLive;
}
/**
* OSS CDN域名,HTTPS(直播)
*/
public static String FILE_CDN_URL_BY;
@Value("${file.cdn.url.by}")
public void setFileCdnUrlBy(String fileCdnUrlBy) {
FILE_CDN_URL_BY = fileCdnUrlBy;
}
/**
* OSS CDN域名(下载使用)
*/
public static String FILE_CDN_URL_DOWNLOAD;
@Value("${file.cdn.url.download}")
public void setFileCdnUrlDownload(String fileCdnUrlDownload) {
FILE_CDN_URL_DOWNLOAD = fileCdnUrlDownload;
}
/**
* OSS 原始文件路径
*/
public static String FILE_ORIGINAL_URL;
@Value("${file.original.url}")
public void setFileOriginalUrl(String fileOriginalUrl) {
FILE_ORIGINAL_URL = fileOriginalUrl;
}
/**
* OSS 原始文件路径(直播)
*/
public static String LIVE_ORIGINAL_URL;
@Value("${live.original.url}")
public void setLiveOriginalUrl(String liveOriginalUrl) {
LIVE_ORIGINAL_URL = liveOriginalUrl;
}
/**
* OSS 原始文件路径(版元)
*/
public static String BY_ORIGINAL_URL;
@Value("${by.original.url}")
public void setByOriginalUrl(String byOriginalUrl) {
BY_ORIGINAL_URL = byOriginalUrl;
}
/**
* 视频水印模板ID-左下角
*/
public static final String WATERMARK_BOTTOM_LEFT = "cb8fe5517c5a44c19284cdf130dd223d";
/**
* 根据域名获取bucket名称
*
* @param fileUrl
* @return
*/
public static String getBucketName(String fileUrl) {
if (StringUtil.isEmpty(fileUrl)) {
return null;
}
String domainName = FileUtils.getDomainName(fileUrl);
if (domainName == null) {
return INPUT_BUCKET;
}
switch (domainName) {
case "file.chubanyun.me":
return DEV_BUCKET;
case "file.techdc.cn":
case "file.raysgo.com":
return TEST_BUCKET;
case "file.raysyun.com":
return UAT_BUCKET;
case "live.chubanyun.me":
return LIVE_BUCKET;
case "rays-adviser.chubanyun.me":
return IOS_TEST_BUCKET;
case "byfile.1wlshu.com":
case "byfile.raysgo.com":
return BY_BUCKET;
case "file.5rs.me":
case "oss.5rs.me":
case "download.5rs.me":
return FILE_BUCKET;
default:
return INPUT_BUCKET;
}
}
/**
* 获取OSS地域名称
*
* @param bucketName
* @return
*/
public static String getOssRegion(String bucketName) {
if (StringUtil.isEmpty(bucketName)) {
return null;
}
if (LIVE_BUCKET.equals(bucketName))
return OSS_REGION_BJ;
else
return OSS_REGION;
}
/**
* 获取媒体转码地域名称
*
* @param bucketName
* @return
*/
public static String getMtsRegion(String bucketName) {
if (StringUtil.isEmpty(bucketName)) {
return null;
}
if (LIVE_BUCKET.equals(bucketName))
return MTS_REGION_BJ;
else
return MTS_REGION;
}
/**
* 获取媒体转码EndPoint
*
* @param bucketName
* @return
*/
public static String getMtsEndPoint(String bucketName) {
if (StringUtil.isEmpty(bucketName)) {
return null;
}
if (LIVE_BUCKET.equals(bucketName))
return MTS_ENDPOINT_BJ;
else
return MTS_ENDPOINT;
}
/**
* 获取OSS输出bucket
*
* @param bucketName
* @return
*/
public static String getOutBucket(String bucketName) {
if (StringUtil.isEmpty(bucketName)) {
return null;
}
if (LIVE_BUCKET.equals(bucketName))
return LIVE_BUCKET;
else if (BY_BUCKET.equals(bucketName))
return BY_BUCKET;
else
return FILE_BUCKET;
}
/**
* 获取转码管道ID
*
* @param bucketName
* @return
*/
public static String getPipelineId(String bucketName) {
if (StringUtil.isEmpty(bucketName)) {
return null;
}
if (LIVE_BUCKET.equals(bucketName))
return PIPELINEID_BJ;
else
return PIPELINEID;
}
/**
* 获取MP3转码模板ID
*
* @param bucketName
* @return
*/
public static String getMp3TemplateId(String bucketName) {
if (StringUtil.isEmpty(bucketName)) {
return null;
}
if (LIVE_BUCKET.equals(bucketName))
return MP3_TEMPLATE_ID_BJ;
else
return MP3_TEMPLATE_ID;
}
/**
* 获取MP4转码模板ID
*
* @param bucketName
* @return
*/
public static String getMp4TemplateId(String bucketName) {
if (StringUtil.isEmpty(bucketName)) {
return null;
}
if (LIVE_BUCKET.equals(bucketName))
return MP4_TEMPLATE_ID_BJ;
else
return MP4_TEMPLATE_ID;
}
/**
* 获取视频转码模板ID
*
* @param bucketName
* @return
*/
public static String getVideoTemplateId(String bucketName, String outFileType) {
if (StringUtil.isEmpty(outFileType)) {
return null;
}
if (LIVE_BUCKET.equals(bucketName))
return MP4_TEMPLATE_ID_BJ;
else if ("m3u8".equalsIgnoreCase(outFileType))
return M3U8_TEMPLATE_ID;
else
return MP4_TEMPLATE_ID;
}
/**
* 获取文件CDN地址
*
* @param bucketName
* @return
*/
public static String getOSSCDNUrl(String bucketName) {
if (StringUtil.isEmpty(bucketName)) {
return null;
}
if (LIVE_BUCKET.equals(bucketName))
return FILE_CDN_URL_LIVE;
else if (BY_BUCKET.equals(bucketName))
return FILE_CDN_URL_BY;
else
return FILE_CDN_URL;
}
/**
* 获取OSS原始地址
*
* @param bucketName
* @return
*/
public static String getOSSOriginalUrl(String bucketName) {
if (StringUtil.isEmpty(bucketName)) {
return null;
}
if (LIVE_BUCKET.equals(bucketName))
return LIVE_ORIGINAL_URL;
else if (BY_BUCKET.equals(bucketName))
return BY_ORIGINAL_URL;
else
return FILE_ORIGINAL_URL;
}
/**
* 获取OSS EndPoint地址
*
* @param bucketName
* @return
*/
public static String getOSSEndPoint(String bucketName) {
if (StringUtil.isEmpty(bucketName)) {
return null;
}
if (LIVE_BUCKET.equals(bucketName))
return OSS_ENDPOINT_BJ;
else
return OSS_ENDPOINT;
}
}
package com.pcloud.common.constant;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
import com.pcloud.common.utils.FileUtils;
import com.pcloud.common.utils.string.StringUtil;
/**
*
*
* @author:songx
* @date:2018年6月25日,下午7:30:21
*/
@Component("aliyunConstant")
@PropertySource(value = { "classpath:aliyun.properties" })
public class AliyunConstant {
/**
* 主账号keyId,华为云ak
*/
public static String MAIN_ACCESS_KEY_ID;
@Value("${main.access.key.id}")
public void setMainAccessKeyId(String mainAccessKeyId) {
MAIN_ACCESS_KEY_ID = mainAccessKeyId;
}
/**
* 主账号keySecret 华为云sk
*/
public static String MAIN_ACCESS_KEY_SECRET;
@Value("${main.access.key.secret}")
public void setMainAccessKeySecret(String mainAccessKeySecret) {
MAIN_ACCESS_KEY_SECRET = mainAccessKeySecret;
}
/**
* 媒体转码,华东地区
*/
public static String MTS_REGION;
@Value("${mts.region}")
public void setMtsRegion(String mtsRegion) {
MTS_REGION = mtsRegion;
}
/**
* 媒体转码,华北地区
*/
public static String MTS_REGION_BJ;
@Value("cn-north-4")
public void setMtsRegionBj(String mtsRegionBj) {
MTS_REGION_BJ = mtsRegionBj;
}
/**
* OSS,华东地区
*/
public static String OSS_REGION;
@Value("${oss.region}")
public void setOssRegion(String ossRegion) {
OSS_REGION = ossRegion;
}
/**
* OSS,华北地区
*/
public static String OSS_REGION_BJ;
@Value("cn-north-4")
public void setOssRegionBj(String ossRegionBj) {
OSS_REGION_BJ = ossRegionBj;
}
/**
* OSS endpoind地址(华东地区1)
*/
public static String OSS_ENDPOINT;
@Value("${oss.endpoint}")
public void setOssEndpoint(String ossEndpoint) {
OSS_ENDPOINT = ossEndpoint;
}
/**
* OSS endpoind地址(华北地区1)
*/
public static String OSS_ENDPOINT_BJ;
@Value("${oss.endpoint.bj}")
public void setOssEndpointBj(String ossEndpointBj) {
OSS_ENDPOINT_BJ = ossEndpointBj;
}
/**
* 媒体转码endpoind地址,华东地区
*/
public static String MTS_ENDPOINT;
@Value("${mts.endpoint}")
public void setMtsEndpoint(String mtsEndpoint) {
MTS_ENDPOINT = mtsEndpoint;
}
/**
* 媒体转码endpoind地址,华北地区
*/
public static String MTS_ENDPOINT_BJ;
@Value("live.cn-north-4.myhuaweicloud.com")
public void setMtsEndpointBj(String mtsEndpointBj) {
MTS_ENDPOINT_BJ = mtsEndpointBj;
}
/**
* 管道ID
*/
public static String PIPELINEID;
@Value("${pipelineid}")
public void setPipelineid(String pipelineid) {
PIPELINEID = pipelineid;
}
/**
* 管道ID(华北地区)
*/
public static String PIPELINEID_BJ;
@Value("${pipelineid.bj}")
public void setPipelineidBj(String pipelineidBj) {
PIPELINEID_BJ = pipelineidBj;
}
/**
* 设置用户项目编号ProjectId
*/
public static String PROJECT_ID;
@Value("${mts.projectId}")
public void setProjectId(String projectId) {
PROJECT_ID = projectId;
}
/**
* 转MP3模板ID
*/
public static String MP3_TEMPLATE_ID;
@Value("${mp3TemplateId}")
public void setMp3TemplateId(String mp3TemplateId) {
MP3_TEMPLATE_ID = mp3TemplateId;
}
/**
* 转MP3模板ID(华北地区)
*/
public static String MP3_TEMPLATE_ID_BJ;
@Value("${mp3TemplateId.bj}")
public void setMp3TemplateIdBj(String mp3TemplateIdBj) {
MP3_TEMPLATE_ID_BJ = mp3TemplateIdBj;
}
/**
* 转M3U8模板ID
*/
public static String M3U8_TEMPLATE_ID;
@Value("${m3u8TemplateId}")
public void setM3u8TemplateId(String m3u8TemplateId) {
M3U8_TEMPLATE_ID = m3u8TemplateId;
}
/**
* 转MP4模板ID
*/
public static String MP4_TEMPLATE_ID;
@Value("${mp4TemplateId}")
public void setMp4TemplateId(String mp4TemplateId) {
MP4_TEMPLATE_ID = mp4TemplateId;
}
/**
* 转MP4模板ID(华北地区)
*/
public static String MP4_TEMPLATE_ID_BJ;
@Value("125799")
public void setMp4TemplateIdBj(String mp4TemplateIdBj) {
MP4_TEMPLATE_ID_BJ = mp4TemplateIdBj;
}
/**
* OSS存储输入地址
*/
public static String INPUT_BUCKET;
@Value("${input.bucket}")
public void setInputBucket(String imputBucket) {
INPUT_BUCKET = imputBucket;
}
/**
* OSS存储输出地址
*/
public static String FILE_BUCKET;
@Value("${file.bucket}")
public void setFileBucket(String fileBucket) {
FILE_BUCKET = fileBucket;
}
/**
* 直播OSS存储输出地址,开发环境
*/
public static String LIVE_BUCKET;
@Value("${live.bucket}")
public void setLiveBucket(String liveBucket) {
LIVE_BUCKET = liveBucket;
}
/**
* IOS直播OSS存储输出地址,开发环境
*/
public static final String IOS_TEST_BUCKET = "whlg-oss-iostest";
/**
* 版元存储输出地址
*/
public static String BY_BUCKET;
@Value("${by.bucket}")
public void setByBucket(String byBucket){
BY_BUCKET = byBucket;
}
/**
* 开发存储输出地址
*/
public static final String DEV_BUCKET = "whlg-oss-dev-002";
/**
* 测试存储输出地址
*/
public static final String TEST_BUCKET = "whlg-oss-test-002";
/**
* UAT存储输出地址
*/
public static final String UAT_BUCKET = "whlg-oss-uat-002";
/**
* OSS 鉴权KEY(仅限下载用)
*/
public static final String OSS_PRIVATE_KEY = "WhlgFileDownload1608";
/**
* OSS 鉴权默认有效时间
*/
public static final int OSS_DEFAULT_TIME = 48 * 60 * 60;
/**
* OSS 鉴权长期有效,50年
*/
public static final int OSS_LONG_TIME = 50 * 365 * 24 * 60 * 60;
/**
* RAYS OSS的域名
*/
public static String[] RAYS_CDN_URLS;
@Value("${rays.cdn.urls}")
public void setRaysCdnUrls(String raysCdnUrls) {
RAYS_CDN_URLS = raysCdnUrls.split(",");
}
/**
* oss FILE域名,HTTPS
*/
public static String[] OSS_CDN_URLS;
@Value("${oss.cdn.urls}")
public void setOssCdnUrls(String ossCdnUrls) {
OSS_CDN_URLS = ossCdnUrls.split(",");
}
/**
* OSS CDN域名,HTTPS
*/
public static String FILE_CDN_URL;
@Value("${file.cdn.url}")
public void setFileCdnUrl(String fileCdnUrl) {
FILE_CDN_URL = fileCdnUrl;
}
/**
* OSS CDN域名,HTTPS(直播)
*/
public static String FILE_CDN_URL_LIVE;
@Value("${file.cdn.url.live}")
public void setFileCdnUrlLive(String fileCdnUrlLive) {
FILE_CDN_URL_LIVE = fileCdnUrlLive;
}
/**
* OSS CDN域名,HTTPS(直播)
*/
public static String FILE_CDN_URL_BY;
@Value("${file.cdn.url.by}")
public void setFileCdnUrlBy(String fileCdnUrlBy) {
FILE_CDN_URL_BY = fileCdnUrlBy;
}
/**
* OSS CDN域名(下载使用)
*/
public static String FILE_CDN_URL_DOWNLOAD;
@Value("${file.cdn.url.download}")
public void setFileCdnUrlDownload(String fileCdnUrlDownload) {
FILE_CDN_URL_DOWNLOAD = fileCdnUrlDownload;
}
/**
* OSS 原始文件路径
*/
public static String FILE_ORIGINAL_URL;
@Value("${file.original.url}")
public void setFileOriginalUrl(String fileOriginalUrl) {
FILE_ORIGINAL_URL = fileOriginalUrl;
}
/**
* OSS 原始文件路径(直播)
*/
public static String LIVE_ORIGINAL_URL;
@Value("${live.original.url}")
public void setLiveOriginalUrl(String liveOriginalUrl) {
LIVE_ORIGINAL_URL = liveOriginalUrl;
}
/**
* OSS 原始文件路径(版元)
*/
public static String BY_ORIGINAL_URL;
@Value("${by.original.url}")
public void setByOriginalUrl(String byOriginalUrl) {
BY_ORIGINAL_URL = byOriginalUrl;
}
/**
* 华为云转码ak
*/
public static String MtsAK;
@Value("${mts.ak}")
public void setMtsAK(String mtsAK) {
MtsAK = mtsAK;
}
/**
* 华为云转码sk
*/
public static String MtsSK;
@Value("${mts.sk}")
public void setMtsSK(String mtsSK) {
MtsSK = mtsSK;
}
/**
* 视频水印模板ID-左下角
*/
public static final String WATERMARK_BOTTOM_LEFT = "cb8fe5517c5a44c19284cdf130dd223d";
/**
* 华为云Access Key
*/
public static String ACCESS_KEY;
@Value("${huawei.access.key}")
public void setAccessKey(String accessKey) {
ACCESS_KEY = accessKey;
}
/**
* 华为云 Secret Key
*/
public static String SECRET_KEY;
@Value("${huawei.secret.key}")
public static void setSecretKey(String secretKey) {
SECRET_KEY = secretKey;
}
/**
* 根据域名获取bucket名称
*
* @param fileUrl
* @return
*/
public static String getBucketName(String fileUrl) {
if (StringUtil.isEmpty(fileUrl)) {
return null;
}
if (fileUrl.contains("transcode")){
return FILE_BUCKET;
}
String domainName = FileUtils.getDomainName(fileUrl);
if (StringUtil.isEmpty(domainName)) {
return INPUT_BUCKET;
}
//不根据域名判断
switch (domainName) {
// case "file.chubanyun.me":
// return DEV_BUCKET;
// case "file.techdc.cn":
// case "file.raysgo.com":
// case "oss.raysgo.com":
// return TEST_BUCKET;
// case "file.raysyun.com":
// return UAT_BUCKET;
case "live.chubanyun.me":
return LIVE_BUCKET;
case "rays-adviser.chubanyun.me":
return IOS_TEST_BUCKET;
case "byfile.1wlshu.com":
case "byfile.raysgo.com":
return BY_BUCKET;
// case "file.5rs.me":
// case "oss.5rs.me":
// case "download.5rs.me":
// return FILE_BUCKET;
default:
return FILE_BUCKET;
}
}
/**
* 获取OSS地域名称
*
* @param bucketName
* @return
*/
public static String getOssRegion(String bucketName) {
if (StringUtil.isEmpty(bucketName)) {
return null;
}
if (LIVE_BUCKET.equals(bucketName)) {
return OSS_REGION_BJ;
} else {
return OSS_REGION;
}
}
/**
* 获取媒体转码地域名称
*
* @param bucketName
* @return
*/
public static String getMtsRegion(String bucketName) {
if (StringUtil.isEmpty(bucketName)) {
return null;
}
if (LIVE_BUCKET.equals(bucketName)) {
return MTS_REGION_BJ;
} else {
return MTS_REGION;
}
}
/**
* 获取媒体转码EndPoint
*
* @param bucketName
* @return
*/
public static String getMtsEndPoint(String bucketName) {
if (StringUtil.isEmpty(bucketName)) {
return null;
}
if (LIVE_BUCKET.equals(bucketName)) {
return MTS_ENDPOINT_BJ;
} else {
return MTS_ENDPOINT;
}
}
/**
* 获取OSS输出bucket
*
* @param bucketName
* @return
*/
public static String getOutBucket(String bucketName) {
if (StringUtil.isEmpty(bucketName)) {
return null;
}
if (LIVE_BUCKET.equals(bucketName)) {
return LIVE_BUCKET;
} else if (BY_BUCKET.equals(bucketName)) {
return BY_BUCKET;
} else {
return FILE_BUCKET;
}
}
/**
* 获取转码管道ID
*
* @param bucketName
* @return
*/
public static String getPipelineId(String bucketName) {
if (StringUtil.isEmpty(bucketName)) {
return null;
}
if (LIVE_BUCKET.equals(bucketName)) {
return PIPELINEID_BJ;
} else {
return PIPELINEID;
}
}
/**
* 获取MP3转码模板ID
*
* @param bucketName
* @return
*/
public static String getMp3TemplateId(String bucketName) {
if (StringUtil.isEmpty(bucketName)) {
return null;
}
if (LIVE_BUCKET.equals(bucketName)) {
return MP3_TEMPLATE_ID_BJ;
} else {
return MP3_TEMPLATE_ID;
}
}
/**
* 获取MP4转码模板ID
*
* @param bucketName
* @return
*/
public static String getMp4TemplateId(String bucketName) {
if (StringUtil.isEmpty(bucketName)) {
return null;
}
if (LIVE_BUCKET.equals(bucketName)) {
return MP4_TEMPLATE_ID_BJ;
} else {
return MP4_TEMPLATE_ID;
}
}
/**
* 获取视频转码模板ID
*
* @param bucketName
* @return
*/
public static String getVideoTemplateId(String bucketName, String outFileType) {
if (StringUtil.isEmpty(outFileType)) {
return null;
}
if (LIVE_BUCKET.equals(bucketName)) {
return MP4_TEMPLATE_ID_BJ;
} else if ("m3u8".equalsIgnoreCase(outFileType)) {
return M3U8_TEMPLATE_ID;
} else {
return MP4_TEMPLATE_ID;
}
}
/**
* 获取文件CDN地址
*
* @param bucketName
* @return
*/
public static String getOSSCDNUrl(String bucketName) {
if (StringUtil.isEmpty(bucketName)) {
return null;
}
if (LIVE_BUCKET.equals(bucketName)) {
return FILE_CDN_URL_LIVE;
} else if (BY_BUCKET.equals(bucketName)) {
return FILE_CDN_URL_BY;
} else {
return FILE_CDN_URL;
}
}
/**
* 获取OSS原始地址
*
* @param bucketName
* @return
*/
public static String getOSSOriginalUrl(String bucketName) {
if (StringUtil.isEmpty(bucketName)) {
return null;
}
if (LIVE_BUCKET.equals(bucketName)) {
return LIVE_ORIGINAL_URL;
} else if (BY_BUCKET.equals(bucketName)) {
return BY_ORIGINAL_URL;
} else {
return FILE_ORIGINAL_URL;
}
}
/**
* 获取OSS EndPoint地址
*
* @param bucketName
* @return
*/
public static String getOSSEndPoint(String bucketName) {
if (StringUtil.isEmpty(bucketName)) {
return null;
}
if (LIVE_BUCKET.equals(bucketName)) {
return OSS_ENDPOINT_BJ;
} else {
return OSS_ENDPOINT;
}
}
}
This source diff could not be displayed because it is too large. You can view the blob instead.
package com.pcloud.common.utils.aliyun.test;
import static feign.Util.toByteArray;
import com.google.gson.Gson;
import com.huawei.mpc.client.MpcClient;
import com.huawei.mpc.client.MpcConfig;
import com.huawei.mpc.model.ObsObjInfo;
import com.huawei.mpc.model.thumbnail.CreateThumbnailRequest;
import com.huawei.mpc.model.thumbnail.CreateThumbnailResponse;
import com.huawei.mpc.model.thumbnail.QueryThumbTaskRequest;
import com.huawei.mpc.model.thumbnail.QueryThumbTaskResponse;
import com.huawei.mpc.model.transcoding.CreateTranscodingRequest;
import com.huawei.mpc.model.transcoding.CreateTranscodingResponse;
import com.huawei.mpc.model.transcoding.QueryTranscodingRequest;
import com.huawei.mpc.model.transcoding.QueryTranscodingResponse;
import com.huawei.mpc.model.transcoding.TextWatermark;
import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.exceptions.FileException;
import com.pcloud.common.utils.aliyun.OssUtils;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
* @ClassName com.pcloud.auditcenter.utils.test.MPCTest
* @Author zhuyajie
* @Description 转码
* @Date 2020/5/25 17:34
* @Version 1.0
**/
@Slf4j
@RestController
@RequestMapping("mpcTest")
public class MPCTest {
public static final String AK="8J56JHJN5P8OLR5ERKFU";
public static final String SK="xAlBYlowAhwa9c1Wi4JsX7XkZGFlzlWW3CBHdZWJ";
public static final String PROJECT_ID="07455135488025b22fe7c01fdb631c14";
private static MpcClient initMpcClient(){
MpcConfig mpcConfig = new MpcConfig();
mpcConfig.setEndPoint("mpc.cn-east-2.myhuaweicloud.com");// 设置转码节点地址
mpcConfig.setProjectId(PROJECT_ID);// 设置用户项目编号ProjectId
mpcConfig.setSk(SK);// 设置sk
mpcConfig.setAk(AK);// 设置ak
MpcClient mpcClient = new MpcClient(mpcConfig);
return mpcClient;
}
@RequestMapping(value = "transcodeJob", method = RequestMethod.GET)
public void transcodeJob(@RequestParam("fileUrl") String fileUrl, @RequestParam("outPutUrl") String outPutUrl,
@RequestParam("ext") String ext) throws FileException {
// String fileUrl = "oss/transcode/audio/mp3/test_20200529145343507.mp3";
// String outPutUrl = "oss/transcode/audio/mp3/";
// url=oss/transcode/video/mp4/7599ec23e9f8454f8897c4ca64a2df34.mp4
Long templateId=null;
if ("mp3".equals(ext)){
templateId=104257L;
} else {
templateId =104256L;
}
transcodeJob("whlg-oss-test-001",fileUrl,templateId,"cn-east-2",outPutUrl);
}
// public static void main(String[] args) {
// String fileUrl = "oss/transcode/video/mp4/7599ec23e9f8454f8897c4ca64a2df34.mp4";
// String outPutUrl = "oss/transcode/video/mp4/";
// transcodeJob("whlg-oss-test-002",fileUrl,104256L,"cn-east-2",outPutUrl);
//// getTranscodeJob("460368","test");
// }
private static void transcodeJob(String bucketName,String fileUrl, Long templateId,String location,String outputUrl){
// 媒体处理服务构造方法
MpcClient mpcClient = initMpcClient();
//设置媒体处理服务请求参数
CreateTranscodingRequest createTranscodingRequest = new CreateTranscodingRequest();
//设置转码的输入文件路径参数,可通过华为云OBS对象存储服务控制台查看。
ObsObjInfo input = new ObsObjInfo();
//设置输入桶名
input.setBucket(bucketName);
//设置源文件路径
input.setObject(fileUrl);
//设置输入桶所在区域
input.setLocation(location);
createTranscodingRequest.setInput(input);
// 设置转码的输出文件路径参数,可通过华为云OBS对象存储服务控制台查看。
ObsObjInfo output = new ObsObjInfo();
//设置输出桶名
output.setBucket(bucketName);
//设置输出文件路径
output.setObject(outputUrl);
//设置输出桶所在区域
output.setLocation(location);
createTranscodingRequest.setOutput(output);
//设置转码模板ID
List<Long> transTempIds = new ArrayList<Long>();
transTempIds.add(templateId);
createTranscodingRequest.setTransTemplateId(transTempIds);
// 设置水印功能
CreateTranscodingRequest.Watermark watermark = new CreateTranscodingRequest.Watermark();
// watermark.setTemplateId("watermark_template_id");
// 设置水印图片地址
// ObsObjInfo watermarkInput = new ObsObjInfo();
// // 水印图片地址所在桶
// watermarkInput.setBucket(bucketName);
// // 水印图片地址所在路径
// watermarkInput.setObject("objectKey");
// // 水印图片地址所在区域
// watermarkInput.setLocation(location);
// watermark.setInput(watermarkInput);
// 文字水印内容,内容需做Base64编码,
// 示例:若想添加文字水印“测试文字水印”,那么Content的值为:5rWL6K+V5paH5a2X5rC05Y2w
watermark.setTextContext("5rWL6K+V5paH5a2X5rC05Y2w");
TextWatermark textWatermark = new TextWatermark();
// 字体颜色。
// 目前颜色支持black,blue,white,green,red,yellow,brown,gold,pink,orange,purple。
// 默认颜色是white
textWatermark.setFontColor("black");
// 字体,当前支持fzyouh、msyh
// 默认字体是msyh
textWatermark.setFontName("fzyouh");
// 字体大小。默认值:16,范围:(4, 120)
textWatermark.setFontSize(16);
watermark.setTextWatermark(textWatermark);
List<CreateTranscodingRequest.Watermark> watermarks = new ArrayList<CreateTranscodingRequest.Watermark>();
watermarks.add(watermark);
CreateTranscodingRequest.Watermark[] watermarkArray = new CreateTranscodingRequest.Watermark[watermarks.size()];
createTranscodingRequest.setWatermarks(watermarks.toArray(watermarkArray));
//发送媒体处理服务请求
CreateTranscodingResponse createTranscodingResponse = mpcClient.createTranscodingTask(createTranscodingRequest);
//返回消息
log.info(new Gson().toJson(createTranscodingResponse));
}
private static QueryTranscodingResponse getTranscodeJob(String taskId, String bucketName) throws FileException {
MpcClient mpcClient = initMpcClient();
//设置查询转码任务ID
QueryTranscodingRequest queryTranscodingRequest=new QueryTranscodingRequest();
queryTranscodingRequest.setTaskId(taskId);
//发送查询转码任务请求
QueryTranscodingResponse queryTranscodingResponse=mpcClient.queryTranscodingTask(queryTranscodingRequest);
System.out.println(new Gson().toJson(queryTranscodingResponse));
return queryTranscodingResponse;
}
@GetMapping("getTranscodeJob")
public ResponseDto<?> getTranscodeJob(@RequestParam("taskId") String taskId){
QueryTranscodingResponse response = getTranscodeJob(taskId,"test");
return new ResponseDto<>(response);
}
@GetMapping("submitTranscodeJobMp3")
public ResponseDto<?> submitTranscodeJobMp3(){
String filePath = "E:\\KuGou\\Delacey - Dream It Possible.mp3";
String fileName = "test";
String str =OssUtils.submitTranscodeJobMp3(fileName,filePath);
return new ResponseDto<>(str);
}
@GetMapping("submitTranscodeJobMp302")
public ResponseDto<?>submitTranscodeJobMp302() throws IOException {
String filePath = "E:\\KuGou\\Delacey - Dream It Possible.mp3";
InputStream in = new FileInputStream(filePath);
byte[] data = toByteArray(in);
return new ResponseDto<>(OssUtils.submitTranscodeJobMp3(data,"test","mp3"));
}
@GetMapping("submitTranscodeJobMp303")
public ResponseDto<?>submitTranscodeJobMp303() throws FileNotFoundException {
String filePath = "E:\\KuGou\\Delacey - Dream It Possible.mp3";
InputStream in = new FileInputStream(filePath);
return new ResponseDto<>(OssUtils.submitTranscodeJobMp3(in,"test","mp3"));
}
@GetMapping("submitTranscodeJobMp4")
public ResponseDto<?> submitTranscodeJobMp4(){
String filePath = "C:\\Users\\HP\\Desktop\\temp\\test.mp4";
String fileName = "test";
String str =OssUtils.submitTranscodeJobMp4(fileName,filePath);
return new ResponseDto<>(str);
}
@GetMapping("submitTranscodeJobMp402")
public ResponseDto<?>submitTranscodeJobMp402() throws IOException {
String filePath = "C:\\Users\\HP\\Desktop\\temp\\test.mp4";
InputStream in = new FileInputStream(filePath);
byte[] data = toByteArray(in);
return new ResponseDto<>(OssUtils.submitTranscodeJobMp4(data,"test","mp4"));
}
@GetMapping("getOSSResult")
public ResponseDto<?> getOSSResult(@RequestParam("transcodeJobId") String transcodeJobId){
return new ResponseDto<>(OssUtils.getOSSResult(transcodeJobId));
}
@GetMapping("getOSSResultByRegion")
public ResponseDto<?> getOSSResultByRegion(@RequestParam("transcodeJobId") String transcodeJobId, @RequestParam("buckectName") String buckectName){
return new ResponseDto<>(OssUtils.getOSSResultByRegion(transcodeJobId,buckectName));
}
@GetMapping("submitTranscodeJobSync")
public ResponseDto<?>submitTranscodeJobSync(@RequestParam("fileUrl") String fileUrl){
return new ResponseDto(OssUtils.submitTranscodeJobSync(fileUrl));
}
@GetMapping("submitThumbnailRequest")
public ResponseDto<?> submitThumbnailRequest(@RequestParam("fileUrl") String fileUrl){
return new ResponseDto<>(OssUtils.submitSnapshotJob(fileUrl,10));
}
private static void createThumbnail(){
MpcClient mpcClient = initMpcClient();
// 设置创建截图模板的请求参数
CreateThumbnailRequest createThumbnailRequest = new CreateThumbnailRequest();
// 设置截图源文件地址
ObsObjInfo input = new ObsObjInfo();
//OBS桶名
input.setBucket("whlg-oss-test-002");
//OBS下媒资路径
input.setObject("oss/transcode/video/mp4/test_20200529160425176.mp4");
//OBS桶所在区域
input.setLocation("cn-east-2");
createThumbnailRequest.setInput(input);
// 设置截图后文件存放地址
ObsObjInfo output = new ObsObjInfo();
output.setBucket("whlg-oss-test-002");
output.setObject("oss/transcode/video/mp4/");
output.setLocation("cn-east-2");
createThumbnailRequest.setOutput(output);
// 设置截图参数
CreateThumbnailRequest.ThumbnailPara thumbnailPara = new CreateThumbnailRequest.ThumbnailPara();
//采样类型。支持三种采样方式PERCENT、TIME和DOTS(根据时间间隔time,根据视频时长百分比percent,根据时间截图时的时间点数组dots,目前只支持TIME和DOTS两种方式)
thumbnailPara.setType(CreateThumbnailRequest.ThumbnailPara.TypeEnum.TIME);
thumbnailPara.setTime(12);
thumbnailPara.setStartTime(3);
thumbnailPara.setDuration(3);
//设置最大长度,范围(380,3840)
thumbnailPara.setMaxLength(480);
//设置纵横比(min = 0, max = 1)
thumbnailPara.setAspectRatio(0);
//设置截图格式,0表示默认,1表示JPG格式
thumbnailPara.setFormat(1);
createThumbnailRequest.setThumbnailPara(thumbnailPara);
// 发送创建截图任务请求给媒体处理服务
CreateThumbnailResponse createThumbnailResponse = mpcClient.createThumbnailsTask(createThumbnailRequest);
// 返回消息
System.out.println(new Gson().toJson(createThumbnailResponse));
}
private static void getThumbnail(String taskId){
MpcClient mpcClient = initMpcClient();
// 设置创建水印模板的请求参数
QueryThumbTaskRequest queryThumbTaskRequest = new QueryThumbTaskRequest();
//根据任务ID查询,最多支持10个任务ID
queryThumbTaskRequest.setTaskId(new String[]{taskId});
// 发送查询截图任务请求给媒体处理服务
QueryThumbTaskResponse queryThumbTaskResponse = mpcClient.queryThumbnailsTask(queryThumbTaskRequest);
// 返回消息
System.out.println(new Gson().toJson(queryThumbTaskResponse));
}
}
package com.pcloud.common.utils.aliyun.test;
import com.obs.services.model.ObjectMetadata;
import com.pcloud.common.dto.OssMediaInfoDTO;
import com.pcloud.common.entity.UploadResultInfo;
import com.pcloud.common.exceptions.FileException;
import com.pcloud.common.utils.aliyun.OssUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
/**
* @ClassName com.pcloud.auditcenter.hw.utils.test.ObsTest
* @Author 吴博
* @Description 华为云测试类
* @Date 2020/5/24 9:27
* @Version 1.0
**/
@RestController
@RequestMapping("obsTest")
@Slf4j
public class ObsTest {
private static final String textFilePath = "C:\\Users\\Administrator\\Desktop\\sql.txt";
private static final String audioFilePath = "C:\\Users\\Administrator\\Desktop\\123321.mp3";
private static final String imageFilePath = "C:\\Users\\Administrator\\Desktop\\girl.jpg";
private static final String imageFileUrl = "https://oss.raysgo.com/oss/upload/image/jpg/add52c60c88a4989bdf6bdb554b5f928.jpg";
private static final String videoFilePath = "C:\\Users\\Administrator\\Desktop\\e610844f3210d9e249fc8ee0cc6b9a1b_20190815173921219.mp4";
private static final String parentFileUrl = "https://oss.raysgo.com/oss/upload/video/mp4/b2f2df50279d43b4af52ebb760924e08";
private static final String videoUrl = "https://oss.raysgo.com/oss/upload/video/mp4/e297ea15516146acabbbcb8c31fe0f92.mp4";
private static final String ObjectKey = "oss/upload/video/mp4/b2f2df50279d43b4af52ebb760924e08.mp4";
private static final String textUrl = "https://oss.raysgo.com/oss/upload/text/txt/4b19722b10604da282497b80c77860fe.txt";
private static final String outFilePath4Mp3 = "C:\\Users\\Administrator\\Desktop\\localaudio.mp3";
private static final String outFilePath4Mp4 = "C:\\Users\\Administrator\\Desktop\\localVideo.mp4";
private static final String huaweiImage = "C:\\Users\\Administrator\\Desktop\\1588081459(1).png";
private static final String huaweiImageUrl = "https://oss.raysgo.com/oss/upload/image/png/7348e76b4a654fdbbccf3a2adbe0d028.png";
@RequestMapping(value = "uploadFileByte", method = RequestMethod.GET)
public UploadResultInfo uploadFileByte() throws FileException {
String content = "Hello OBS";
byte[] buff = content.getBytes();
String fileName = "";
String fileType = "txt";
UploadResultInfo uploadResultInfo = OssUtils.uploadFileByte(buff, fileName, fileType);
log.info(uploadResultInfo.toString());
return uploadResultInfo;
}
@RequestMapping(value = "uploadLocalFile", method = RequestMethod.GET)
public UploadResultInfo uploadLocalFile() throws FileException {
String content = "Hello OBS";
byte[] buff = content.getBytes();
String fileName = "";
String fileType = "txt";
UploadResultInfo uploadResultInfo = OssUtils.uploadLocalFile(videoFilePath,null);
log.info(uploadResultInfo.toString());
return uploadResultInfo;
}
@RequestMapping(value = "uploadLocalFile4Child", method = RequestMethod.GET)
public UploadResultInfo uploadLocalFile4Child() throws FileException {
String content = "Hello OBS";
byte[] buff = content.getBytes();
String fileName = "";
String fileType = "txt";
UploadResultInfo uploadResultInfo = OssUtils.uploadLocalFile4Child(audioFilePath,parentFileUrl);
log.info(uploadResultInfo.toString());
return uploadResultInfo;
}
@RequestMapping(value = "getMediaInfo", method = RequestMethod.GET)
public OssMediaInfoDTO getMediaInfo() throws FileException {
String content = "Hello OBS";
byte[] buff = content.getBytes();
String fileName = "";
String fileType = "txt";
OssMediaInfoDTO ossMediaInfoDTO = OssUtils.getMediaInfo(videoUrl);
log.info(ossMediaInfoDTO.toString());
return ossMediaInfoDTO;
}
@RequestMapping(value = "getObjectMetadata", method = RequestMethod.GET)
public ObjectMetadata getObjectMetadata() throws FileException {
String content = "Hello OBS";
byte[] buff = content.getBytes();
String fileName = "";
String fileType = "txt";
ObjectMetadata objectMetadata = OssUtils.getObjectMetadata(ObjectKey,"whlg-oss-test-002");
log.info(objectMetadata.toString());
return objectMetadata;
}
@RequestMapping(value = "downloadFile2Byte", method = RequestMethod.GET)
public String downloadFile2Byte() throws FileException {
String content = "Hello OBS";
byte[] buff = content.getBytes();
String fileName = "";
String fileType = "txt";
byte[] bytes = OssUtils.downloadFile2Byte(textUrl);
log.info(new String (bytes));
return new String (bytes);
}
@RequestMapping(value = "downloadFile", method = RequestMethod.GET)
public void downloadFile() throws FileException {
String content = "Hello OBS";
byte[] buff = content.getBytes();
String fileName = "";
String fileType = "txt";
OssUtils.downloadFile(videoUrl,outFilePath4Mp4);
}
@RequestMapping(value = "imageWidthResize", method = RequestMethod.GET)
public void imageWidthResize() throws FileException {
String content = "Hello OBS";
byte[] buff = content.getBytes();
String fileName = "";
String fileType = "txt";
OssUtils.imageWidthResize(imageFileUrl,100);
}
@RequestMapping(value = "imageResize", method = RequestMethod.GET)
public void imageResize() throws FileException {
String content = "Hello OBS";
byte[] buff = content.getBytes();
String fileName = "";
String fileType = "txt";
OssUtils.imageResize(imageFileUrl,50);
}
@RequestMapping(value = "imageAutoOrient", method = RequestMethod.GET)
public void imageAutoOrient() throws FileException {
String content = "Hello OBS";
byte[] buff = content.getBytes();
String fileName = "";
String fileType = "txt";
OssUtils.imageAutoOrient(imageFileUrl,50);
}
@RequestMapping(value = "imageCrop", method = RequestMethod.GET)
public void imageCrop() throws FileException {
String content = "Hello OBS";
byte[] buff = content.getBytes();
String fileName = "";
String fileType = "txt";
OssUtils.imageCrop(imageFileUrl,500,500,0,0);
}
@RequestMapping(value = "imageCropSaveas", method = RequestMethod.GET)
public void imageCropSaveas() throws FileException {
OssUtils.imageCropSaveas(imageFileUrl,500,500,0,0);
}
@RequestMapping(value = "imageWatermark", method = RequestMethod.GET)
public void imageWatermark() throws FileException {
String waterMark = OssUtils.imageWatermark(imageFileUrl,"哈哈哈哈,大笨蛋");
log.info(waterMark);
}
@RequestMapping(value = "imageWatermark4Image", method = RequestMethod.GET)
public void imageWatermark4Image() throws FileException {
String waterMark = OssUtils. imageWatermark4Image(imageFileUrl,huaweiImageUrl);
log.info(waterMark);
}
}
\ No newline at end of file
......@@ -106,6 +106,7 @@
<!-- frameworks -->
<slf4j.version>1.7.18</slf4j.version>
<mpc-sdk-version>2.0.7</mpc-sdk-version>
</properties>
<dependencies>
......@@ -306,6 +307,11 @@
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>com.huaweicloud</groupId>
<artifactId>esdk-obs-java</artifactId>
<version>3.19.7</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-mts</artifactId>
<version>2.1.7</version>
......@@ -319,6 +325,29 @@
<version>1.9.13</version>
</dependency>
<!-- Jackson End -->
<dependency>
<groupId>com.huawei.mpc</groupId>
<artifactId>cloud-java-sdk-mpc</artifactId>
<version>${mpc-sdk-version}</version>
<exclusions>
<exclusion>
<groupId>com.squareup.retrofit2</groupId>
<artifactId>retrofit</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.squareup.retrofit2</groupId>
<artifactId>retrofit</artifactId>
<version>2.5.0</version>
<!--<exclusions>
<exclusion>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
</exclusion>
</exclusions>-->
</dependency>
</dependencies>
</dependencyManagement>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment