当前位置: 首页 > news >正文

wordpress建m域名网站噼里啪啦完整版高清免费观看

wordpress建m域名网站,噼里啪啦完整版高清免费观看,成都装饰网站建设,江苏南京最新通告从快播到直播 视频直播的应用的场景#xff1a; 即时通讯 视频直播 互动直播 在线教育 网易云通信直播源自网易多年视频技术沉淀#xff0c;基于专业的跨平台视频编解码技术和大规模视频内容分发网络#xff0c;提供稳定流畅、低延时、高并发的实时音视频服务#xff0c;有… 从快播到直播 视频直播的应用的场景 即时通讯 视频直播 互动直播 在线教育 网易云通信直播源自网易多年视频技术沉淀基于专业的跨平台视频编解码技术和大规模视频内容分发网络提供稳定流畅、低延时、高并发的实时音视频服务有视频直播需求的用户可调用网易云通信直播提供的API或SDK即可将视频直播无缝对接到自身的业务应用系统。 本服务适用于各类音视频直播场景比如教育行业的在线教育、网络课堂等娱乐行业的美女直播、游戏直播等广电行业的电视直播、赛事直播等另外还适用于企业协作、远程医疗、云监控、庭审直播等其他视频相关行业。 视频和直播的准备 android-java层camera相关视频、AudioRecord音频相关、MediaCodec相关音视频编码 android-native层ch264、h265等编码库的调用各种音频编码库的使用aac、amr、mp3、g711等容器封装技术音视频封装ts、ps等媒体协议hls、rtsp、rtmp等 socket编程android-ndk编译so技术jni技术 难点 大概就这么多如果细说还有许多细节比如音视频同步传输过程中的QOS等等问题 android系统版本太多直接用android 系统接口的话会有很多坑例如mediacodec有的支持编码264有的不支持所以要配合第三方库一起使用如果只是单纯的会java那么android直播这里是玩不转的 直播的完整 SDK选择方案 http://www.cctime.com/html/2016-6-6/1179900.htm 即构科技就在深南大道 : 即构科技的CEO林友尧是原腾讯QQ即通部门总经理 要分开一个一个说。我最熟悉的是花椒(huajiao)他们家 技术牛逼单向直播的功能是自己做的 技术和产品和运营都是行业翘楚没的说的。他们的 互动直播连麦多主播是在2016年的9月左右上线的吧用的是即构科技ZEGO的互动直播方案/SDK。 不是说他们做不出来而是他们不能短时间做出来短时间内需要把主要精力放在主营业务上所以就用了即构科技( http://www.zego.im)的互动直播SDK单向直播部分还是用他们自己的。 作者柴文多 链接https://www.zhihu.com/question/36076688/answer/130681539 来源知乎 著作权归作者所有。商业转载请联系作者获得授权非商业转载请注明出处。 看看一线的直播平台在用哪些第三方公司的直播SDK比如说 花椒和一直播用了即构科技的 。但是我没有看到SDK 不要用网易功能不完全推流有内建参数无法设置高码流和高帧数延迟高 不要用趣拍稳定性差延迟高SDK太大 趣拍直播就很不错SDK很好集成 芒果直播 也在用 不要用 百度 响应慢低画质马赛克高画质延迟高 大牛直播有比较好的文档和技术支持 虎牙直播是YY的自然是用YY的方案了 斗鱼用网宿映客用腾讯云熊猫用网宿和迅雷等 七云牛直播 https://github.com/daniulive/SmarterStreaming 腾讯云 https://www.qcloud.com/document/product/267/4735 主流的视频和音频的解码 vitamio美拍 ffmpeg主流 ijkplayer斗鱼网易音乐     哔哩哔哩的ijkplayer了。 vlcYY webRTC  网页端的 1.vitamio这个是功能很强大,但是企业收费版的,个人用户可以玩玩.美拍,结果对于非个人移动应用均需购买Vitamio使用授权 流媒体支持 Vitamio 支持各种常见的流媒体协议可以点播或者直播音频和视频例如如下常见协议均能无缝支持 Vitamio使用了 FFmpeg 做为媒体解析器和最主要的解码器同时开发了针对不同移动平台的硬解码方案能够完美支持 H.264/AVC、H.263、MPEG4 等常见的视频编码覆盖上百种多媒体格式。 MMS RTSP (RTP, SDP), RTMP HTTP progressive streaming HLS - HTTP live streaming (M3U8) Vitamio   新浪微博安卓客户端搜狐视频安卓客户端风行网安卓客户端歌华有线熊猫影音91网龙视讯中国央视法国航空悬浮浏览器等等 2).ffmpeg是一个非常强大的音视频编解码开源库,目前市场上流行的播放器,大部分都是基于此开发的,包括暴风,腾讯,等等以及上面提到的vitamio,vlc,ijkplayer 关于ffmpeg源码分析,有兴趣的请看雷霄骅(leixiaohua1020)的专栏 发现网易云音乐,斗鱼用的ijkplayer, 3).ijkplayer 是一个基于FFmpeg的轻量级 Android / iOS 视频播放器。FFmpeg的是全球领先的多媒体框架能够解码编码 转码复用解复用流过滤器和播放大部分的视频格式 4. vlc 支持android开发 ,ijkplayer也支持. 通过反编译网易云音乐,以及YY等音视频app. YY用的VLC. VLC Media Player (VideoLAN)  为 Windows、Linux、OS X 、Android、iOS、Windows Phone  等平台提供一个视频播放器、解码器。它可以播放来自网络、摄像头、磁盘、光驱的文件支持包括MPEG 1/2/4, H264, VC-1, DivX, WMV, Vorbis, AC3, AAC等格式的解码。 4).    目前WebRtc只适合小范围8人以内音视频会议不适合做直播 可以用WebRTC来做视频直播吗 接下来介绍下 ffmpeg vlc ijkplayer以及选择方案 1.1基本概念 视频是什么 静止的画面叫图像picture。连续的图像变化每秒超过 24帧frame画面以上时根椐视觉暂留原理 人眼无法辨别每付单独的静态画面看上去是平滑连续的视觉效果。这样的连续画面叫视频。 当连续图像变化每秒低于24帧画面时人眼有不连续的感觉叫动画cartoon 流媒体 所谓流媒体是指采用 流式传输 的方式在Internet播放的媒体格式。 流媒体又叫流式媒体它是指商家用一个 视频 传送服务器把节目当成数据包发出传送到网络上。 用户通过解压设备对这些数据进行解压后节目就会像发送前那样显示出来。 http://baike.baidu.com/link?url4Ql7QicMGPpMMOHvIs_J7_GN85aIdA2axgnjLvTTfSLdMezUz-IwjoAh2m-zbZiPL1aUEbEhqTssIzaN4_XrxGMH1SOHdxopA6fraK8RcXom3NyY-YwhIm5gXrQH7-U4 码流 码流Data Rate是指视频文件在单位时间内使用的数据流量也叫码率 是视频编码中画面质量控制中最重要的部分。同样分辨率下视频文件的码流越大压缩比就越小画面质量就越好。 一般我们用的单位是kbps即千位每秒。 帧率 帧/秒frames per second的缩写也称为帧速率测量用于保存、显示动态视频的信息数量。每一帧都是静止的图象快速连续地显示帧便形成了运动的假象。 每秒钟帧数 fps 愈多所显示的动作就会愈流畅可理解为1秒钟时间里刷新的图片的帧数也可以理解为图形处理器每秒钟能够刷新几次也就是指每秒钟能够播放或者录制多少格画面。 1.2 多媒体的格式分类 封装格式(专业上讲叫容器,通俗的叫文件格式),视频编解码,音频编解码 ####1.1常见的封装格式 * MPEG : 编码采用的容器具有流的特性。里面又分为 PSTS 等PS 主要用于 DVD 存储TS 主要用于 HDTV. * MP 3 :大名鼎鼎的 MP3已经成为网络音频的主流格式能在 128kbps 的码率接近 CD 音质 * MP4(Mp4) : 编码采用的容器基于 QuickTime MOV 开发具有许多先进特性;实际上是对Apple公司开发的MOV格式(也称Quicktime格式)的一种改进. * MKV: 它能把 Windows Media VideoRealVideoMPEG-4 等视频音频融为一个文件而且支持多音轨支持章节字幕等;开源的容器格式 * 3GP : 3GPP视频采用的格式 主要用于流媒体传送;3GP其实是MP4格式的一种简化版本,是手机视频格式的绝对主流. * MOV : QuickTime 的容器恐怕也是现今最强大的容器甚至支持虚拟现实技术Java等它的变种 MP4,3GP都没有这么厉害;广泛应用于Mac OS操作系统在Windows操作系统上也可兼容但是远比不上AVI格式流行 * AVI : 最常见的音频视频容器,音频视频交错Audio Video Interleaved允许视频和音频交错在一起同步播放. * WAV : 一种音频容器大家常说的 WAV 就是没有压缩的 PCM 编码其实 WAV 里面还可以包括 MP3 等其他 ACM 压缩编码 等等 http://baike.baidu.com/link?urlkR6hmAlRdnZgjwMpmZ2x1p1pXGX1QvmV-ZjaAlOyjYG42LmvabtaiMlStuReHZp0RgdPV3s_RSvVMOYhqVtQCeAK-XIyu-y8sypwVR03zDs6n1LaV8u8Hzi8HvtQ4as2xolijPfVkzItjsB0ZWiMtq 1.3 流媒体协议(RTP RTCP RTSP RTMP HLS) 参考地址 http://www.zhixing123.cn/computer/55326.html RTP :(Real-time Transport Protocol)是用于Internet上针对多媒体数据流的一种传输层协议.RTP协议和RTP控制协议RTCP一起使用而且它是建立在UDP协议上的 RTCP:Real-time Transport Control Protocol或RTP Control Protocol或简写RTCP实时传输控制协议,是实时传输协议RTP的一个姐妹协议 RTP协议和RTP控制协议RTCP一起使用而且它是建立在UDP协议上的 RTSP:Real Time Streaming Protocol是用来控制声音或影像的多媒体串流协议,RTSP提供了一个可扩展框架使实时数据如音频与视频的受控、点播成为可能。 数据源包括现场数据与存储在剪辑中的数据。该协议目的在于控制多个数据发送连接为选择发送通道如UDP、多播UDP与TCP提供途径并为选择基于RTP上发送机制提供方法 传输时所用的网络通讯协定并不在其定义的范围内服务器端可以自行选择使用TCP或UDP来传送串流内容比较能容忍网络延迟 RTP不像http和ftp可完整的下载整个影视文件它是以固定的数据率在网络上发送数据客户端也是按照这种速度观看影视文件当影视画面播放过后就不可以再重复播放除非重新向服务器端要求数据。 RTSP与RTP最大的区别在于RTSP是一种双向实时数据传输协议它允许客户端向服务器端发送请求 如回放、快进、倒退等操作。当然RTSP可基于RTP来传送数据还可以选择TCP、UDP、组播UDP等通道来发送数据具有很好的扩展性。它时一种类似与http协议的网络应用层协议 RTSP协议族的优势在于可以控制到视频帧因此可以承载实时性很高的应用。这个优点是相对于HTTP方式的最大优点。倍速播放功能是RTSP协议独有的其他视频协议都无法支持。 缺点 就是服务器端的复杂度也比较高实现起来也比较复杂。Ios端不支持该协议。 在国内视频网站多采用HTTPMP4或者HTTPFLV协议传输视频而国外使用RTMPRTSP等专门的流媒体格式。 质就是下载视频文件而利用视频文件本身的特点就是存在头部信息和部分视频帧数据就完全可以解码播放了。 显然这种方式需要将视频文件的头部信息放在文件的前面 RTMP协议     RTMP是Real Time Messaging Protocol实时消息传输协议的首字母缩写。 RTMP(Real Time Messaging Protocol)实时消息传送协议是 Adobe  Systems公司为Flash播放器和服务器之间音频、视频和数据传输 开发的开放协议。 该协议基于TCP是一个协议族包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。RTMP是一种设计用来进行实时数据通信的网络协议 主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。支持该协议的软件包括Adobe Media Server/Ultrant Media Server/red5等。 HLS协议 HTTP Live Streaming缩写是HLS是一个由苹果公司提出的基于HTTP的流媒体网络传输协议。是苹果公司QuickTime X和iPhone软件系统的一部分。它的工作原理是把整个流分成一个个小的基于HTTP的文件来下载每次只下载一些。当媒体流正在播放时客户端可以选择从许多不同的备用源中以不同的速率下载同样的资源允许流媒体会话适应不同的数据速率。 HTTP Live Streaming 还有一个巨大优势自适应码率流播adaptive streaming。效果就是客户端会根据网络状况自动选择不同码率的视频流条件允许的情况下使用高码率网络繁忙的时候使用低码率并且自动在二者间随意切换。这对移动设备网络状况不稳定的情况下保障流畅播放非常有帮助。实现方法是服务器端提供多码率视频流并且在列表文件中注明播放器根据播放进度和下载速度自动调整。使用起来也非常简单。 为什么苹果要提出HLS这个协议其实他的主要是为了解决RTMP协议存在的一些问题。比如RTMP协议不使用标准的HTTP接口传输数据所以在一些特殊的网络环境下可能被防火墙屏蔽掉。 缺点HLS 直播延时 HLS支持的视频编码格式H264,支持的音频编码为Acc 二. android音视频的开发 播放流程: 获取流--解码--播放 录制播放路程: 录制音频视频--剪辑--编码--上传服务器 别人播放. 直播过程 : 录制音视频--编码--流媒体传输--服务器---流媒体传输到其他app--解码--播放 几个重要的环节 录制音视频 AudioRecord/MediaRecord视频剪辑 mp4parser 或ffmpeg音视频编码 aach264    视频的编码格式为H264,上传大文件 网络框架,进度监听,断点续传流媒体传输 流媒体传输协议rtmp rtsp hls音视频解码 aach264渲染播放 MediaPlayer 网易的直播架构 直播有2种一种是直播还有一种是互动直播。 推流端和拉流端 主要的协议HttpRTMP,HLS 其中上行RTMP推流很普遍了很多游戏直播都使用obs推RTMP流。   在整个过程中涉及很多流媒体的基本概念先说说GOP。   GOP即Group of picture(图像组)指两个I帧之间的距离。即几秒有一个关键帧。分析线上主流的移动直播APP大都在2、3秒之间。   一般的云服务公司都会提供多种协议的拉流方式优缺点如下   l HLS协议移动h5浏览器支持较好但是延迟较大。移动端播放前需要产生三个分片每个分片至少得是一个GOP。一个GOP即使是2秒也意味着这个环节耗费了6秒的延时。   l RTMP协议需要访问1935端口支持双向互动实时性很好PC flash原生支持。   l HTTP-FLV不支持双向互动实时性和RTMP协议一致。   基于以下几点理由小弟准备采用HTTP-FLV作为拉流协议   1. 国内网络情况的恶劣程度并不是每个网络防火墙都允许1935包通过。   2. RTMP协议和HTTP-FLV实际传输的内容都是相同的FLV实时性也一样。   3. RTMP协议握手方式比HTTP复杂。   确定好了拉流协议再看看推流侧依赖的参数。   l FPS每秒编码传输的视频帧数;   l 码率每秒编码传输的音视频比特数;   l GOP关键帧间隔; 1) 能完全运行起来的是金山云、百度云提供的SDK。 我们先看下搭建一个完整的手机直播都包含哪些必须的环节 推流端采集、前处理、编码、推流 服务端处理转码、录制、截图、鉴黄 播放器拉流、解码、渲染、 互动系统聊天室、礼物系统、赞 手机直播推流端需要做哪些工作 直播推流端即主播端主要通过手机摄像头采集视频数据和麦克风采集音频数据经过一系列前处理、编码、封装然后推流到CDN进行分发。CDN的全称是Content Delivery Network 采集 手机直播SDK通过手机摄像头和麦克风直接采集视频数据和音频数据。其中,视频采样数据一般采用RGB或YUV格式、音频采样数据一般采用PCM格式。对于采集到的原始音视频的体积是非常大的因此需要经过压缩技术来处理降低视频的大小来提示传输效率。 在手机视频采集方面iOS系统在硬件的兼容性方面做得比较好系统本身提供了比较完整的视频采集的接口使用起来也比较简单。但是Android系统就比较麻烦了千奇百怪的机型都有适配起来非常难。我们在初期做了一项调研发现Android的适配率还不到50%。 前处理 在这个环节主要处理美颜、水印、模糊等效果。特别是美颜功能几乎是直播的标配功能没有美颜的直播主播们根本提不起兴趣。我们见过太多case是因为没有美颜功能被抛弃使用的。另外国家明确提出了所有直播都必须打有水印并回放留存15天以上。所以在选择直播SDK时没有美颜和水印功能基本就可以选择放弃了。 美颜实际上是通过算法去识别图像中的皮肤部分再对皮肤区域进行色值调整。通常情况下人的肤色与周边环境色调存在较大差异通过颜色对比找到皮肤的基本轮廓进一步进行肤色检查还可以确定人脸范围。找到了皮肤的区域可以进行色值调整、添加白色图层或调整透明度等来等来达到美白效果。美颜除了美白效果还需要磨皮功能磨皮实际上就是用模糊滤镜实现的。滤镜有很多种如高斯滤波双边滤波导向滤波到底选择什么样的模糊滤镜各家也有自己的喜好。 在美颜处理方面最著名的GPUImage提供了丰富的效果同时可以支持IOS和Android还支持自己写算法实现自己最理性的效果。GPUImage本事内置了120多种常见滤镜效果添加滤镜只需要简单调用几行代码就可以了比如大家可以试试使用GPUImageBilateralFiter的双边滤波滤镜来处理基本的磨皮效果想要实现更理想的效果还是要通过自定义算法去实现的各家也都有自己一套算法。 编码 为了便于手机视频的推流、拉流以及存储通常采用视频编码压缩技术来减少视频的体积。现在比较常用的视频编码是H.264但具有更高性能的H.265编码技术正在飞速发展并可能很快成为主流在音频方面通比较常用的是用AAC编码格式进行压缩其它如MP3、WMA也是可选方案。视频经过编码压缩大大提高了视频的存储和传输效率当然经过压缩后的视频在播放时必须进行解码。通俗点讲就是编码器将多张图像进行编码后产生一段段GOPGroup of Pictures播放时解码器读取一段段GOP进行解码后读取图像并进行渲染显示。 在编码方面的核心是在分辨率、码率、帧率等参数中找到最佳平衡点达到体积最小画面最优的效果这些参数各家也都有自己的一套核心参数。 2012年8月爱立信公司推出了首款H.265编解码器六个月后国际电联(ITU)就正式批准通过了HEVC/H.265标准称之为高效视频编码(High Efficiency Video Coding)相较于之前的H.264标准有了相当大的改善做到了仅需要原来一半带宽即可播放相同质量的视频低于1.5Mbps的网络也能传输1080p的高清视频。国内如阿里云、金山云都在推自己的H.265编解码技术随着直播的快速发展和对带宽的依赖H.265编解码技术已有全面取代H.264的趋势。当然全面推开应用还需要些时间。 另外硬件编码已经成为手机直播的首选方案软编码处理在720p以上的视频颓势非常明显。在IOS平台上硬件编码的兼容性比较好可以直接采用但在 Android 平台上Android的MediaCodec 编码器针对不同的芯片平台表现差异还是非常大的要完全实现全平台兼容的成本还是非常高的。 推流 要想用于推流还必须把音视频数据使用传输协议进行封装变成流数据。常用的流传输协议有RTSP、RTMP、HLS等使用RTMP传输的延时通常在1–3秒对于手机直播这种实时性要求非常高的场景RTMP也成为手机直播中最常用的流传输协议。最后通过一定的Qos算法将音视频流数据推送到网络断通过CDN进行分发。 在直播场景中网络不稳定是非常常见的这时就需要Qos来保证网络不稳情况下的用户观看直播的体验通常是通过主播端和播放端设置缓存让码率均匀。另外针对实时变化的网络状况动态码率和帧率也是最常用的策略。 当然在网络传输方面全部自己来做基本不现实找提供推流服务的CDN服务商提供解决方案是最好的选择可参考文章开头介绍的云视频服务商。据了解阿里云是国内唯一能自研CDN缓存服务器的厂商性能还是非常有保障的。通常大多数直播平台都会同时接入多个视频云服务提供商这样可以做拉流线路互备对推流后视频集群再进行优化也可提高直播的流畅性和稳定性。 服务端处理需要做哪些工作 要想适配各终端和平台服务端还需要对流进行转码如支持RTMP、HLS、FLV等格式拉流支持一路转多路适配不同网络和分辨率的终端设备。另外像现在必备的鉴黄功能也需要服务端完成。 截图、录制、水印 像阿里云、金山云、UCloud等云服务商都提供了实时转码技术将用户推流码率较高比如720P实时转化成较低清晰度比如360P的流以适应播放端的需求。如果要自己搭建实时转码系统这个成本是极高的。一台8核设备只能实时转10 路流如果一个正常的直播平台有1000路流那至少就需要100台设备加上后期的运维成本一般公司就吃不消了。实时截图功能和实时转码类似只是一般单机可以处理100路流。市面上云服务提供商基本上都提供了服务端转码、截图、录制功能建议选择好的云服务提供商即可可以节约大量成本。 鉴黄 2016年4月14日上午10时文化部公布了一则消息斗鱼、虎牙、YY、熊猫TV、战旗TV、龙珠直播、六间房、9158等网络直播平台因涉嫌提供含宣扬淫秽、暴力、教唆犯罪等内容的互联网文化产品被列入查处名单。文化部已部署相关执法机构查处涉案企业将及时公布处罚结果。在前期的野蛮生长后国家介入管制一定程度上遏制了直播的发展速度但更有利于直播行业打造健康的生态进入良性发展。这也意味着直播行业鉴黄成了必须环节使用技术手段去鉴黄是手机直播平台必然采用的方案。 市面上提供鉴黄服务的方案主要有两种第一种是对视频进行截图然后对图片进行鉴黄返回鉴黄结果和分值。典型的企业有阿里绿网、图谱科技他们目前都支持直接传入视频经过服务端分析返回结果鉴黄的结果分为色情、疑似色情、正常或性感并对每种结果进行打分。通常由业务系统接入鉴黄服务根据鉴黄结果对直播流进行控制如切断直播流、禁用用户的账号等。第二种是和CDN结合直接对直播流进行分析识别结果也分为色情、疑似色情、性感和正常业务系统根据识别结果直接控制直播流。典型的企业是Viscovery这套方案的优点是实时性保证比较好缺点是必须部署到CDN或自己的机房使用成本相对高一些。 趣拍微视频云服务作为一站式直播解决方案提供商我们的主旨是让用户以最短时间、最小成本接入直播服务。因此用户只需在控制台对鉴黄服务进行配置就可以针对每个应用每一路直播流进行实时审核审核内容包括色情、暴恐、时政敏感等。在控制台中趣拍微视频服务实时将鉴黄结果返回用户可以直接查看色情直播和违规界面的截图同时可以对直播流进行控制切断问题直播流。我们提供了短信、邮件和站内信提供功能避免漏洞一个非法视频给平台造成损失。数据统计功能让用户可以把握平台最新的动态信息为进一步采取必要的措施提供可靠的依据。同时为了满足用户定制化需求我们还提供了丰富的接口可以很方便的将鉴黄服务接入到自己的业务系统。 播放器端需要做哪些工作 在播放器端如何做到秒开在直播过程中保证画面和声音清晰度的同时稳定、流程、无卡顿的直播流量这些工作都需要播放器端配合服务端来做优化做到精确调度。 拉流 拉流实际是推流的逆过程。首先通过播放端获取码流标准的拉流格式有RTMP、HLS、FLV等。RTMP是Adobe的专利协议开源软件和开源库都支持的比较好如开源的librtmp库播放端只要支持flashPlayer的就能非常简单的播放RTMP直播直播延迟一般在1–3秒。HLS是苹果提出的基于HTTP的流媒体传输协议HTML5可以直接打开播放通过微信、QQ等软件分享出去用户也可以直接观看直播可以说手机直播appHLS拉流协议是必须支持的缺点是延迟通常大于10秒。FLVHTTP-FLV协议是使用HTTP协议传输流媒体内容的一个协议也不用担心被Adobe的专利绑架直播延迟同样可以做到1–3秒。 趣拍微视频云服务的直播拉流提供了RTMP、HLS、FLV三种格式满足不同业务场景的需求如对即时性要求较高或有互动需求的可以采用RTMP或FLV格式进行直播拉流播放对于有回放或跨平台需求的推荐使用HLS。当然三种协议是可以同时使用的分别用到自己的场景就可以了。 解码和渲染 拉流获取封装的视频数据后必须通过解码器解码、渲染后才能在播放器上播放。它是编码的逆过程是指从音视频的数据中提取原始数据。前面介绍的H.264和H.265编码格式都是有损压缩所以在提取后的原始数据并非原始采样数据存在一定的信息丢失。因此在视频体积最小的情况下通过各种编码参数保留最好的原始画面成为了各视频公司的核心机密。 考虑对高清的支持解码肯定还是要选择硬解码的。前面介绍过IOS系统由于硬件比较单一、比较封闭支持的比较好Android系统由于平台差异非常大编解码要完全兼容各平台还需要很多工作要做。 渲染最大的难点不在与画面绘制而在于画音同步业内大部分直播平台在这块做的都还是不够的。我们在这方面积累了一些经验和大家分享。 手机直播中的交互系统 手机直播中最常见的交互有聊天室弹幕、点赞、打赏和礼物等有些比较有特色的手机直播平台也加入了和主播互动的游戏功能。交互系统涉及消息的实时性和互动性在技术实现上大多是使用IM的功能来实现的对服务器的压力也是比较大。 对于在线人数比较多的房间弹幕消息量是非常大主播与用户其实都看不过来为了缓解服务器压力在产品策略可以做一些必要的优化比如对于发送消息的频率进行限制或对每条消息发送对象的上限进行限制等。 聊天室 手机直播中的弹幕交互功能已经成为直播必不可少的部分是用户和主播互动的主要方式。手机直播中的弹幕实际上就是IM中的聊天室功能。聊天室和群聊功能类似但聊天室的消息是不需要分发给不在线的用户的对于历史消息也不需要查看用户只有进入聊天室后才能查看聊天消息和群成员信息。要面对复杂多变的网络状况还需要根据用户位置就近选择近对应运营商的单线机房接入弹幕消息服务让弹幕更及时。当然可以根据团队情况选择自己搭建还是选择第三方的聊天服务。 趣拍直播SDK提供丰富的聊天室功能和接口以最简单的方式对接自己的聊天系统或第三方的聊天系统。 礼物系统 礼物系统已是绝大多数手机直播平台的标配了它是这些平台主要的收入来源。在手机直播平台上我们常常可以见到土豪秒榜、土豪对刷的情景据报道明星直播一场礼物收入几十万也是常有的事一年千万收入的网红也不少可见国内有礼物消费习惯的土豪还不少。另一方面送礼物的形式增强了用户和主播之间的互动交流也是主播依赖平台的最主要原因。 礼物的收发在技术实现上也是用聊天室接口做的通常采用IM中的自定义消息实现当用户收到或发送礼物时将自定义消息对应的礼物图形渲染出来。另外面对大量用户刷礼物时礼物系统对一致性要求就比较高了所以在实现上存一份数据建多条索引是一种很好的选择也可以降低对事务的依赖。 手机直播的前景 手机直播行业现在如此火热我们认为这个火热会在很长一段时间内持续并且在未来通过和各行业的整合会成为具有无限可能性的行业。所以直播SDK的选择也成为一些企业的转折点就比如趣拍直播SDK吧拥有视频开发行业长达10年的历史和阿里云、支付宝、钉钉、芒果直播有着紧密的合作关于趣拍直播的云服务和技术总是能跑在行业的前面选择趣拍直播SDK是一种信任。 往主要原因包括如下几点 第一手机直播的UGC生产模式比PC端的直播更明显人人都有设备随时随地开播完全顺应了互联网时代的开放性原则全民直播时代将内容生产潜力发挥到最大。如今“网红经济”如此火热更是刺激更多人去创造和传播优质内容。作为网红经济的代表papi酱融资1200万估值2亿广告招标沟通会门票8000元/张单条贴片广告中标价2200万一个个数字都如此刺激大众眼球。手机直播中的网红价值也在被更多创业者重视拥有极大的增涨空间。 第二网络带宽和速度在逐渐提高网络成本在逐渐下降4G乃至今后的5G也会像今天的有线网络那么廉价为手机直播提供一个极佳的发展环境。技术的发展手机可以承载的内容也就越丰富文字、声音、视频、游戏等都会在手机直播中呈现创造更加丰富的用户体验。各行业都可以将直播作为一种工具接入到自己的应用中教育、社交、电商、金融等行业都可以通过手机直播形式开展新业务增强与用户之间的互动提高用户粘性。比如教育领域中的课后辅导完全可以以直播的形式开展业务电商也可借助直播让用户挑选商品促进销售。 第三一个与VR/AR技术相结合的手机直播为整个行业的未来提供了新的发展空间。VR/AR直播能够让用户身临其境带动主播与观众更贴切真实的互动大大提高平台的用户参与度。更加创新的硬件设备与直播的结合如穿戴设备更加丰富的传感器更方便的采集信息也将会大大拓展手机直播未来的应用场景。哪家公司如果在VR/AR和穿戴设备上取得突破性进展势必会在直播行业取得领先地位。 总之手机直播欣欣向荣的发展已是必然趋势尽管国家层级在加强管控、内容创作上还比较单一红海一片搏死拼杀但是它的未来是一个具有无限可能的超级市场这个领域必然将会诞生千亿市值的巨头。 播推流端即主播端主要通过手机摄像头采集视频数据和麦克风采集音频数据经过一系列前处理、编码、封装然后推流到CDN进行分发。 参考知识 http://www.jianshu.com/p/8436c7353296 http://blog.csdn.net/huaxun66/article/details/53427771 http://www.jianshu.com/p/7ebbcc0c5df7 http://www.cnblogs.com/Leo_wl/p/5646916.html 直播的系列教程 http://blog.csdn.net/jwzhangjie/article/details/9947559 从快播到直播 视频直播的应用的场景 即时通讯 视频直播 互动直播 在线教育 网易云通信直播源自网易多年视频技术沉淀基于专业的跨平台视频编解码技术和大规模视频内容分发网络提供稳定流畅、低延时、高并发的实时音视频服务有视频直播需求的用户可调用网易云通信直播提供的API或SDK即可将视频直播无缝对接到自身的业务应用系统。 本服务适用于各类音视频直播场景比如教育行业的在线教育、网络课堂等娱乐行业的美女直播、游戏直播等广电行业的电视直播、赛事直播等另外还适用于企业协作、远程医疗、云监控、庭审直播等其他视频相关行业。 视频和直播的准备 android-java层camera相关视频、AudioRecord音频相关、MediaCodec相关音视频编码 android-native层ch264、h265等编码库的调用各种音频编码库的使用aac、amr、mp3、g711等容器封装技术音视频封装ts、ps等媒体协议hls、rtsp、rtmp等 socket编程android-ndk编译so技术jni技术 难点 大概就这么多如果细说还有许多细节比如音视频同步传输过程中的QOS等等问题 android系统版本太多直接用android 系统接口的话会有很多坑例如mediacodec有的支持编码264有的不支持所以要配合第三方库一起使用如果只是单纯的会java那么android直播这里是玩不转的 直播的完整 SDK选择方案 http://www.cctime.com/html/2016-6-6/1179900.htm 即构科技就在深南大道 : 即构科技的CEO林友尧是原腾讯QQ即通部门总经理 要分开一个一个说。我最熟悉的是花椒(huajiao)他们家 技术牛逼单向直播的功能是自己做的 技术和产品和运营都是行业翘楚没的说的。他们的 互动直播连麦多主播是在2016年的9月左右上线的吧用的是即构科技ZEGO的互动直播方案/SDK。 不是说他们做不出来而是他们不能短时间做出来短时间内需要把主要精力放在主营业务上所以就用了即构科技( http://www.zego.im)的互动直播SDK单向直播部分还是用他们自己的。 作者柴文多 链接https://www.zhihu.com/question/36076688/answer/130681539 来源知乎 著作权归作者所有。商业转载请联系作者获得授权非商业转载请注明出处。 看看一线的直播平台在用哪些第三方公司的直播SDK比如说 花椒和一直播用了即构科技的 。但是我没有看到SDK 不要用网易功能不完全推流有内建参数无法设置高码流和高帧数延迟高 不要用趣拍稳定性差延迟高SDK太大 趣拍直播就很不错SDK很好集成 芒果直播 也在用 不要用 百度 响应慢低画质马赛克高画质延迟高 大牛直播有比较好的文档和技术支持 虎牙直播是YY的自然是用YY的方案了 斗鱼用网宿映客用腾讯云熊猫用网宿和迅雷等 七云牛直播 https://github.com/daniulive/SmarterStreaming 腾讯云 https://www.qcloud.com/document/product/267/4735 主流的视频和音频的解码 vitamio美拍 ffmpeg主流 ijkplayer斗鱼网易音乐     哔哩哔哩的ijkplayer了。 vlcYY webRTC  网页端的 1.vitamio这个是功能很强大,但是企业收费版的,个人用户可以玩玩.美拍,结果对于非个人移动应用均需购买Vitamio使用授权 流媒体支持 Vitamio 支持各种常见的流媒体协议可以点播或者直播音频和视频例如如下常见协议均能无缝支持 Vitamio使用了 FFmpeg 做为媒体解析器和最主要的解码器同时开发了针对不同移动平台的硬解码方案能够完美支持 H.264/AVC、H.263、MPEG4 等常见的视频编码覆盖上百种多媒体格式。 MMS RTSP (RTP, SDP), RTMP HTTP progressive streaming HLS - HTTP live streaming (M3U8) Vitamio   新浪微博安卓客户端搜狐视频安卓客户端风行网安卓客户端歌华有线熊猫影音91网龙视讯中国央视法国航空悬浮浏览器等等 2).ffmpeg是一个非常强大的音视频编解码开源库,目前市场上流行的播放器,大部分都是基于此开发的,包括暴风,腾讯,等等以及上面提到的vitamio,vlc,ijkplayer 关于ffmpeg源码分析,有兴趣的请看雷霄骅(leixiaohua1020)的专栏 发现网易云音乐,斗鱼用的ijkplayer, 3).ijkplayer 是一个基于FFmpeg的轻量级 Android / iOS 视频播放器。FFmpeg的是全球领先的多媒体框架能够解码编码 转码复用解复用流过滤器和播放大部分的视频格式 4. vlc 支持android开发 ,ijkplayer也支持. 通过反编译网易云音乐,以及YY等音视频app. YY用的VLC. VLC Media Player (VideoLAN)  为 Windows、Linux、OS X 、Android、iOS、Windows Phone  等平台提供一个视频播放器、解码器。它可以播放来自网络、摄像头、磁盘、光驱的文件支持包括MPEG 1/2/4, H264, VC-1, DivX, WMV, Vorbis, AC3, AAC等格式的解码。 4).    目前WebRtc只适合小范围8人以内音视频会议不适合做直播 可以用WebRTC来做视频直播吗        接下来介绍下 ffmpeg vlc ijkplayer以及选择方案 1.1基本概念 视频是什么 静止的画面叫图像picture。连续的图像变化每秒超过 24帧frame画面以上时根椐视觉暂留原理 人眼无法辨别每付单独的静态画面看上去是平滑连续的视觉效果。这样的连续画面叫视频。 当连续图像变化每秒低于24帧画面时人眼有不连续的感觉叫动画cartoon 流媒体 所谓流媒体是指采用 流式传输 的方式在Internet播放的媒体格式。 流媒体又叫流式媒体它是指商家用一个 视频 传送服务器把节目当成数据包发出传送到网络上。 用户通过解压设备对这些数据进行解压后节目就会像发送前那样显示出来。 http://baike.baidu.com/link?url4Ql7QicMGPpMMOHvIs_J7_GN85aIdA2axgnjLvTTfSLdMezUz-IwjoAh2m-zbZiPL1aUEbEhqTssIzaN4_XrxGMH1SOHdxopA6fraK8RcXom3NyY-YwhIm5gXrQH7-U4 码流 码流Data Rate是指视频文件在单位时间内使用的数据流量也叫码率 是视频编码中画面质量控制中最重要的部分。同样分辨率下视频文件的码流越大压缩比就越小画面质量就越好。 一般我们用的单位是kbps即千位每秒。 帧率 帧/秒frames per second的缩写也称为帧速率测量用于保存、显示动态视频的信息数量。每一帧都是静止的图象快速连续地显示帧便形成了运动的假象。 每秒钟帧数 fps 愈多所显示的动作就会愈流畅可理解为1秒钟时间里刷新的图片的帧数也可以理解为图形处理器每秒钟能够刷新几次也就是指每秒钟能够播放或者录制多少格画面。 1.2 多媒体的格式分类 封装格式(专业上讲叫容器,通俗的叫文件格式),视频编解码,音频编解码 ####1.1常见的封装格式 * MPEG : 编码采用的容器具有流的特性。里面又分为 PSTS 等PS 主要用于 DVD 存储TS 主要用于 HDTV. * MP 3 :大名鼎鼎的 MP3已经成为网络音频的主流格式能在 128kbps 的码率接近 CD 音质 * MP4(Mp4) : 编码采用的容器基于 QuickTime MOV 开发具有许多先进特性;实际上是对Apple公司开发的MOV格式(也称Quicktime格式)的一种改进. * MKV: 它能把 Windows Media VideoRealVideoMPEG-4 等视频音频融为一个文件而且支持多音轨支持章节字幕等;开源的容器格式 * 3GP : 3GPP视频采用的格式 主要用于流媒体传送;3GP其实是MP4格式的一种简化版本,是手机视频格式的绝对主流. * MOV : QuickTime 的容器恐怕也是现今最强大的容器甚至支持虚拟现实技术Java等它的变种 MP4,3GP都没有这么厉害;广泛应用于Mac OS操作系统在Windows操作系统上也可兼容但是远比不上AVI格式流行 * AVI : 最常见的音频视频容器,音频视频交错Audio Video Interleaved允许视频和音频交错在一起同步播放. * WAV : 一种音频容器大家常说的 WAV 就是没有压缩的 PCM 编码其实 WAV 里面还可以包括 MP3 等其他 ACM 压缩编码 等等 http://baike.baidu.com/link?urlkR6hmAlRdnZgjwMpmZ2x1p1pXGX1QvmV-ZjaAlOyjYG42LmvabtaiMlStuReHZp0RgdPV3s_RSvVMOYhqVtQCeAK-XIyu-y8sypwVR03zDs6n1LaV8u8Hzi8HvtQ4as2xolijPfVkzItjsB0ZWiMtq 1.3 流媒体协议(RTP RTCP RTSP RTMP HLS) 参考地址 http://www.zhixing123.cn/computer/55326.html RTP :(Real-time Transport Protocol)是用于Internet上针对多媒体数据流的一种传输层协议.RTP协议和RTP控制协议RTCP一起使用而且它是建立在UDP协议上的 RTCP:Real-time Transport Control Protocol或RTP Control Protocol或简写RTCP实时传输控制协议,是实时传输协议RTP的一个姐妹协议 RTP协议和RTP控制协议RTCP一起使用而且它是建立在UDP协议上的 RTSP:Real Time Streaming Protocol是用来控制声音或影像的多媒体串流协议,RTSP提供了一个可扩展框架使实时数据如音频与视频的受控、点播成为可能。 数据源包括现场数据与存储在剪辑中的数据。该协议目的在于控制多个数据发送连接为选择发送通道如UDP、多播UDP与TCP提供途径并为选择基于RTP上发送机制提供方法 传输时所用的网络通讯协定并不在其定义的范围内服务器端可以自行选择使用TCP或UDP来传送串流内容比较能容忍网络延迟 RTP不像http和ftp可完整的下载整个影视文件它是以固定的数据率在网络上发送数据客户端也是按照这种速度观看影视文件当影视画面播放过后就不可以再重复播放除非重新向服务器端要求数据。 RTSP与RTP最大的区别在于RTSP是一种双向实时数据传输协议它允许客户端向服务器端发送请求 如回放、快进、倒退等操作。当然RTSP可基于RTP来传送数据还可以选择TCP、UDP、组播UDP等通道来发送数据具有很好的扩展性。它时一种类似与http协议的网络应用层协议 RTSP协议族的优势在于可以控制到视频帧因此可以承载实时性很高的应用。这个优点是相对于HTTP方式的最大优点。倍速播放功能是RTSP协议独有的其他视频协议都无法支持。 缺点 就是服务器端的复杂度也比较高实现起来也比较复杂。Ios端不支持该协议。 在国内视频网站多采用HTTPMP4或者HTTPFLV协议传输视频而国外使用RTMPRTSP等专门的流媒体格式。 质就是下载视频文件而利用视频文件本身的特点就是存在头部信息和部分视频帧数据就完全可以解码播放了。 显然这种方式需要将视频文件的头部信息放在文件的前面 RTMP协议     RTMP是Real Time Messaging Protocol实时消息传输协议的首字母缩写。 RTMP(Real Time Messaging Protocol)实时消息传送协议是 Adobe  Systems公司为Flash播放器和服务器之间音频、视频和数据传输 开发的开放协议。 该协议基于TCP是一个协议族包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。RTMP是一种设计用来进行实时数据通信的网络协议 主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。支持该协议的软件包括Adobe Media Server/Ultrant Media Server/red5等。 HLS协议 HTTP Live Streaming缩写是HLS是一个由苹果公司提出的基于HTTP的流媒体网络传输协议。是苹果公司QuickTime X和iPhone软件系统的一部分。它的工作原理是把整个流分成一个个小的基于HTTP的文件来下载每次只下载一些。当媒体流正在播放时客户端可以选择从许多不同的备用源中以不同的速率下载同样的资源允许流媒体会话适应不同的数据速率。 HTTP Live Streaming 还有一个巨大优势自适应码率流播adaptive streaming。效果就是客户端会根据网络状况自动选择不同码率的视频流条件允许的情况下使用高码率网络繁忙的时候使用低码率并且自动在二者间随意切换。这对移动设备网络状况不稳定的情况下保障流畅播放非常有帮助。实现方法是服务器端提供多码率视频流并且在列表文件中注明播放器根据播放进度和下载速度自动调整。使用起来也非常简单。 为什么苹果要提出HLS这个协议其实他的主要是为了解决RTMP协议存在的一些问题。比如RTMP协议不使用标准的HTTP接口传输数据所以在一些特殊的网络环境下可能被防火墙屏蔽掉。 缺点HLS 直播延时 HLS支持的视频编码格式H264,支持的音频编码为Acc 二. android音视频的开发 播放流程: 获取流--解码--播放 录制播放路程: 录制音频视频--剪辑--编码--上传服务器 别人播放. 直播过程 : 录制音视频--编码--流媒体传输--服务器---流媒体传输到其他app--解码--播放 几个重要的环节 录制音视频 AudioRecord/MediaRecord视频剪辑 mp4parser 或ffmpeg音视频编码 aach264    视频的编码格式为H264,上传大文件 网络框架,进度监听,断点续传流媒体传输 流媒体传输协议rtmp rtsp hls音视频解码 aach264渲染播放 MediaPlayer 网易的直播架构 直播有2种一种是直播还有一种是互动直播。 推流端和拉流端 主要的协议HttpRTMP,HLS 其中上行RTMP推流很普遍了很多游戏直播都使用obs推RTMP流。   在整个过程中涉及很多流媒体的基本概念先说说GOP。   GOP即Group of picture(图像组)指两个I帧之间的距离。即几秒有一个关键帧。分析线上主流的移动直播APP大都在2、3秒之间。   一般的云服务公司都会提供多种协议的拉流方式优缺点如下   l HLS协议移动h5浏览器支持较好但是延迟较大。移动端播放前需要产生三个分片每个分片至少得是一个GOP。一个GOP即使是2秒也意味着这个环节耗费了6秒的延时。   l RTMP协议需要访问1935端口支持双向互动实时性很好PC flash原生支持。   l HTTP-FLV不支持双向互动实时性和RTMP协议一致。   基于以下几点理由小弟准备采用HTTP-FLV作为拉流协议   1. 国内网络情况的恶劣程度并不是每个网络防火墙都允许1935包通过。   2. RTMP协议和HTTP-FLV实际传输的内容都是相同的FLV实时性也一样。   3. RTMP协议握手方式比HTTP复杂。   确定好了拉流协议再看看推流侧依赖的参数。   l FPS每秒编码传输的视频帧数;   l 码率每秒编码传输的音视频比特数;   l GOP关键帧间隔; 1) 能完全运行起来的是金山云、百度云提供的SDK。 我们先看下搭建一个完整的手机直播都包含哪些必须的环节 推流端采集、前处理、编码、推流 服务端处理转码、录制、截图、鉴黄 播放器拉流、解码、渲染、 互动系统聊天室、礼物系统、赞 手机直播推流端需要做哪些工作 直播推流端即主播端主要通过手机摄像头采集视频数据和麦克风采集音频数据经过一系列前处理、编码、封装然后推流到CDN进行分发。CDN的全称是Content Delivery Network 采集 手机直播SDK通过手机摄像头和麦克风直接采集视频数据和音频数据。其中,视频采样数据一般采用RGB或YUV格式、音频采样数据一般采用PCM格式。对于采集到的原始音视频的体积是非常大的因此需要经过压缩技术来处理降低视频的大小来提示传输效率。 在手机视频采集方面iOS系统在硬件的兼容性方面做得比较好系统本身提供了比较完整的视频采集的接口使用起来也比较简单。但是Android系统就比较麻烦了千奇百怪的机型都有适配起来非常难。我们在初期做了一项调研发现Android的适配率还不到50%。 前处理 在这个环节主要处理美颜、水印、模糊等效果。特别是美颜功能几乎是直播的标配功能没有美颜的直播主播们根本提不起兴趣。我们见过太多case是因为没有美颜功能被抛弃使用的。另外国家明确提出了所有直播都必须打有水印并回放留存15天以上。所以在选择直播SDK时没有美颜和水印功能基本就可以选择放弃了。 美颜实际上是通过算法去识别图像中的皮肤部分再对皮肤区域进行色值调整。通常情况下人的肤色与周边环境色调存在较大差异通过颜色对比找到皮肤的基本轮廓进一步进行肤色检查还可以确定人脸范围。找到了皮肤的区域可以进行色值调整、添加白色图层或调整透明度等来等来达到美白效果。美颜除了美白效果还需要磨皮功能磨皮实际上就是用模糊滤镜实现的。滤镜有很多种如高斯滤波双边滤波导向滤波到底选择什么样的模糊滤镜各家也有自己的喜好。 在美颜处理方面最著名的GPUImage提供了丰富的效果同时可以支持IOS和Android还支持自己写算法实现自己最理性的效果。GPUImage本事内置了120多种常见滤镜效果添加滤镜只需要简单调用几行代码就可以了比如大家可以试试使用GPUImageBilateralFiter的双边滤波滤镜来处理基本的磨皮效果想要实现更理想的效果还是要通过自定义算法去实现的各家也都有自己一套算法。 编码 为了便于手机视频的推流、拉流以及存储通常采用视频编码压缩技术来减少视频的体积。现在比较常用的视频编码是H.264但具有更高性能的H.265编码技术正在飞速发展并可能很快成为主流在音频方面通比较常用的是用AAC编码格式进行压缩其它如MP3、WMA也是可选方案。视频经过编码压缩大大提高了视频的存储和传输效率当然经过压缩后的视频在播放时必须进行解码。通俗点讲就是编码器将多张图像进行编码后产生一段段GOPGroup of Pictures播放时解码器读取一段段GOP进行解码后读取图像并进行渲染显示。 在编码方面的核心是在分辨率、码率、帧率等参数中找到最佳平衡点达到体积最小画面最优的效果这些参数各家也都有自己的一套核心参数。 2012年8月爱立信公司推出了首款H.265编解码器六个月后国际电联(ITU)就正式批准通过了HEVC/H.265标准称之为高效视频编码(High Efficiency Video Coding)相较于之前的H.264标准有了相当大的改善做到了仅需要原来一半带宽即可播放相同质量的视频低于1.5Mbps的网络也能传输1080p的高清视频。国内如阿里云、金山云都在推自己的H.265编解码技术随着直播的快速发展和对带宽的依赖H.265编解码技术已有全面取代H.264的趋势。当然全面推开应用还需要些时间。 另外硬件编码已经成为手机直播的首选方案软编码处理在720p以上的视频颓势非常明显。在IOS平台上硬件编码的兼容性比较好可以直接采用但在 Android 平台上Android的MediaCodec 编码器针对不同的芯片平台表现差异还是非常大的要完全实现全平台兼容的成本还是非常高的。 推流 要想用于推流还必须把音视频数据使用传输协议进行封装变成流数据。常用的流传输协议有RTSP、RTMP、HLS等使用RTMP传输的延时通常在1–3秒对于手机直播这种实时性要求非常高的场景RTMP也成为手机直播中最常用的流传输协议。最后通过一定的Qos算法将音视频流数据推送到网络断通过CDN进行分发。 在直播场景中网络不稳定是非常常见的这时就需要Qos来保证网络不稳情况下的用户观看直播的体验通常是通过主播端和播放端设置缓存让码率均匀。另外针对实时变化的网络状况动态码率和帧率也是最常用的策略。 当然在网络传输方面全部自己来做基本不现实找提供推流服务的CDN服务商提供解决方案是最好的选择可参考文章开头介绍的云视频服务商。据了解阿里云是国内唯一能自研CDN缓存服务器的厂商性能还是非常有保障的。通常大多数直播平台都会同时接入多个视频云服务提供商这样可以做拉流线路互备对推流后视频集群再进行优化也可提高直播的流畅性和稳定性。 服务端处理需要做哪些工作 要想适配各终端和平台服务端还需要对流进行转码如支持RTMP、HLS、FLV等格式拉流支持一路转多路适配不同网络和分辨率的终端设备。另外像现在必备的鉴黄功能也需要服务端完成。 截图、录制、水印 像阿里云、金山云、UCloud等云服务商都提供了实时转码技术将用户推流码率较高比如720P实时转化成较低清晰度比如360P的流以适应播放端的需求。如果要自己搭建实时转码系统这个成本是极高的。一台8核设备只能实时转10 路流如果一个正常的直播平台有1000路流那至少就需要100台设备加上后期的运维成本一般公司就吃不消了。实时截图功能和实时转码类似只是一般单机可以处理100路流。市面上云服务提供商基本上都提供了服务端转码、截图、录制功能建议选择好的云服务提供商即可可以节约大量成本。 鉴黄 2016年4月14日上午10时文化部公布了一则消息斗鱼、虎牙、YY、熊猫TV、战旗TV、龙珠直播、六间房、9158等网络直播平台因涉嫌提供含宣扬淫秽、暴力、教唆犯罪等内容的互联网文化产品被列入查处名单。文化部已部署相关执法机构查处涉案企业将及时公布处罚结果。在前期的野蛮生长后国家介入管制一定程度上遏制了直播的发展速度但更有利于直播行业打造健康的生态进入良性发展。这也意味着直播行业鉴黄成了必须环节使用技术手段去鉴黄是手机直播平台必然采用的方案。 市面上提供鉴黄服务的方案主要有两种第一种是对视频进行截图然后对图片进行鉴黄返回鉴黄结果和分值。典型的企业有阿里绿网、图谱科技他们目前都支持直接传入视频经过服务端分析返回结果鉴黄的结果分为色情、疑似色情、正常或性感并对每种结果进行打分。通常由业务系统接入鉴黄服务根据鉴黄结果对直播流进行控制如切断直播流、禁用用户的账号等。第二种是和CDN结合直接对直播流进行分析识别结果也分为色情、疑似色情、性感和正常业务系统根据识别结果直接控制直播流。典型的企业是Viscovery这套方案的优点是实时性保证比较好缺点是必须部署到CDN或自己的机房使用成本相对高一些。 趣拍微视频云服务作为一站式直播解决方案提供商我们的主旨是让用户以最短时间、最小成本接入直播服务。因此用户只需在控制台对鉴黄服务进行配置就可以针对每个应用每一路直播流进行实时审核审核内容包括色情、暴恐、时政敏感等。在控制台中趣拍微视频服务实时将鉴黄结果返回用户可以直接查看色情直播和违规界面的截图同时可以对直播流进行控制切断问题直播流。我们提供了短信、邮件和站内信提供功能避免漏洞一个非法视频给平台造成损失。数据统计功能让用户可以把握平台最新的动态信息为进一步采取必要的措施提供可靠的依据。同时为了满足用户定制化需求我们还提供了丰富的接口可以很方便的将鉴黄服务接入到自己的业务系统。 播放器端需要做哪些工作 在播放器端如何做到秒开在直播过程中保证画面和声音清晰度的同时稳定、流程、无卡顿的直播流量这些工作都需要播放器端配合服务端来做优化做到精确调度。 拉流 拉流实际是推流的逆过程。首先通过播放端获取码流标准的拉流格式有RTMP、HLS、FLV等。RTMP是Adobe的专利协议开源软件和开源库都支持的比较好如开源的librtmp库播放端只要支持flashPlayer的就能非常简单的播放RTMP直播直播延迟一般在1–3秒。HLS是苹果提出的基于HTTP的流媒体传输协议HTML5可以直接打开播放通过微信、QQ等软件分享出去用户也可以直接观看直播可以说手机直播appHLS拉流协议是必须支持的缺点是延迟通常大于10秒。FLVHTTP-FLV协议是使用HTTP协议传输流媒体内容的一个协议也不用担心被Adobe的专利绑架直播延迟同样可以做到1–3秒。 趣拍微视频云服务的直播拉流提供了RTMP、HLS、FLV三种格式满足不同业务场景的需求如对即时性要求较高或有互动需求的可以采用RTMP或FLV格式进行直播拉流播放对于有回放或跨平台需求的推荐使用HLS。当然三种协议是可以同时使用的分别用到自己的场景就可以了。 解码和渲染 拉流获取封装的视频数据后必须通过解码器解码、渲染后才能在播放器上播放。它是编码的逆过程是指从音视频的数据中提取原始数据。前面介绍的H.264和H.265编码格式都是有损压缩所以在提取后的原始数据并非原始采样数据存在一定的信息丢失。因此在视频体积最小的情况下通过各种编码参数保留最好的原始画面成为了各视频公司的核心机密。 考虑对高清的支持解码肯定还是要选择硬解码的。前面介绍过IOS系统由于硬件比较单一、比较封闭支持的比较好Android系统由于平台差异非常大编解码要完全兼容各平台还需要很多工作要做。 渲染最大的难点不在与画面绘制而在于画音同步业内大部分直播平台在这块做的都还是不够的。我们在这方面积累了一些经验和大家分享。 手机直播中的交互系统 手机直播中最常见的交互有聊天室弹幕、点赞、打赏和礼物等有些比较有特色的手机直播平台也加入了和主播互动的游戏功能。交互系统涉及消息的实时性和互动性在技术实现上大多是使用IM的功能来实现的对服务器的压力也是比较大。 对于在线人数比较多的房间弹幕消息量是非常大主播与用户其实都看不过来为了缓解服务器压力在产品策略可以做一些必要的优化比如对于发送消息的频率进行限制或对每条消息发送对象的上限进行限制等。 聊天室 手机直播中的弹幕交互功能已经成为直播必不可少的部分是用户和主播互动的主要方式。手机直播中的弹幕实际上就是IM中的聊天室功能。聊天室和群聊功能类似但聊天室的消息是不需要分发给不在线的用户的对于历史消息也不需要查看用户只有进入聊天室后才能查看聊天消息和群成员信息。要面对复杂多变的网络状况还需要根据用户位置就近选择近对应运营商的单线机房接入弹幕消息服务让弹幕更及时。当然可以根据团队情况选择自己搭建还是选择第三方的聊天服务。 趣拍直播SDK提供丰富的聊天室功能和接口以最简单的方式对接自己的聊天系统或第三方的聊天系统。 礼物系统 礼物系统已是绝大多数手机直播平台的标配了它是这些平台主要的收入来源。在手机直播平台上我们常常可以见到土豪秒榜、土豪对刷的情景据报道明星直播一场礼物收入几十万也是常有的事一年千万收入的网红也不少可见国内有礼物消费习惯的土豪还不少。另一方面送礼物的形式增强了用户和主播之间的互动交流也是主播依赖平台的最主要原因。 礼物的收发在技术实现上也是用聊天室接口做的通常采用IM中的自定义消息实现当用户收到或发送礼物时将自定义消息对应的礼物图形渲染出来。另外面对大量用户刷礼物时礼物系统对一致性要求就比较高了所以在实现上存一份数据建多条索引是一种很好的选择也可以降低对事务的依赖。 手机直播的前景 手机直播行业现在如此火热我们认为这个火热会在很长一段时间内持续并且在未来通过和各行业的整合会成为具有无限可能性的行业。所以直播SDK的选择也成为一些企业的转折点就比如趣拍直播SDK吧拥有视频开发行业长达10年的历史和阿里云、支付宝、钉钉、芒果直播有着紧密的合作关于趣拍直播的云服务和技术总是能跑在行业的前面选择趣拍直播SDK是一种信任。 往主要原因包括如下几点 第一手机直播的UGC生产模式比PC端的直播更明显人人都有设备随时随地开播完全顺应了互联网时代的开放性原则全民直播时代将内容生产潜力发挥到最大。如今“网红经济”如此火热更是刺激更多人去创造和传播优质内容。作为网红经济的代表papi酱融资1200万估值2亿广告招标沟通会门票8000元/张单条贴片广告中标价2200万一个个数字都如此刺激大众眼球。手机直播中的网红价值也在被更多创业者重视拥有极大的增涨空间。 第二网络带宽和速度在逐渐提高网络成本在逐渐下降4G乃至今后的5G也会像今天的有线网络那么廉价为手机直播提供一个极佳的发展环境。技术的发展手机可以承载的内容也就越丰富文字、声音、视频、游戏等都会在手机直播中呈现创造更加丰富的用户体验。各行业都可以将直播作为一种工具接入到自己的应用中教育、社交、电商、金融等行业都可以通过手机直播形式开展新业务增强与用户之间的互动提高用户粘性。比如教育领域中的课后辅导完全可以以直播的形式开展业务电商也可借助直播让用户挑选商品促进销售。 第三一个与VR/AR技术相结合的手机直播为整个行业的未来提供了新的发展空间。VR/AR直播能够让用户身临其境带动主播与观众更贴切真实的互动大大提高平台的用户参与度。更加创新的硬件设备与直播的结合如穿戴设备更加丰富的传感器更方便的采集信息也将会大大拓展手机直播未来的应用场景。哪家公司如果在VR/AR和穿戴设备上取得突破性进展势必会在直播行业取得领先地位。 总之手机直播欣欣向荣的发展已是必然趋势尽管国家层级在加强管控、内容创作上还比较单一红海一片搏死拼杀但是它的未来是一个具有无限可能的超级市场这个领域必然将会诞生千亿市值的巨头。 播推流端即主播端主要通过手机摄像头采集视频数据和麦克风采集音频数据经过一系列前处理、编码、封装然后推流到CDN进行分发。 参考知识 http://www.jianshu.com/p/8436c7353296 http://blog.csdn.net/huaxun66/article/details/53427771 http://www.jianshu.com/p/7ebbcc0c5df7 http://www.cnblogs.com/Leo_wl/p/5646916.html 直播的系列教程 http://blog.csdn.net/jwzhangjie/article/details/9947559
http://www.sczhlp.com/news/178743/

