`
virues
  • 浏览: 72373 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

直播常识

阅读更多
1、视频直播的整个流程是什么?

视频直播可大致分为:

1) 视频录制端:一般是电脑上的音视频输入设备或者手机端的摄像头或者麦克风,目前以移动端的手机视频为主。

2) 视频播放端:可以是电脑上的播放器,手机端的 native 播放器,还有就是 h5 的 video 标签等,目前还是已手机端的 native 播放器为主。

3) 视频服务器端:一般是一台 nginx 服务器,用来接受视频录制端提供的视频源,同时提供给视频播放端流服务。


2、 怎样进行音视频采集?

当首先明确几个概念:

视频编码:所谓视频编码就是指通过特定的压缩技术,将某个视频格式的文件转换成另一种视频格式文件的方式,我们使用的 iphone 录制的视频,必须要经过编码,上传,解码,才能真正的在用户端的播放器里播放。

编解码标准:视频流传输中最为重要的编解码标准有国际电联的H.261、H.263、H.264,其中 HLS 协议支持 H.264 格式的编码。

音频编码:同视频编码类似,将原始的音频流按照一定的标准进行编码,上传,解码,同时在播放器里播放,当然音频也有许多编码标准,例如 PCM 编码,WMA 编码,AAC 编码等等,这里我们 HLS 协议支持的音频编码方式是AAC编码。

下面将利用 ios 上的摄像头,进行音视频的数据采集,主要分为以下几个步骤:

1) 音视频的采集,ios 中,利用 AVCaptureSession和AVCaptureDevice 可以采集到原始的音视频数据流。

2) 对视频进行 H264 编码,对音频进行 AAC 编码,在 ios 中分别有已经封装好的编码库来实现对音视频的编码。

3) 对编码后的音、视频数据进行组装封包;

4) 建立 RTMP 连接并上推到服务端。

ps:由于编码库大多使用 c 语言编写,需要自己使用时编译,对于 ios,可以使用已经编译好的编码库。

x264编码:https://github.com/kewlbear/x264-ios

faac编码:https://github.com/fflydev/faac-ios-build

ffmpeg编码:https://github.com/kewlbear/FFmpeg-iOS-build-script

关于如果想给视频增加一些特殊效果,例如增加滤镜等,一般在编码前给使用滤镜库,但是这样也会造成一些耗时,导致上传视频数据有一定延时。

3、 前面提到的 ffmpeg 是什么?

和之前的 x264 一样,ffmpeg 其实也是一套编码库,类似的还有 Xvid,Xvid 是基于 MPEG4 协议的编解码器,x264是基于 H.264 协议的编码器, ffmpeg 集合了各种音频,视频编解码协议,通过设置参数可以完成基于 MPEG4,H.264 等协议的编解码,demo 这里使用的是 x264 编码库。

4、 什么是 RTMP?

Real Time Messaging Protocol(简称 RTMP)是 Macromedia 开发的一套视频直播协议,现在属于 Adobe。和 HLS 一样都可以应用于视频直播,区别是 RTMP 基于 flash 无法在 ios 的浏览器里播放,但是实时性比 HLS 要好。所以一般使用这种协议来上传视频流,也就是视频流推送到服务器。


5、. 推流

简所谓推流,就是将我们已经编码好的音视频数据发往视频流服务器中,一般常用的是使用 rtmp 推流,可以使用第三方库 librtmp-iOS 进行推流,librtmp 封装了一些核心的 api 供使用者调用,如果觉得麻烦,可以使用现成的 ios 视频推流sdk,也是基于 rtmp 的,https://github.com/runner365/LiveVideoCoreSDK

6、. 推流服务器搭建

简简单的推流服务器搭建,由于我们上传的视频流都是基于 rtmp 协议的,所以服务器也必须要支持 rtmp 才行,大概需要以下几个步骤:

1) 安装一台 nginx 服务器。

2) 安装 nginx 的 rtmp 扩展,目前使用比较多的是https://github.com/arut/nginx-rtmp-module

3) 配置 nginx 的 conf 文件:

rtmp { 

     server { 

         listen 1935;  #监听的端口

         chunk_size 4000; 


         application hls {  #rtmp推流请求路径
             live on; 
             hls on; 
             hls_path /usr/local/var/www/hls; 
             hls_fragment 5s; 
         } 
     } 

4) 重启 nginx,将 rtmp 的推流地址写为 rtmp://ip:1935/hls/mystream,其中 hls_path 表示生成的 .m3u8 和 ts 文件所存放的地址,hls_fragment 表示切片时长,mysteam 表示一个实例,即将来要生成的文件名可以先自己随便设置一个。更多配置可以参考:https://github.com/arut/nginx-rtmp-module/wiki/

根据以上步骤基本上已经实现了一个支持 rtmp 的视频服务器了。

7、. 在 html5 页面进行播放直播视频?

简单来说,直接使用 video 标签即可播放 hls 协议的直播视频:

<video autoplay webkit-playsinline> 
     <source src="http://10.66.69.77:8080/hls/mystream.m3u8" type="application/vnd.apple.mpegurl" /> 
     <p class="warning">Your browser does not support HTML5 video.</p> 
</video>
需要注意的是,给 video 标签增加 webkit-playsinline 属性,这个属性是为了让 video 视频在 ios 的 uiwebview 里面可以不全屏播放,默认 ios 会全屏播放视频,需要给 uiwebview 设置 allowsInlineMediaPlayback=YES。 业界比较成熟的 videojs,可以根据不同平台选择不同的策略,例如 ios 使用 video 标签,pc 使用 flash 等。
  • 大小: 84.3 KB
  • 大小: 193.2 KB
  • 大小: 84.8 KB
分享到:
评论

相关推荐

    2020年第4季度娱乐直播行业用户洞察.pdf

    考虑到您需要的是与娱乐直播行业用户洞察相关的内容,以上知识点是基于行业常识和普遍趋势所做的分析,而具体到2020年第4季度的数据和洞察则需要详细的内容来进行深入的解析和解读。希望这些知识点能够对您有所助益...

    抖音直播营销实战经验手册第一期.pdf

    由于提供的文件内容存在OCR扫描导致的部分文字识别错误,我将基于现有的文字内容和常识对抖音直播营销实战经验手册进行解读。 首先,这份手册针对的是如何在抖音平台上进行直播营销。抖音作为当前流行的短视频社交...

    2021全国中小学消防安全公开课网络直播观后感5篇.docx

    2021年的全国中小学消防安全公开课通过网络直播的方式,将消防安全知识传递给广大学生,旨在增强他们的消防安全意识,提高应对火灾事故的能力。\n\n观后感的第一篇文章中,作者强调了火灾的严重性,指出火灾往往源于...

    119全国消防日主题直播观后感五篇.docx

    二、学习消防常识 面对火灾,具备基本的消防知识和自救技能是至关重要的。例如,在火场中,利用身边的物品进行自救,如湿毛巾可以过滤烟雾,趴在地上避免吸入有毒气体,选择正确的逃生路径。平时应多学习消防知识,...

    大学消防公开课网络直播观后感.docx

    讲座中强调了火灾自救的常识,包括报警时需准确提供信息,火灾初起时的应急措施,以及在火场中避免呼叫以免吸入有毒烟雾。此外,还介绍了特殊情况下如何逃生,提醒大家在紧急时刻保持冷静,避免盲目跳楼。预防火灾...

    流媒体常识工具格式转换播放软件使用介绍.pdf

    【流媒体常识】 流媒体是一种在网络上连续传输的媒体形式,允许用户在数据完全下载之前就开始播放。这种技术广泛应用于在线视频、音频直播和点播服务。流媒体工具和播放软件的使用是确保顺利观看和处理这类媒体的...

    关于2021大学消防公开课直播观后感800字精选5篇_看消防公开课直播有感5篇.docx

    - **方式**: 通过网络直播的方式进行。 ### 2. 案例分析——上海商学院火灾事件 - **事件背景**: 上海商学院徐汇校区某宿舍楼发生火灾,导致四名女生死亡。 - **原因分析**: 使用“热得快”引发电气故障,并引燃...

    2021大学消防公开课直播观后感范文10篇.docx

    - **消防安全的基本认识**:理解消防工作的方针、目的和意义,了解燃烧与灭火的基本常识,掌握常见灭火器材的使用方法等。 - **消防安全管理原则**:“安全第一,预防为主”,确保消防安全作为首要任务。 - **培训与...

    学校消防安全公开课网络直播2021观后感5篇.docx

    【标题】和【描述】提及的是关于2021年学校消防安全公开...综上所述,消防安全不仅涉及基本的生活常识,还与科技发展和法规制度密切相关。通过学习和传播消防安全知识,我们可以有效预防火灾,保障人民的生命财产安全。

    “大学消防公开课”网络直播活动观后感心得5篇.docx

    - **背景**: 通过举办“大学消防公开课”网络直播活动,旨在提高大学生群体对消防安全的认识。 - **目的**: 增强学生的消防安全意识,了解基本的消防知识,掌握逃生技能。 - **意义**: 在日常生活中,增强自我保护...

    2021学校消防安全公开课网络直播观后感5篇.docx

    从给定的文件信息来看,本文主要围绕2021年学校消防安全公开课网络直播的观后感展开讨论,强调了消防安全的重要性和普及消防安全知识的必要性。以下是对该文档涉及的关键知识点进行的详细阐述: ### 消防安全的重要...

    电影电视拍摄技术入门及常识理论知识.pdf

    同时,电影与电视的竞争与合作关系也日益显现,从直播、录播到电子新闻采集(ENG)、电子现场制作(EFP)和电子演播室制作(ESP)等多种模式,反映了影视制作的多样性和灵活性。 影视制作流程包括前期筹备、中期...

    2021中小学消防公开课直播观后感5篇_看中小学消防公开课直播有感.docx

    消防常识普及 - **增强自我保护能力**:通过各种途径学习消防知识,提高个人在紧急情况下的自我保护能力。 - **社会共同参与**:不仅仅是学校,整个社会都应该参与到消防安全的宣传和实践中去,形成良好的消防安全...

    传媒行业七大角度看全球游戏产业:从“常识”到“启示”-20191230-方正-87页.rar

    报告标题:“传媒行业七大角度看全球游戏产业:从“常识”到“启示”-20191230-方正-87页” 这份由方正证券发布的87页行业报告,聚焦于全球游戏产业,从七个不同的视角深度剖析了这一领域的现状、趋势以及对传媒...

    2021全国中小学生消防网络直播公开课观后感作文5篇.docx

    - **内容**:讲解灭火的基本常识,包括如何使用灭火器等。 - **意义**:帮助学生了解火灾的危害性和应对方法。 ### 3. 学习消防安全的重要性 - **提高意识**:公开课中提到要提高学生的消防安全意识,这是预防火灾...

    播音与主持艺考常识50题汇编.pdf

    【播音与主持艺考常识】是针对播音与主持专业艺考生的一项重要考核内容,涉及到该领域丰富的知识点。以下将对其中的关键概念和知识点进行详细阐述: 1. **播音学研究方法**:包括系统的方法、全息的方法、比较的...

    学校消防安全公开课网络直播2021最新观后感5篇.docx

    从给定文件的信息来看,本文主要讨论了学校消防安全教育的重要性,并通过两个具体案例阐述了消防安全的基本常识以及如何预防火灾的发生。 ### 消防安全教育的重要性 消防安全教育是提高公众防火意识、减少火灾事故...

    关于消防全国大学生消防公开课直播观后感心得体会800字精选【5篇】.docx

    2. **消防公开课的意义**:通过开展消防公开课直播活动,能够有效提高大学生的消防安全意识和应急处理能力,对于预防火灾事故的发生具有重要意义。 3. **消防队伍的作用**:消防队伍作为专业救援力量,在火灾救援中...

    2021大学消防公开课直播活动观后感.docx

    3. **消防常识的掌握**:每个人都应该了解基本的消防知识,如不得损坏或私自动用消防设施,保持消防通道畅通,火灾发生时及时拨打119报警,并准确描述火情。 4. **火灾中的自救措施**:在火灾发生时,要保持冷静,...

    《谏太宗十思疏》直播 (1).ppt

    4. 文体常识中提到,奏议是古代臣子向皇帝提出建议、报告情况的文体,包括奏、议、疏、表等。其中,“疏”是一种分条陈述意见的奏疏,特点是文辞精炼且逻辑性强。 5. “讽、谏、谤、讥、说”是古代五种不同类型的...

Global site tag (gtag.js) - Google Analytics