java - Windows C# 和 Android Java 之间实时视频流的有用 API?

标签 java c# udp live-streaming

<分区>

正在关注 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 ) 来连接和查看实时流没有问题。

关于java - Windows C# 和 Android Java 之间实时视频流的有用 API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36238749/

相关文章:

ffmpeg - 从 udp 流中捕获屏幕截图的最佳方法是什么?

TCP 与 UDP - 什么是 TCP 连接?

java - RxJava 对象转换

java - 如何通过 Android 访问 SSL 连接?

c# - 读取 INI 文件的特定部分 C#

c# - 将项目添加到列表,但不会按字母顺序排序

C# 互操作格式验证列表

java - 当服务器不是多线程服务器时,为什么要同时处理多个客户端?

java - 如何从@ControllerAdvice中排除特定的包?

java - Spring Boot 将 HTTP 重定向到 HTTPS