OS设备上要用原生的浏览器或者播放器来跑直播流媒体,确实是有点费周折,不过找对了软件和方法就相对容易许多。收集了一下关于iOS设备上搭建直播流媒体服务器的一些解决方案,如下:

1、凤雨小城,HLS 简介,http://www.vexx.cn/blog/read.php?240

2、dancong , wowza服务器无法将RTMP的流播放到iOS上(已解决),http://www.cocoachina.com/bbs/read.php?tid-47849.html

HLS简介 – rainstown (小城秋雨)

HLS(HTTP Live Streaming)是苹果公司针对iPhone、iPod、iTouch和iPad等移动设备而开发的基于HTTP协议的流媒体解决方案。
在 HLS 技术中 Web 服务器向客户端提供接近实时的音视频流。但在使用的过程中是使用的标准的 HTTP 协议,所以这时,只要使用 HLS 的技术,就能在普通的 HTTP 的应用上直接提供点播和直播。
在App Store中的视频相关的应用,基本都是应用的此种技术。
该技术基本原理是将视频文件或视频流切分成小片(ts)并建立索引文件(m3u8)。支持的视频流编码为H.264,音频流编码为AAC。
m3u8文件示例:
#EXTM3U
#EXT-X-TARGETDURATION:10
#EXTINF:10,

http://192.168.1.36/vod/tt/tt-1.ts

#EXTINF:10,

http://192.168.1.36/vod/tt/tt-2.ts

#EXTINF:10,

http://192.168.1.36/vod/tt/tt-3.ts

#EXT-X-ENDLIST
可以在iOS或Mac OS上通过quicktime或safari(其实还是调用quicktime)来进行播放。
下面分点播和直播分别进行一下介绍。
点播:
苹果官方提供了Segmenter软件,参数如下:

segmenter <input MPEG-TS file> <segment duration in seconds> <output MPEG-TS file prefix> <output m3u8 index file> <http prefix>

示例:
segmenter youku.m2ts 10 tt/tt index.m3u8 http://192.168.1.36/vod/
注意:输入文件必须为MPEG2TS格式。对我们的mp4文件来说,必须先进行一次容器格式转换才能进行分割。分割命令:
ffmpeg -i youku.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb youku.m2ts
我们下一阶段要做的视频分割项目,针对iOS平台的播放,可以考虑采用此种方式。只是若如此做,存储成本会加倍.。
直播:
客户端软件推送H.264视频流和AAC音频流到服务器软件,服务器软件将接收到的流每缓存一定时间后包装为一个新的ts文件,然后更新m3u8文件.。m3u8文件中只保留最新的几个片段的索引,以保证观众任何时候连接进来都会看到较新的内容,实现近似直播的效果。这种方式的理论最小延时为一个ts文件的时长,一般为2-3个ts文件的时长。
苹果没有官方的HLS直播服务器软件和客户端软件。其它第三方公司的产品有:
·  TVersity
·  Helix Universal Server
·  Wowza Media Server
·  VLC Media Player version 1.2
我采用Helix Universal Server和Helix Producer(客户端软件)进行了直播测试。
若要做针对iOS平台的直播,目前来看,只能采用此种方式。但在其它平台(除了iOS和Mac之外)上无法观看直播,也决定了此种直播方式的应用场景暂时具有相当的局限性,只能作为常规直播方式的一种补充。

wowza服务器无法将RTMP的流播放到iOS上(已解决)

我现在需要将本地Macbook的rtmp的视频流直播到iOS上,准备采用wowza作为服务器。

我按照这个教程用FlashMediaLiveEncoder 3.2 采集本机的iSight视频后,按视频H.264, Baseline 3.0, 音频 AAC为格式输出rtmp协议的流。

复制代码

  1. FMS URL里填rtmp://localhost:1935/live
  2. Stream里填mp4:myStream

我在本地按wowza官方的配置方法配完后,Mac OS X 网页上可以用jwplayer直接以:

复制代码

  1. var flashvars = {
  2. file:’myStream’,
  3. streamer:’rtmp://localhost/live/’
  4. };

这种方式播放rtmp流,说明wowza已经接收到rtmp流了。

问题是,用iOS访问“http://localhost:1935/live/myStream.sdp/playlist.m3u8”,结果iOS虽然出现播放界面,但是报错“File not found”,查看wowza控制台报错,说:

复制代码

  1. INFO stream create myStream.sdp -
  2. WARN server comment – HTTPStreamerAdapterCupertinoStreaming.getAppInstance: Stream not found [live/myStream.sdp/playlist.m3u8]: myStream.sdp
  3. WARN server comment – HTTPStreamerAdapterCupertinoStreaming.getAppInstance: Stream not found [live/myStream.sdp/playlist.m3u8]: myStream.sdp
  4. INFO stream destroy myStream.sdp -

说明访问到了wowza,但是wowza无法将rtmp流转成myStream。

我看过了Apple官方的HTTP live stream的文档,说需要segmenter将视频流切分成多个ts的视频文件和m3u8的播放列表,我觉得这些都是wowza负责实现的。

请问如何配置wowza才能将rtmp流转成Apple HTTP live stream。

另外,虽然wowza要求SDP文件,但是我不知道怎么生成SDP文件,而且网上有人说不用SDP文件也可以。是因为这个SDP缺失导致的吗?如何生成SDP?

