java – 如何编写服务器/客户端视频和音频流应用程序?
作者:互联网
我必须创建一个客户端/服务器系统来流式传输视频和音频.这很简单.喜欢youtube风格.服务器应首先参加提供媒体列表的客户端,并等待每个客户端的选择以开始流式传输媒体.直到创建一个套接字并显示一个简单的列表我就在它上面;)但我不知道我可以使用哪个类来传输.这个例子基本上是youtube风格.如何开始流式传输,客户端如何暂停再现,怎么样?
我知道如何流式传输文字,但视频呢?你知道任何教程页吗?
它与这个简单的服务器客户端示例有很大不同?
import java.io.*;
import java.io.*;
import java.net.*;
public class ThreadedEchoServer {
public static void main(String[] args) {
try {
int i = 1;
ServerSocket s = new ServerSocket(8189);
while(true) {
Runnable r = new ThreadedEchoHandler(incoming, i);
Thread t = new Thread(r);
t.start();
i++;
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
class ThreadedEchoHandler implements Runnable {
private Socket incoming;
private int counter;
public ThreadedEchoHandler(Socket i, int c) {
incoming = i;
counter = c;
}
public void run() {
try {
try {
InputStream inStream = incoming.getInputStream();
OutputStream outStream = incoming.getOutputStream();
Scanner in = new Scanner(inStream);
PrintWriter out = new PrintWriter(outStream);
out.println("BYE to exit");
boolean done = false;
while (!done && in.hasNextLine()) {
String line = in.nextLine()) {
out.println("Echo: " + line);
if (line.trim().equals("BYE"))
done = true;
out.println("BYE to exit");
}
} finally {
incoming.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
希望你能澄清我的想法.
亲切的问候.
解决方法:
对于流式传输和与客户交谈,您需要定义协议:在Web上搜索RTP和RTSP.它应该让您非常了解实现这些协议所需的内容,甚至可以创建自己的协议.
至于实现,请看一下red5项目:http://red5.org/
看看Xuggler:http://www.xuggle.com/xuggler/这个项目将帮助您节省大量的代码.请注意,它的发展已经过时了.
干杯.
标签:java,multithreading,sockets,client-server,streaming 来源: https://codeday.me/bug/20190930/1835178.html