首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于ios的HTTP实时流媒体

基于ios的HTTP实时流媒体
EN

Stack Overflow用户
提问于 2012-07-25 05:52:31
回答 3查看 8.8K关注 0票数 12

我的应用程序被苹果拒绝了,他们给出了理由

我们发现您的应用程序不使用具有64 kbps基线流的HTTP流协议来广播流式视频

然后我搜索一个解决方案,在互联网上,所有的解决方案都建议我必须使用.U8F8和.ts扩展来进行直播,但我的应用程序采用mp4格式。我已经使用MPMoviePlayerController进行流处理了。

所以我的问题是:

  1. 我必须把mp4视频转换成M8U8吗?
  2. 我必须使用MPMoviePlayer吗?
  3. 我可以在运行时将mp4视频转换成M8U8格式吗?以及如何实现实时流。
  4. 是否有任何可用于HTTP实时流的示例代码?

提前谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-10-14 13:57:29

我只能评论预先录制的视频,不能现场直播.

我必须把mp4视频转换成M8U8吗?

我想你是说.m3u8。基本上,您需要将您的.mp4文件和:

  1. 将其编码为移动带宽的友好比特率。你可以使用苹果的压缩机*应用程序,它有预置的HTTP流。如果你在玩的话,选一些1000 Pick左右的东西。
  2. 用苹果的媒体分割输出。最后,您将得到许多小的.ts文件和清单(.m3u8),其中列出了它们。
  3. 点击播放机中的.m3u8文件(initWithContentURL.)然后你就走了。
  4. 重复上面的步骤1和2,并指定不同的带宽。我们去了压缩机的预置。
  5. 最后,您将得到不同版本的视频,1对于每个带宽,请使用Apple的variantplaylistcreator工具创建一个主播放列表文件,该文件将使您的播放器指向每个带宽,以便它能够自动切换。
  6. 将所有.ts文件和.m3u8文件放在网络上,并使用纵隔验证器工具检查主播放列表文件是否正常,并正确指向每个版本。

确保一个良好的质量比特率是第一个在主播放列表文件,因为这是版本的第一次播放。我们在1000 mark大关附近买了些东西。

我必须使用MPMoviePlayer吗?

我不能对其他库发表评论,我们使用了MPMoviePlayer。

我可以在运行时将mp4视频转换成M8U8格式吗?以及如何实现实时流。

你可以为直播流,但对于预先录制的视频做这一切之前。将所有文件放到网上,验证播放列表( .m3u8 ),并使用主.m3u8文件播放视频。

是否有任何可用于HTTP实时流的示例代码?

在我们的实现中,iOS中的客户端完成所有工作(例如,根据可用带宽交换流)。因此,您只需要确保所有文件都在正确的位置。

压缩器-可从Apple网络站点下载的中介工具https://www.apple.com/final-cut-pro/compressor/和纵隔验证器工具命令行工具。

这些文章提供了你需要知道的一切:https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/StreamingMediaGuide/Introduction/Introduction.html ref/doc/uid/DTS40012238

在Safari中打开它:https://developer.apple.com/streaming/examples/advanced-stream.html -每个“Gear”都是不同的比特率流

在示例主播放列表文件的文本编辑器中打开此.m3u8文件:variant.m3u8

票数 11
EN

Stack Overflow用户

发布于 2012-11-01 06:27:07

如果您的MP4文件长度超过10分钟,您将需要使用HLS来流该文件。

对于活动流,您可以使用这样的软件对其进行实时编码:http://www.mcommstv.com/products/mcomms-transcode

如果它是一个VoD文件,那么使用您最喜欢的H.264/AAC编码器对其进行预编码。

记住要包括文件的多个比特率版本,包括64 64kbps。如果不包括64 64kbps流,苹果将拒绝应用程序。我们通常使用: 64k 120 k 240 k 480 k 800 slow 1200 slow,您在多速率m3u8文件中首先列出的比特率将被播放前30秒,先放一个中等比特率,这样当用户在缓慢的3G网络上运行时,不需要太长时间开始流。下面是一个例子:

代码语言:javascript
复制
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=120000
120k/Playlist.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=60000
60k/Playlist.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=240000
240k/Playlist.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=480000
480k/Playlist.m3u8
票数 2
EN

Stack Overflow用户

发布于 2013-03-08 07:12:05

我们必须将任何音频文件转换为m3U8 formnat。

在运行的时候,我找不到任何插件,我找的很少。

  • 因此,我们在使用URl时设置了IIS服务器。 http://www.hanselman.com/blog/CommentView.aspx?guid=86968cd5-feeb-47f2-b02e-1eb4fa556379#commentstart
  • 找到了链接。就像http://4a75a0cce3694e29bc670b3d574fec92.cloudapp.net/push.isml/manifest 通过像http://4a75a0cce3694e29bc670b3d574fec92.cloudapp.net/push.isml/manifest(format=m3U8-aapl)一样修改它

我们可以使用视频标签在HTML5中铺设这个URL。我们也可以上传点播视频。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11643513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档