在iOS上通过WiFi和蓝牙流式传输视频

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在iOS上通过WiFi和蓝牙流式传输视频相关的知识,希望对你有一定的参考价值。

这个问题将非常通用,因为我是ios,视频流和蓝牙(将成为一个有趣的项目)的新手。

基本上我希望能够通过WiFi或蓝牙将低分辨率视频从一个iOS设备流式传输到另一个iOS设备,具体取决于哪个可用。 Bonjour用于初始服务发现。 (我知道通过蓝牙传输视频是不理想的,但这是项目的要求之一)

所以问题是可以使用什么视频流框架/库来最大化通过WiFi的流视频和通过蓝牙的流视频之间共享的代码量。

答案

以下是通过Multipeer Connectivity测试视频流的说明:

你需要Cocoapods,如果还没有安装它,请去http://cocoapods.org/#install

  1. https://github.com/pj4533/AVCaptureMultipeerVideoDataOutput克隆发射器
  2. 导航到终端中的AVCaptureMultipeerVideoDataOutput/Sample目录并执行pod install
  3. https://github.com/pj4533/SGSMultipeerVideoMixer克隆接收器
  4. 在物理设备中运行发射器,您将在屏幕上看到后置摄像头
  5. 在模拟器或物理设备中运行一个或多个接收器,发射器的图像应出现在接收器中。

注意:Multipeer Connectivity需要iOS 7,并且两个设备都应该启用WiFi或蓝牙,我已经在WiFi上成功测试过,蓝牙可能太慢了。

另一答案

我建议使用MultipeerConnectivity框架。以下是MCSessionDelegate提供的一些委托方法

MCSessionDelegate <NSObject>


// Received a byte stream from remote peer

- (void)session:(MCSession *)session didReceiveStream:(NSInputStream *)stream withName:(NSString *)streamName fromPeer:(MCPeerID *)peerID;


// Start receiving a resource from remote peer

- (void)session:(MCSession *)session didStartReceivingResourceWithName:(NSString *)resourceName fromPeer:(MCPeerID *)peerID withProgress:(NSProgress *)progress;


// Finished receiving a resource from remote peer and saved the content in a temporary location - the app is responsible for moving the file to a permanent location within its sandbox

- (void)session:(MCSession *)session didFinishReceivingResourceWithName:(NSString *)resourceName fromPeer:(MCPeerID *)peerID atURL:(NSURL *)localURL withError:(NSError *)error;`

尝试阅读http://nshipster.com/multipeer-connectivity/

另一答案

我写的代码就是这样做的;这是我的应用程序流视频从一个设备到另一个设备的视频:

<iframe width="560" height="315" src="https://www.youtube.com/embed/mWyZ1z55chw?rel=0" frameborder="0" gesture="media" allow="encrypted-media" allowfullscreen></iframe>

以上是关于在iOS上通过WiFi和蓝牙流式传输视频的主要内容,如果未能解决你的问题,请参考以下文章

如何同时播放/流式传输视频并保存?

如何在 iOS 上通过安全连接流式传输视频

通过 wifi 传输视频?

以任何方式将 DroidCam 视频流式传输到 OpenCV Python

同时流式传输到内置扬声器和蓝牙扬声器

通过 AirPlay 流式传输视频而不影响应用程序?