正在关注 this方法。我希望客户端使用 IP 通信将视频流式传输到服务器。要求是 Android Studio Java 客户端和 Visual Studio C# 服务器,这就是为什么我没有在 StackOverFlow 上找到确切情况的原因。我在 Android Java 和 Windows C# 之间设置了一个基本的 UDP 数据报,它已经启动并运行双向发送短消息。 我从哪里开始使用视频流?
要不要我自己弄清楚如何在服务器中逐帧获取图像,将每一帧分解为 byte[]
命令它们并使用 UDP 发送,然后在客户端重建每帧使用 byte[]
接收数据?
使用UDP不好吗?
C# 和 Java 上的有用 API 是什么?
从长远来看,将两者都设置为 Java 会更容易吗?
我现在需要时间来适应 Windows Java IDE 并从那里开始吗?和安卓一样吗?
我脑子里有两个问题,我没有足够的知识。我以前从未做过“大”或“网络”应用程序。我迷失了方向。查找 API 确实很有帮助。提前致谢
不要发明自己的协议(protocol),使用现有协议(protocol),如 RTP、RTSP(甚至 HTTP 服务器)。
例如 RTSP(实时流协议(protocol)):
通过这个项目 ( https://net7mma.codeplex.com/ ),您可以设置 RTSP 服务器,该服务器仅用 5 行 C# 代码就可以提供媒体文件。
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();
}
根据项目页面:
The RtspServer does successfully aggregate live Rtsp video streams in ANY container or codec to a compatible RtspClient or Player (VLC, Mplayer Darwin Streaming Server and QuickTime have been tested)
This lets you turn your Web Camera or Digital Camera or source of images into a LIVE Rtsp Stream!
将这个用 C# 编写的服务器端作为通用 RTSP 服务器,您可以使用现有对象,例如 Java/Android 端的普通 VideoView
( https://stackoverflow.com/a/10461150/5296568 ) 来连接和查看实时流没有问题。