- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有个问题,我的app和vine一样是一个短视频分享应用,但是现在在地铁或者一些信号弱的地方使用时遇到问题,有时会失败,用户体验很差。
我是网络编程和 iOS 的新手。我在google上查了很多,总的来说,我总结一下我的发现,请大家帮忙提点建议。
我的要求是:1。上传中断时支持恢复。 2.弱信号也能成功上传。其实我不需要考虑实时问题或如何压缩视频,只是认为视频作为一个文件是完全可以的。顺便说一句,服务器是 REST 风格的,我使用 post 上传数据。
问题:
这是满足我要求的更好方法,使用流(流不是指直播视频只是像 NSOutStream 和 NSInputStream 这样的数据流,只是在所有视频上传后播放视频,而不是直播视频播放和下载同时)或将整个文件分成几个 block 并逐 block 上传。有人说,使用流有利于提高资源效率,因为流会将文件读入内存并控制缓冲区的大小,在与服务器建立连接后,我们使用委托(delegate)来控制故障,因此易于使用。分块上传速度快,我对这个说法很疑惑,分块上传成功上传一个 block 后我们需要释放连接资源并建立另一个连接然后上传我认为这将花费时间来做这些准备工作。
如果分块上传,大小应该不错,一个视频文件差不多1M字节,有人说8k是一个安全的选择,但是......
由于app需要适应不同的信号强度,请问有什么办法吗?例如 block 大小取决于带宽或其他方式
是否有任何私有(private) API 已经支持恢复上传中断或是否有任何 apple api 可以支持此功能,我的应用程序需要在 iOS 5 及更高版本上运行,因此不能使用 NSURLSession
并发上传是提速的一种方式?如果可以,如何实现或有任何可用的 API?
预先感谢您帮助像我这样的新手。非常感谢。
最佳答案
你的问题涉及很多主题。 iOS 没有用于流式传输视频的公共(public) API(例如 Face Time 组件)。这里的主要问题是逐帧发送将需要大量的网络流量,相反,如果您使用普通的视频编写器,您将获得硬件压缩,这会好得多。还有更多,您可以在这里查看:Realtime Audio/Video Streaming FROM iPhone to another device (Browser, or iPhone) , Upload live streaming video from iPhone like Ustream or Qik , How send to stream video from iOS device to server?和 here
如果实时不是您的问题,我建议您使用一个好的网络管理器,例如:MKNetworkkit或AFNetworking 2.0 。他们会处理您提出的大部分问题。
关于ios - 优化不同信号强度下上传视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20560767/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!