使用Android将实时视频流传输到服务器

hgu*_*ser 30 video android video-streaming

我们必须使用Android Camera捕获实时视频,并将它们发送到服务器,然后其他用户将通过浏览器或其他内容读取它们.

我在谷歌搜索和搜索,有一些关于视频流应用程序的例子,如:

1 Android-eye:https://github.com/Teaonly/android-eye

2 Spydroid-ipcamera:https://code.google.com/p/spydroid-ipcamera/

但是,它们似乎有不同的环境,大多数应用程序将启动HTTP服务器以进行流请求,然后客户端将通过本地网络访问该页面并查看视频.

那么视频流源和服务器都是这样的设备: 在此输入图像描述

但我们需要像这样的互联网支持: 在此输入图像描述

所以我想知道是否还有其他想法.

Beh*_*nam 36

我可以看到你在第二张图中正确设计了三个阶段.

所以你需要的是确定如何在这些协议中进行选择以及如何对它们进行接口.没有人可以给你一个完整的解决方案但是在Android Video Streaming上完成了一个企业项目我会尽力使你的目标朝着你的目标前进.

在此输入图像描述

你的图片中有三个部分,我将从左到右详细说明:

1. Android Streamer设备

根据我的经验,我可以说由于本机支持,Android可以很好地通过RTP发送Camera流,而将视频转换为FLV会让您头疼.(在许多情况下,例如,如果以后您想将流传送到Android设备.)

所以我建议建立像spyDroid这样的东西.

2.流媒体服务器

有像Wowza Server这样的工具可以获取源流并将其放在服务器的输出上以供其他客户端使用.我想VLC也可以通过File - > Stream菜单执行此操作,然后从基于spyDroid的应用程序中放入RTSP视频流地址.但我个人没试过.

此外,实现自己的流媒体服务器并不困难.

我给你举个例子:

对于HLS服务器的实现,您只需要三件事:

  1. 视频文件,分为10秒MPEG2块.(即.ts文件)
  2. 大块的m3U8播放列表.
  3. 具有简单WebService的Web服务器,通过HTTP将播放列表传递给客户端(PC,Android,iPhone,主要是每个设备).然后,客户端将查找播放列表文件,并根据他们的时间要求提供适当的块.因为几乎所有玩家都有内置的HLS支持.

3.客户端

根据我们的评论,我建议您可能希望深入了解Android视频流.

要完成这么大的项目,你需要更多的研究.例如,您应该能够区分RTP和RTSP,并了解它们彼此之间的关系.

在这里阅读我的答案,以获得最先进的视频流感,请随时提出要求.

希望你了解前方的大局,

祝好运并玩得开心点