解决方案:
根本不用生成SDP。
原来是iOS上的访问地址被官方误导了,晕死,官网上的竟然是错的。URL里不需要写“.sdp”,应该是http://localhost:1935/live/myStream/playlist.m3u8就可以了。

ios(苹果)设备直播流媒体 服务搭建相关推荐

  1. NDK 直播流媒体服务器搭建

    该文章首发于微信公众号"字节流动". 本博客 NDK 开发系列文章: NDK 编译的三种方式 NDK 开发中引入第三方静态库和动态库 NDK 开发中 Native 与 Java 交 ...

  2. Axure经典实例高保真交互下载(微信元件高保真交互库+微信原型交互+安卓设备模板含登录注册引导欢迎流程+ios苹果设备模板)

    作品介绍:原型内容包括:微信小程序原件库.视觉规范.基础组件.操作反馈.导航搜索.ios机型设备模板.常用元素.安卓手机设备模板包含注册登录.欢迎引导页等 Axure兼容版本:8.0 和9.0 Axu ...

  3. H5视频之直播流服务搭建(一)

    转自https://blog.csdn.net/qq_40816360/article/details/84037877 继上次制作了RTMP直播源之后,因为互联网更常用的是HLS源和HTTP-FLV ...

  4. 如何查询苹果设备的激活和维保信息

    1.苹果官方网站查询: [url]https://selfsolve.apple.com/agreementWarrantyDynamic.do?[/url] 国内有时候打开较困难,多试试或者换个好的 ...

  5. 苹果手机直播显示服务器,搭建流媒体服务器(iOS直播 )

    写在前面 开发一款直播app,肯定需要流媒体服务器,本篇主要讲解直播中流媒体服务器搭建,并且讲解了如何利用FFMPEG编码和推流,并且介绍了FFMPEG常见命令. 效果 一.安装Homebrew 首先 ...

  6. 免费视频直播点播服务器系统,搭建一套完整的网络视频流媒体直播/点播服务系统需要具备哪些条件?...

    原标题:搭建一套完整的网络视频流媒体直播/点播服务系统需要具备哪些条件? 随着Internet的飞速发展,网上现场直播已经从实验阶段走向了实用阶段.各式各样的社会活动都可以借助网上现场直播方式传遍全世 ...

  7. 搭建rtmp直播流服务之4:videojs和ckPlayer开源播放器二次开发(播放rtmp、hls直播流及普通视频)...

    前面几章讲解了使用 nginx-rtmp搭建直播流媒体服务器; ffmpeg推流到nginx-rtmp服务器; java通过命令行调用ffmpeg实现推流服务; 从数据源获取,到使用ffmpeg推流, ...

  8. 直播源码搭建教程之直播流媒体

    直播源码搭建教程之直播流媒体 前言 这段时间在搭建一个IPCamera项目服务器.视频点对点通话,客户端会查看设备端的音视频实时流.为了省流量,是通过P2P进行穿透.但是由于NAT设备的原因和IPV4 ...

  9. H5直播之从推流服务搭建到视频直播

    最近视频直播比较火,发现目前 WEB 上主流的视频直播方案有 HLS 和 RTMP,移动 WEB 端目前以 HLS 为主,PC端则以 RTMP 为主实时性较好,接下来将围绕这两种视频流协议来展开H5直 ...

最新文章

  1. pkg mysql 在macOS 上的管理
  2. VEEAM replication配置步骤
  3. CentOS 6.0图解网络安装全过程
  4. Jetson Nano and VIM3硬件参数对比及目标检测性能对比
  5. Linux文本检索命令grep笔记
  6. 最易懂的layui分页
  7. 49. Element removeAttribute() 方法
  8. 职场:如何成为PPT高手【01思维篇】
  9. C++复习(二)——绘制余弦函数图像
  10. 厦大计算机学院2018夏令营6,2018年厦门大学建筑与土木工程学院保研夏令营通知...
  11. 鸿蒙形容欣欣向荣发展,比喻事业蓬勃发展繁荣兴旺的成语蒸蒸日上
  12. 疯子、精神病患者、诗人、哲学家、伟大的思想家—— 尼采的孤独:《最孤独者》...
  13. Android 11 wifi adb 连接错误 “Unable to start pairing client.“
  14. java中函数编程的妙用
  15. 商业化广告--体系学习-- 7 -- 行业蓝图篇 --广告产品发展路径
  16. 随记--做一个“懒惰”的程序员
  17. 无聊与兴奋 《幸福之路》读书笔记
  18. 如何在网上找到并下载你想要的软件
  19. 34岁的我,重拾编程
  20. 王者荣耀个人发卡源码+教程

热门文章

  1. Xposed去除抖音Toast教程
  2. hive存储处理器(StorageHandlers)以及存储格式以及hive与hbase整合
  3. Linux 下的 3D 设计软件-FreeCAD
  4. 用Go构建Teamwork项目的9条教训
  5. 搭建L2TP-***
  6. 《大西洋月刊》2014-2020年电子版合集| The Atlantic
  7. 【赶紧收藏】福利:Python全国计算机二级等级考试题库免费送!!!!
  8. php 防注册机,discuz论坛自动注册机 伪造注册会员数
  9. spring(春天)
  10. YOLOv3 代码详解(2) —— 数据处理 dataset.py解析:输入图片增强、制作模型的每层输出的标签