我一直在stackoverflow和网络上寻找一段时间来解决我的视频流问题.我需要以一种方式将从相机捕获的实时视频(无需高质量)从iOS设备流式传输到远程PC,即iOS设备将视频流发送到服务器/ PC但不是相反的.
在一些谷歌搜索和文档浏览后出现的是,可以使用主要的主要标准/协议:
同样,我的要求是iPhone/iPad将流式传输视频.从Apple网站上的内容可以看出,HLS将从服务器端的编码角度和iOS侧的解码角度使用.从RTMP开始,大多数允许iOS流媒体的图书馆都有商业许可证和封闭代码,或者要求您通过他们的P2P基础设施(例如angl.tv或tokbox.com/opentok/quick-start).从HLS开始,iOS方面似乎没有编码库.
所以我的问题是:
我非常感谢你们,亲爱的朋友们.
迈赫迪
我想从iPhone获得实时视频到另一台设备(桌面浏览器或其他iPhone,例如点对点).
注意:这不是一对多,而是目前只有一对一.音频可以是流的一部分或通过iphone上的电话呼叫.
我能想到的方法有四种......
在iPhone上捕获帧,将帧发送到mediaserver,让mediaserver使用主机webserver发布实时视频.
在iPhone上捕获帧,转换为图像,发送到httpserver,在浏览器中使用javascript/AJAX尽快从服务器重新加载图像.
在iPhone上运行httpServer,在iPhone上捕获1秒持续时间的电影,在iPhone上创建M3U8文件,让另一个用户直接连接到iPhone上的httpServer以进行liveStreaming.
在iPhone上捕获1秒持续时间的电影,在iPhone上创建M3U8文件,发送到httpServer,让其他用户连接到http服务器以进行liveStreaming.这是一个很好的答案,有没有人得到它的工作?
有更好,更有效的选择吗?从iPhone上获取数据的最快方法是什么?是ASIHTTPRequest吗?
感谢大家.
我希望能够使用我的iOS设备录制素材并将其直接流式传输到服务器.
有很多关于SO的文章谈论这个,但我不确定是否有人很好地回答了这个问题.
我应该使用HTTP实时流,或者这只是将数据发送到一个iPhone?我是否应该使用AVCaptureSession来抓取视频(一次一段?),将每个段发送到服务器?我应该使用AVCaptureVideoDataOutput和ffmpeg进行流式传输吗?
我有点迷失所有这些,所以任何示例代码或文档或链接都会非常感激.
谢谢你的帮助.
邓肯
我想开发iPhone应用程序来向网络直播视频.Ustream有从iPhone到网络广播的应用程序.
有什么建议吗?我应该使用哪种API?我应该使用哪种媒体媒体服务器?
谢谢,阿迪尔
如何直播视频从iPhone到服务器,如Ustream或Qik?我知道苹果有一种叫做Http Live Streaming的东西,但是我找到的大多数资源只谈到从服务器到iPhone的流媒体视频.有什么帮助吗?我们必须实现HTTP Live流媒体概念?是否有任何API上传到服务器?
我正在开发一款适用于iOS的应用程序,其中一部iPhone必须将其摄像头录像直播到另一部iPhone(为了简单起见,两者都在同一个Wi-Fi网络中).
流应该在没有物理互连的情况下工作(例如,用于将流路由到客户端的服务器).实际上,录制iPhone应该是服务器,它通过直播流为其他iPhone(或网络中的其他iOS设备)提供服务.
所以,我需要做的是:
我有什么和我坚持的:
我已经解决了问题1.我使用了一个AVCaptureSession不断返回CMSampleBufferRef的(在这里找到).
我不太确定我需要做什么CMSampleBufferRef.我知道如何将它转换为a CGImage或a UIImage(感谢Benjamin Loulier的伟大博客2),但我不知道具体需要发送什么,以及我是否需要以某种方式对帧进行编码.
正如@jab在上面链接的答案(this)中提到的那样,可以将这些样本写入具有一个或多个的文件AVAssetWriter.但他再说,这些5秒的视频片段将被上传到服务器,该服务器制作一个可流式电影文件(然后HTTP Live Streaming我认为该电影可以流式传输到iOS设备).
正如我已经指出的那样,我的应用程序(即视频捕获"服务器"设备)有一个或多个客户端连接到它,需要实时发送视频帧给他们.
我想到的一个想法是使用一个简单的TCP连接,其中服务器以序列化格式将每个帧发送到循环中的连接客户端.更具体地说:当一个缓冲帧成功发送到客户端时,服务器将最近的帧作为下一个要发送的帧.
现在:这是正确的想法它应该如何运作?或者是否有另一种协议,它更适合这种任务?
记住:我想保持简单(对我来说简单,即,我不需要研究太多新的编程方面)和快速.我已经了解了一些关于TCP的事情,我在学校写了服务器和客户端C,所以我更愿意将我现有的知识应用到这个项目中......
最后但并非最不重要的,接收客户端:
我想,如果我真的要使用一个TCP连接,即在客户端我从服务器帧后接收帧,投读取字节包入使用的格式(CMSampleBuffer,CGImage,UIImage)只是在一个CALayer或UIImageView右边显示它?只需不断更新图像视图,即可获得电影的效果.
请告诉我如何实现这一目标的一些想法.这是非常重要的,因为它是我的学校毕业项目的一部分......任何示例代码也很受欢迎;-)或者只是引用我到另一个站点,教程,Stackoverflow-answer等.
如果您对此有任何疑问,请发表评论,我会更新帖子.
ios ×4
iphone ×4
streaming ×2
avfoundation ×1
cocoa-touch ×1
ffmpeg ×1
objective-c ×1
rtmp ×1
tcp ×1
video ×1