Skip to content

Commit d0a3e5b

Browse files
committed
I have added some stuff to get the server to work on linux again but it didn't seem to work.
1 parent f198fb1 commit d0a3e5b

File tree

5 files changed

+83
-84
lines changed

5 files changed

+83
-84
lines changed

JavaStreamVideo/pom.xml

Lines changed: 68 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,71 @@
11
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
2-
<modelVersion>4.0.0</modelVersion>
3-
<groupId>JavaStreamVideo</groupId>
4-
<artifactId>JavaStreamVideo</artifactId>
5-
<version>0.0.1-SNAPSHOT</version>
6-
<description>This is a project that can create a server and client to stream video
2+
<modelVersion>4.0.0</modelVersion>
3+
<groupId>JavaStreamVideo</groupId>
4+
<artifactId>JavaStreamVideo</artifactId>
5+
<version>0.0.1-SNAPSHOT</version>
6+
<description>This is a project that can create a server and client to stream video
77
</description>
8-
<build>
9-
<sourceDirectory>src</sourceDirectory>
10-
<plugins>
11-
<plugin>
12-
<artifactId>maven-compiler-plugin</artifactId>
13-
<version>3.8.1</version>
14-
<configuration>
15-
<release>11</release>
16-
</configuration>
17-
</plugin>
18-
<plugin>
19-
<groupId>org.apache.maven.plugins</groupId>
20-
<artifactId>maven-shade-plugin</artifactId>
21-
<version>3.3.0</version>
22-
<executions>
23-
<execution>
24-
<id>ClientBuild</id>
25-
<phase>package</phase>
26-
<goals>
27-
<goal>shade</goal>
28-
</goals>
29-
<configuration>
30-
<transformers>
31-
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
32-
<mainClass>client.ClientMain</mainClass>
33-
</transformer>
34-
</transformers>
35-
<outputFile>StreamClient.jar</outputFile>
36-
</configuration>
37-
</execution>
38-
<execution>
39-
<id>ServerBuild</id>
40-
<phase>package</phase>
41-
<goals>
42-
<goal>shade</goal>
43-
</goals>
44-
<configuration>
45-
<transformers>
46-
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
47-
<mainClass>server.ServerMain</mainClass>
48-
</transformer>
49-
</transformers>
50-
<outputFile>StreamServer.jar</outputFile>
51-
</configuration>
52-
</execution>
53-
</executions>
54-
</plugin>
55-
</plugins>
56-
</build>
57-
<dependencies>
58-
<dependency>
59-
<groupId>uk.co.caprica</groupId>
60-
<artifactId>vlcj</artifactId>
61-
<version>4.8.2</version>
62-
</dependency>
63-
</dependencies>
8+
<build>
9+
<sourceDirectory>src</sourceDirectory>
10+
<plugins>
11+
<plugin>
12+
<artifactId>maven-compiler-plugin</artifactId>
13+
<version>3.8.1</version>
14+
<configuration>
15+
<release>11</release>
16+
</configuration>
17+
</plugin>
18+
<plugin>
19+
<groupId>org.apache.maven.plugins</groupId>
20+
<artifactId>maven-shade-plugin</artifactId>
21+
<version>3.3.0</version>
22+
<executions>
23+
<execution>
24+
<id>ClientBuild</id>
25+
<phase>package</phase>
26+
<goals>
27+
<goal>shade</goal>
28+
</goals>
29+
<configuration>
30+
<transformers>
31+
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
32+
<mainClass>client.ClientMain</mainClass>
33+
</transformer>
34+
</transformers>
35+
<outputFile>StreamClient.jar</outputFile>
36+
</configuration>
37+
</execution>
38+
<execution>
39+
<id>ServerBuild</id>
40+
<phase>package</phase>
41+
<goals>
42+
<goal>shade</goal>
43+
</goals>
44+
<configuration>
45+
<transformers>
46+
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
47+
<mainClass>server.ServerMain</mainClass>
48+
</transformer>
49+
</transformers>
50+
<outputFile>StreamServer.jar</outputFile>
51+
</configuration>
52+
</execution>
53+
</executions>
54+
</plugin>
55+
</plugins>
56+
</build>
57+
<dependencies>
58+
<dependency>
59+
<groupId>uk.co.caprica</groupId>
60+
<artifactId>vlcj</artifactId>
61+
<version>4.8.2</version>
62+
</dependency>
63+
<!-- https://mvnrepository.com/artifact/uk.co.caprica/vlcj-natives >
64+
<dependency>
65+
<groupId>uk.co.caprica</groupId>
66+
<artifactId>vlcj-natives</artifactId>
67+
<version>4.8.1</version>
68+
</dependency-->
69+
70+
</dependencies>
6471
</project>

JavaStreamVideo/src/client/ClientMain.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@
66
import java.io.InputStreamReader;
77
import java.io.OutputStreamWriter;
88
import java.net.Socket;
9-
import java.util.concurrent.TimeUnit;
10-
119
import com.sun.jna.NativeLibrary;
1210

1311
import shared_class.SharedData;

JavaStreamVideo/src/server/RemoteMediaPlayer.java

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,20 @@
11
package server;
22

3-
import java.io.BufferedReader;
43
import java.io.BufferedWriter;
54
import java.io.IOException;
65
import java.net.InetAddress;
7-
import java.util.Iterator;
86
import java.util.List;
97

108
import javax.swing.JFrame;
119

1210
import shared_class.SharedData;
1311
import shared_class.VideoData;
1412
import uk.co.caprica.vlcj.factory.MediaPlayerFactory;
15-
import uk.co.caprica.vlcj.media.Media;
16-
import uk.co.caprica.vlcj.media.MediaEventListener;
17-
import uk.co.caprica.vlcj.media.MediaParsedStatus;
1813
import uk.co.caprica.vlcj.media.MediaRef;
19-
import uk.co.caprica.vlcj.media.Meta;
20-
import uk.co.caprica.vlcj.media.Picture;
2114
import uk.co.caprica.vlcj.media.TrackType;
2215
import uk.co.caprica.vlcj.player.base.MediaPlayer;
2316
import uk.co.caprica.vlcj.player.base.MediaPlayerEventListener;
24-
import uk.co.caprica.vlcj.player.base.State;
2517
import uk.co.caprica.vlcj.player.base.TitleDescription;
26-
import uk.co.caprica.vlcj.player.component.EmbeddedMediaListPlayerComponent;
27-
import uk.co.caprica.vlcj.player.component.EmbeddedMediaPlayerComponent;
28-
import uk.co.caprica.vlcj.player.list.MediaListPlayer;
2918

