Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Android将实时视频流传输到服务器_Android_Video_Video Streaming - Fatal编程技术网

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

使用Android将实时视频流传输到服务器,android,video,video-streaming,Android,Video,Video Streaming,我们必须使用Android摄像头捕捉实时视频,并将其发送到服务器,然后其他用户将通过浏览器或其他方式读取这些视频 我在SO上搜索过,这里有一些关于视频流应用的例子,比如: 1安卓眼: 2 Spydroid ipcamera: 然而,它们似乎有不同的环境,大多数应用程序将启动HTTP服务器进行流请求,然后客户端将通过本地网络访问页面并查看视频 那么视频流源和服务器都是这样的设备: 但我们需要这样的互联网支持: 所以我想知道是否有其他的想法。你可以这样处理: 按照所述方法准备相机预览。对象有一个

我们必须使用Android摄像头捕捉实时视频,并将其发送到服务器,然后其他用户将通过浏览器或其他方式读取这些视频

我在SO上搜索过,这里有一些关于视频流应用的例子,比如:

1安卓眼:

2 Spydroid ipcamera:

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

那么视频流源和服务器都是这样的设备:

但我们需要这样的互联网支持:


所以我想知道是否有其他的想法。

你可以这样处理:


按照所述方法准备相机预览。对象有一个方法,您可以在其中注册预览回调。此回调以YUV格式提供数据缓冲区(字节数组),您可以将其流式传输到服务器。

在第二个图表中,我可以看出您已正确设计了三个阶段

因此,您需要确定如何在这些协议中进行选择,以及如何连接它们。 没有人能给你一个完整的解决方案,但我已经完成了一个关于Android视频流的企业项目,我会努力让你的眼光朝着你的目标直视

你的照片有三个部分,我将从左到右详细阐述:

1.Android拖缆设备 根据我的经验,我可以说Android在通过RTP发送相机流方面做得很好,因为,将视频转换为FLV会让你头疼。(在许多情况下,例如,如果以后您想将流传送到Android设备上。)

因此,我建议在类似的基础上进一步发展

2.流式服务器 有类似于Wowza服务器的工具可以获取源流 并将其放在其他客户端的服务器输出上。我猜 VLC也可以通过文件-->流菜单执行此操作,然后将 来自基于spyDroid的应用程序的RTSP视频流地址。但我有 没有亲自尝试过

此外,实现自己的拖缆服务器也不是一项艰苦的工作

我给你举个例子:

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

  • 视频文件,分为10秒MPEG2块。(即ts文件)
  • 块的m3U8播放列表
  • 一个带有简单Web服务的Web服务器,通过HTTP将播放列表发送到客户端(PC、Android、iPhone,主要是每台设备)。然后,客户端将查找播放列表文件,并根据相应的时间要求相应的区块。因为几乎所有的玩家都有内置的HLS支持
  • 3.客户端 根据我们的评论,我建议您可能想深入研究Android视频流

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

    阅读我的答案,了解最先进的视频流,请随时询问更多信息

    希望你了解未来旅程的大局


    祝你好运,玩得开心

    这是一个相当普遍的问题,但我会尝试给你一个研究方向:

    首先,您需要回答几个问题:

    1) 视频流的性质和用途是什么?是安全应用程序,剧照中的细节非常重要(然后你必须使用类似MJPEG的编解码器),还是只能在动态中查看

    2) 流源、服务器和客户端是否在同一个网络上,以便用于更精确的计时,或者将涉及WAN,并且应该使用HTTP等更稳定的东西

    3) 同时输出连接的数量是多少?换句话说,像这样的东西值得花钱吗(也许也值得),或者像这样的简单解决方案就足够了


    长话短说,为了给两个观众提供一个既便宜又肮脏的解决方案,你可以使用类似->->的东西,避免编写自己的软件。

    你有机会学习最先进的视频流协议吗?事实上,我不太擅长视频流处理,但我读过rtmp和rtsp等相关主题,但我不确定哪一个更好,而且似乎其中一些人需要专门的服务器来处理服务流数据,我想知道这是否可以简化。嗨,hguser这个问题对我来说帮助更多,我已经使用了YouTube视频,我尝试发送另一个用户(服务器)如果对此有任何想法,如果您有任何想法,请指导我。谢谢您,坎皮亚多,我会做更多的研究。:)但还有一个问题,我从谷歌知道spyDroid,但似乎
    spyDroid
    本身通过wifi提供视频流,然后我们可以通过另一台计算机(使用浏览器)访问该流。似乎视频流不是被推的而是被拉的,不是吗?IDK,你可能想在另一个问题中问这个问题。