Kha*_*laf 1 c# java udp live-streaming
遵循这种方法。我希望客户端使用IP通信将视频实时流传输到服务器。要求是Android Studio Java Client和Visual Studio C#Server,这就是为什么我在StackOverFlow上找不到确切情况的原因。我在Android Java和Windows C#之间建立了一个基本的UDP数据报,它已经启动并正在双向发送短信。我从哪里开始视频流?
我是否可以自己弄清楚如何在服务器中逐帧获取图像,将每个帧分解为byte[]顺序并使用UDP发送,然后在客户端使用byte[]接收到的数据重建每个帧?使用UDP不好吗?C#和Java上都有哪些有用的API?从长远来看,将它们都设置为Java会更容易吗?我是否需要时间立即适应Windows Java IDE,并从那里开始?与Android一样吗?
我头上有两个问题,而我却没有足够的知识。我以前从未做过“大型”或“联网”应用程序。我觉得该怎么办迷路了。查找API确实会有所帮助。提前致谢
不要发明自己的协议,而要使用现有的协议,例如RTP,RTSP(甚至HTTP服务器)。
例如RTSP(实时流协议):
通过此项目(https://net7mma.codeplex.com/),您可以设置RTSP服务器,该服务器在C#中恰好以5行代码提供媒体文件。
using(Rtsp.RtspServer server = new Rtsp.RtspServer(555)){
Media.Rtsp.Server.Media.RtspSource source =
new Media.Rtsp.Server.Media.RtspSource("RtspSourceTest", "rtsp://1.2.3.4/mpeg4/media.amp");
//If the stream had a username and password
//source.Client.Credential = new System.Net.NetworkCredential("user", "password");
//Add the stream to the server
server.AddMedia(source);
//Start the server and underlying streams
server.Start();
}
Run Code Online (Sandbox Code Playgroud)
并根据项目页面:
RtspServer确实可以将任何容器或编解码器中的实时Rtsp视频流成功聚合到兼容的RtspClient或Player(已测试VLC,Mplayer Darwin Streaming Server和QuickTime)
这使您可以将网络摄像机或数码相机或图像源转换为实时Rtsp流!
将此服务器端用C#编写为常规RTSP服务器,您可以在Java / Android端使用现有对象(如常规VideoView(/sf/answers/732280531/))连接和查看实时流,而无需问题。