3019
public class RemoteMediaPlayer
3120
{
@@ -51,6 +40,12 @@ public RemoteMediaPlayer(List<VideoData> videoList, BufferedWriter out, InetAddr
5140
System.out.println(target);
5241
this.mediaPlayer = factory.mediaPlayers().newMediaPlayer();
5342
setUpMediaPlayer();
43+
/*if(System.getProperty("os.name").toLowerCase().contains("linux"))
44+
{
45+
;
46+
this.box.setVisible(true);
47+
this.box.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
48+
}//*/
5449
//setUpWindow();
5550
}//end of constructor
5651

@@ -310,7 +305,7 @@ public void run() {
310305
VideoData videoData = videIterator.get(cursor++);
311306
String options = videoData.getOptions(target);
312307
System.out.println("Setup: " + videoData.videoPath);
313-
boolean videoPlayed = mediaPlayer.media().play(videoData.videoPath, options, ":no-sout-all", ":netsync-master", ":network-synchronisation");
308+
boolean videoPlayed = mediaPlayer.media().play(videoData.videoPath, options, ":netsync-master", ":network-synchronisation");
314309
skippingTime = false;
315310
//System.out.println("Media was prepared");
316311
//this.mediaPlayer.controls().play();

JavaStreamVideo/src/server/ServerMain.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,11 @@
2222

2323
import shared_class.SharedData;
2424
import shared_class.VideoData;
25+
import uk.co.caprica.vlcj.binding.lib.LibX11;
2526
import uk.co.caprica.vlcj.binding.support.runtime.*;
2627
//import uk.co.caprica.vlcj.binding.RuntimeUtil;
2728
import uk.co.caprica.vlcj.factory.MediaPlayerFactory;
29+
import uk.co.caprica.vlcj.factory.NativeLibraryMappingException;
2830
import uk.co.caprica.vlcj.factory.discovery.NativeDiscovery;
2931
import uk.co.caprica.vlcj.factory.discovery.strategy.WindowsNativeDiscoveryStrategy;
3032

@@ -61,7 +63,6 @@ public class ServerMain {
6163

6264

6365
private static StreamServer streamServer = null;
64-
private static int TIMEOUT = 5 * 1000;
6566
public static void main(String[] args)
6667
{
6768
try
@@ -73,7 +74,10 @@ public static void main(String[] args)
7374
NativeLibrary.addSearchPath(RuntimeUtil.getLibVlcLibraryName(), SharedData.vlcPath);
7475
}
7576
else
77+
{
7678
System.out.println("OS = linux");
79+
uk.co.caprica.vlcj.binding.support.init.LinuxNativeInit.init();
80+
}
7781
new NativeDiscovery().discover();
7882
ArrayList<String> videoTypes = new ArrayList<String>();
7983
videoTypes.addAll(Arrays.asList(TypesOfVideos));
@@ -141,7 +145,7 @@ private static void cleanUp(BufferedWriter out, BufferedReader in, ServerSocket
141145
}//end of cleanup
142146

143147

144-
private static boolean playVideos(List<VideoData> videos, BufferedReader in, BufferedWriter out, InetAddress address) throws IOException
148+
/*private static boolean playVideos(List<VideoData> videos, BufferedReader in, BufferedWriter out, InetAddress address) throws IOException
145149
{
146150
147151
//for(VideoData video: videos)
@@ -159,11 +163,6 @@ private static boolean playVideos(List<VideoData> videos, BufferedReader in, Buf
159163
//commandListener.start();
160164
while(streamServer.isAlive())
161165
{
162-
/*System.out.println("Position: " + streamServer.getPosition());
163-
System.out.println("Current time: " + streamServer.getCurrentTime());
164-
System.out.println("Duration: " + streamServer.getDuration());
165-
System.out.println("Is Running " + streamServer.isPlaying());
166-
System.out.println();*/
167166
if(!title.contentEquals(streamServer.getTitle()))
168167
{
169168
title = streamServer.getTitle();
@@ -178,7 +177,7 @@ private static boolean playVideos(List<VideoData> videos, BufferedReader in, Buf
178177
//out.flush();
179178
//}//end of for loop
180179
//return true;
181-
}//end of playVideos
180+
}//end of playVideos*/
182181

183182

184183
public static void checkClientInput(BufferedReader in, StreamServer server)

JavaStreamVideo/src/shared_class/VideoData.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public class VideoData
1616
//String transcodeForNoSub = "";
1717
//String transcodeForNoSub = "transcode{vcodec=h264,acodec=mpga,ab=128,channels=2,samplerate=44100,scodec=none}:";
1818
//String transcodeForNoSub = "transcode{vcodec=h264,vb=300,acodec=mpga,ab=128,channels=2,samplerate=44100,scodec=none}:";
19-
String transcodeForNoSub = "transcode{vcodec=mp4v,acodec=mp4a,ab=128,channels=2,samplerate=44100,scodec=none}:";
19+
String transcodeForNoSub = "transcode{vcodec=mp2v,acodec=mp4a,ab=128,channels=2,samplerate=44100,scodec=none}:";
2020
//VHS FIlter
2121
//String transcodeForNoSub = "transcode{vcodec=h264,vb=256,vfilter=vhs,acodec=mpga,ab=128,channels=2,samplerate=44100,scodec=none}:";
2222
//String transcodeForNoSub = "transcode{vcodec=h264,scale=Auto,acodec=mpga,ab=128,channels=2,samplerate=44100,scodec=none}:";

0 commit comments

Comments
 (0)