MediaAnalysisHelper.java
1.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
package com.wondertek.util;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.IOUtils;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
/**
* @Auther: WANGJING
* @Description: 媒体分析工具类
* @Date: 2019/11/1 9:40
* @Modifier:
* @Version:
* @TaskId: YJ-348
*/
@Slf4j
public class MediaAnalysisHelper {
/**
* @Description: 获取媒体分析JSON数据
* @Auther: WANGJING
* @Param mediaInfoPath mediaInfo工具路径
* @Param mediaFilePath 媒体文件路径
* @Param logId 日志id
* @Return: 返回分析结果JSON数据
* @Version:
* @TaskId: YJ-348
*/
public static String analysis(String mediaInfoPath, String mediaFilePath, String logId) throws Exception {
long startTime = System.currentTimeMillis();
log.info("[Media Analysis] MediaAnalysisHelper mediaInfoPath:{}, mediaFilePath:{},logId:{}", mediaInfoPath,
mediaFilePath, logId);
List<String> commend = new ArrayList<>();
commend.add(mediaInfoPath);
commend.add("--OUTPUT=JSON"); // json格式输出
commend.add(mediaFilePath);
ProcessBuilder builder = new ProcessBuilder();
builder.command(commend);
Process process = builder.start();
int result = process.waitFor();
if (result != 0) {
log.info("[Media Analysis] MediaAnalysisHelper Process Failure result={}", result);
throw new Exception("MediaInfo工具处理异常");
}
log.info("[Media Analysis] MediaAnalysisHelper,mediaFilePath={}logId={},spendTime={}", mediaFilePath, logId,
System.currentTimeMillis() - startTime);
InputStream inputStream = process.getInputStream();
String josnMediaInfo = IOUtils.toString(inputStream, StandardCharsets.UTF_8);
return josnMediaInfo;
}
}