【发布时间】:2017-01-06 18:09:12
【问题描述】:
我正在构建一个 android 应用程序,它将视频呼叫从一个设备流式传输到另一个 android 设备,因为我正在使用 wowza 视频流 API(媒体引擎),我可以将视频从 android 应用程序流式传输到网络,但它是可以 device 到设备视频流吗?
【问题讨论】:
我正在构建一个 android 应用程序,它将视频呼叫从一个设备流式传输到另一个 android 设备,因为我正在使用 wowza 视频流 API(媒体引擎),我可以将视频从 android 应用程序流式传输到网络,但它是可以 device 到设备视频流吗?
【问题讨论】:
如果您打算开发所有基础设施,那么这些是需要评估和总结的要点。
使用什么技术
WebRTC 是用于支持视频通话的技术。 WebRTC 是一个免费的开放项目,它通过 API 为浏览器和移动应用程序提供实时通信 (RTC) 功能。 Check out WebRTC Details here 由 Google 于 2010 年推出。这允许在两个浏览器/手机之间进行实时通信。
涉及的概念
1.数据流和硬件
WebRTC 帮助设置/识别硬件并使用 STUN 服务器 (What is STUN server ) 以及硬件(麦克风/摄像头和扬声器)识别网络。对于手机来说,这是内置硬件
2。音视频编解码器
Google 已将这些功能所需的音频/视频作为开源软件。一般用于手机的 Audio G711(在特定情况下仍会有所不同)。对于视频 VP8 和 VP9
3.同行发现
要拨打电话,通常需要任一地址。现在在互联网上,大多数 IP 都是动态的。为了解决这个问题,服务器需要跟踪谁在线。这可以使用 XMPP、SIP 或一些自定义协议来完成。因此,对于任何人接听电话,呼叫者都应该与服务器或其他方式进行检查
4. STUN 服务器
一旦完成信令(对等发现),就需要 STUN 服务器。该服务器将有助于确定外部 IP 地址以及两个或多个设备是否可以相互通信的信息
5.转服务器
如果无法进行点对点会话,则需要 TURN 服务器。 TURN 服务器基本上会通过两个客户端之间的防火墙中的开放漏洞为您移动位。这是由于非对称防火墙以及在防火墙的不同端口上打孔的可能性
或者你可以使用像SINCH这样的供应商,他们已经处理和配置了基本需求,你只需要专注于移动前端。
【讨论】: