1
1
package net .bramp .ffmpeg .builder ;
2
2
3
3
import com .google .common .collect .ImmutableList ;
4
+
5
+ import java .nio .file .Files ;
6
+ import java .nio .file .Paths ;
4
7
import java .util .concurrent .TimeUnit ;
8
+
9
+ import net .bramp .ffmpeg .FFmpeg ;
10
+ import net .bramp .ffmpeg .fixtures .Samples ;
5
11
import org .junit .Test ;
6
12
import java .io .IOException ;
7
13
import java .util .List ;
8
14
9
15
import static org .junit .Assert .assertEquals ;
16
+ import static org .junit .Assert .assertTrue ;
10
17
11
18
public class FFmpegHlsOutputBuilderTest {
12
- public FFmpegHlsOutputBuilderTest () throws IOException {
19
+ public FFmpegHlsOutputBuilderTest () {
13
20
}
14
21
15
22
@ Test
@@ -25,10 +32,10 @@ public void testAddHlsOutput() {
25
32
.setHlsSegmentFileName ("file%03d.ts" )
26
33
.done ()
27
34
.build ();
28
- assertEquals (
29
- args , ImmutableList .of ("-y" , "-v" , "error" , "-f " , "hls " , "-i " , "input " , "-hls_time" , "00:00:00.005" ,
35
+
36
+ assertEquals ( ImmutableList .of ("-y" , "-v" , "error" , "-i " , "input " , "-f " , "hls " , "-hls_time" , "00:00:00.005" ,
30
37
"-hls_segment_filename" , "file%03d.ts" , "-hls_init_time" , "00:00:00.003" ,
31
- "-hls_list_size" , "3" , "-hls_base_url" , "test1234/" , "output.m3u8" ));
38
+ "-hls_list_size" , "3" , "-hls_base_url" , "test1234/" , "output.m3u8" ), args );
32
39
}
33
40
34
41
@ Test
@@ -46,11 +53,33 @@ public void mixedHlsAndDefault() {
46
53
.setHlsSegmentFileName ("file%03d.ts" )
47
54
.done ()
48
55
.build ();
49
- assertEquals (
50
- args , ImmutableList .of ("-y" , "-v" , "error" , "-f" , "hls" , "-i" , "input " ,"-b:v" ,"3" ,"-vf" ,"TEST" ,"-hls_time" , "00:00:00.005" ,
56
+
57
+ assertEquals ( ImmutableList .of ("-y" , "-v" , "error" , "-i" , "input" , "-f" , "hls " ,"-b:v" ,"3" ,"-vf" ,"TEST" ,"-hls_time" , "00:00:00.005" ,
51
58
"-hls_segment_filename" , "file%03d.ts" , "-hls_init_time" , "00:00:00.003" ,
52
- "-hls_list_size" , "3" , "-hls_base_url" , "test1234/" , "output.m3u8" ));
59
+ "-hls_list_size" , "3" , "-hls_base_url" , "test1234/" , "output.m3u8" ), args );
53
60
}
54
61
62
+ @ Test
63
+ public void testConvertVideoToHls () throws IOException {
64
+ Files .createDirectories (Paths .get ("tmp/" ));
65
+ Files .deleteIfExists (Paths .get ("tmp/output.m3u8" ));
66
+ Files .deleteIfExists (Paths .get ("tmp/file000.m3u8" ));
67
+
68
+ List <String > command = new FFmpegBuilder ()
69
+ .setInput (Samples .TEST_PREFIX + Samples .base_big_buck_bunny_720p_1mb )
70
+ .addHlsOutput ("tmp/output.m3u8" )
71
+ .setHlsTime (5 , TimeUnit .SECONDS )
72
+ .setHlsBaseUrl ("test1234/" )
73
+ .setVideoBitRate (1000 )
74
+ .setHlsListSize (3 )
75
+ .setHlsInitTime (3 , TimeUnit .MILLISECONDS )
76
+ .setHlsSegmentFileName ("tmp/file%03d.ts" )
77
+ .done ()
78
+ .build ();
55
79
56
- }
80
+ new FFmpeg ().run (command );
81
+
82
+ assertTrue (Files .exists (Paths .get ("tmp/output.m3u8" )));
83
+ assertTrue (Files .exists (Paths .get ("tmp/file000.ts" )));
84
+ }
85
+ }
0 commit comments