相关文章:

  • 宝塔软件怎么做网站用ps设计网页页面步骤
  • 网站统计关键词浙江城乡建设部网站首页
  • 长沙自适应网站制作做网站前台后台是怎么连接的
  • 廉江网站建设wordpress所有文章404
  • nas可以做网站服务器自动外链网址
  • 湛江网站设计软件建设英文网站的公司
  • 长沙做网站公司在电脑上怎么建设网站
  • 如何做网站推广 求指点wordpress插件升级
  • 无形资产 网站开发网页制作入门基础教程
  • 怎么制做网站淮南市招标投标信息网
  • 盐城市建设局网站设计备案资料网站建设 电脑 手机
  • 台州企业网站seo免费做 爱视频网站
  • 正规建网站企业建设网站企业网银登录
  • 东莞家用台灯东莞网站建设高级网页设计师培训班
  • 网站免费模版代码建设工程信息网为官方网站
  • 做旅游地产的网站和公司杭州外贸网站建设公司价格
  • 鹤壁建设网站推广渠道家居网站建设公司
  • 怎么学习制作网站轻松筹网站可以做吗
  • 大学网站建设工作总结售后服务网点建设是指网站
  • PWN手的成长之路-13-jarvisoj_level0
  • 计算机毕设 java 基于 Java 的题库管理强大的系统 基于 SSM+JavaWeb 的题库全流程管理平台 Java+MySQL 的题库服务一体化系统
  • 微信最新协议API上线!个人号快速接入
  • 网站整站百度推广建设网站是不是合发
  • 网站源码使用方法家具设计软件
  • 阿里云网站服务器企业网站开发计划
  • 网站开发设计的论文php购物网站开发设计与实现
  • 免费单页网站建设王也踏青图是哪一集
  • 建设网站的意义知乎图片在线生成器
  • 长沙app开发费用长沙seo关键词排名优化
  • 自己建设购物网站电脑优化大师