forked from nICEnnnnnnnLee/BilibiliDown
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathFFmpegTest.java
111 lines (95 loc) · 3.46 KB
/
FFmpegTest.java
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
package nicelee.test.junit;
import java.util.Arrays;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import nicelee.bilibili.util.CmdUtil;
/*
h265_big nvdia硬解耗时:555ms
h265_big软解耗时:8131ms
h265_big intel硬解耗时:11789ms
h265_small nvdia硬解耗时:2004ms
h265_small 软解耗时:2331ms
h265_small intel硬解耗时:2646ms
*/
public class FFmpegTest {
String FFMPEG_PATH;
String h265_small_video;
String h265_small_audio;
String h265_big_video;
String h265_big_audio;
@BeforeClass
public static void setUpBeforeClass() throws Exception {
}
@AfterClass
public static void tearDownAfterClass() throws Exception {
}
@Before
public void setUp() throws Exception {
FFMPEG_PATH = "ffmpeg2.exe";
h265_small_video = "download/测试杜比无损BV13L4y1K7th-126-p1_video.m4s";
h265_small_audio = "download/测试杜比无损BV13L4y1K7th-126-p1_audio.m4s";
h265_big_video = "download/测试杜比无损BV1tB4y1E7oT-125-p1_video.m4s";
h265_big_audio = "download/测试杜比无损BV1tB4y1E7oT-125-p1_audio.m4s";
}
@After
public void tearDown() throws Exception {
}
@Test
public void h265_small_soft() {
long begin = System.currentTimeMillis();
String cmd[] = { FFMPEG_PATH, "-y", "-i", h265_small_video, "-i", h265_small_audio, "-c", "copy",
"h265_small_soft.mp4" };
CmdUtil.run(cmd);
long end = System.currentTimeMillis();
System.out.println("h265_small 软解耗时:" + (end - begin) + "ms");
}
@Test
public void h265_small_qsv() {
long begin = System.currentTimeMillis();
String cmd[] = { FFMPEG_PATH, "-y", "-hwaccel", "qsv", "-i", h265_small_video, "-i", h265_small_audio, "-c",
"copy", "h265_small_qsv.mp4" };
CmdUtil.run(cmd);
long end = System.currentTimeMillis();
System.out.println("h265_small intel硬解耗时:" + (end - begin) + "ms");
}
@Test
public void h265_small_cuda() {
long begin = System.currentTimeMillis();
String cmd[] = { FFMPEG_PATH, "-y", "-hwaccel", "cuda", "-i", h265_small_video, "-i", h265_small_audio, "-c",
"copy", "h265_small_cuda.mp4" };
CmdUtil.run(cmd);
long end = System.currentTimeMillis();
System.out.println("h265_small nvdia硬解耗时:" + (end - begin) + "ms");
}
@Test
public void h265_big_soft() {
long begin = System.currentTimeMillis();
String cmd[] = { FFMPEG_PATH, "-y", "-i", h265_big_video, "-i", h265_big_audio, "-c", "copy",
"h265_big_soft.mp4" };
CmdUtil.run(cmd);
long end = System.currentTimeMillis();
System.out.println("h265_big软解耗时:" + (end - begin) + "ms");
}
@Test
public void h265_big_qsv() {
long begin = System.currentTimeMillis();
String cmd[] = { FFMPEG_PATH, "-y", "-hwaccel", "qsv", "-i", h265_big_video, "-i", h265_big_audio, "-c", "copy",
"h265_big_qsv.mp4" };
CmdUtil.run(cmd);
long end = System.currentTimeMillis();
System.out.println("h265_big intel硬解耗时:" + (end - begin) + "ms");
}
@Test
public void h265_big_cuda() {
long begin = System.currentTimeMillis();
String cmd[] = { FFMPEG_PATH, "-y", "-hwaccel", "cuda", "-i", h265_big_video, "-i", h265_big_audio, "-c",
"copy", "h265_big_cuda.mp4" };
CmdUtil.run(cmd);
long end = System.currentTimeMillis();
System.out.println("h265_big nvdia硬解耗时:" + (end - begin) + "ms");
System.out.println(Arrays.toString(cmd));
}
}