美文网首页
七牛云2

七牛云2

作者: winnisz | 来源:发表于2017-03-14 17:51 被阅读0次

RTMP,Real Time Messaging Protocol(实时消息传输协议)

主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信

HLS,HTTP Live Streaming(缩写是 HLS)

是一个由苹果公司提出的基于 HTTP 的流媒体网络传输协议。主要用于PC和Apple终端的音视频服务

源站

该配置项为可访问的网络地址,可以直接填 IP 地址也可以填写域名地址,现不支持多IP 。如果是域名地址,那么 CDN 在回源时会对该域名地址进行 DNS 解析,然后通过解析出来的 IP 地址再进行访问,因此若解析失败也会导致无法正常回源。

输出协议

直播播放地址

RTMP 格式:rtmp://push.domain.com/接入点/流名

FLV 格式:rtmp://push.domain.com/接入点/流名.flv

M3U8 格式:rtmp://push.domain.com/接入点/流名.m3u8

------------------------------------------

首先得采集,然后转码,然后再推流到服务器

熟悉sdk接口调用,细心看说明

采集的就是用的系统的相机,AVCaptureSession 采集

采集的数据回调:

- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection

CMSampleBufferRef里面是数据

/// @abstract 获取到摄像头原数据时的回调, 便于开发者做滤镜等处理

- (CVPixelBufferRef)cameraStreamingSession:(PLCameraStreamingSession *)session cameraSourceDidGetPixelBuffer:(CVPixelBufferRef)pixelBuffer;

------------------------------------------

1. 推流域名:用于推送直播流的域名,长度小于 60 个字符,支持泛域名绑定,比如:*.yourdomain.com

2. 播放域名:用于播放直播流的域名,默认支持 RTMP,HLS 和 HTTP-FLV;推流域名、播放域名共计最多可绑定个域名,支持泛域名,所绑定的域名需要备案;

3. 接入点:支持1-60位英文字符和数字,如:rtmp://push.example.com/{接入点}/{流名},该项可不填,为空时表示,可以使用任意的接入点。

接入点:live

推流域名:push.example.com

播放域名:pull.example.com

则推流地址:rtmp:// push.example.com /live/streamid

则 rtmp 播放地址:rtmp://pull.example.com/live/ streamid

hls 播放地址:http:// pull.example.com/live/ streamid.m3u8

flv 播放地址:http:// pull.example.com/live/ streamid.flv

直播播放地址

RTMP 格式:rtmp://push.domain.com/接入点/流名

FLV 格式:rtmp://push.domain.com/接入点/流名.flv

M3U8 格式:rtmp://push.domain.com/接入点/流名.m3u8

RTMP,HTTP-FLV 和 HLS 协议的流转码支持 12 种转码模板和客户自定义转码配置

rtmp://fengniushow.com/zhibo/流名

rtmp://fengniushow.cn/live/      播放

push.fengniushow.com

rtmp://pull.fengniushow.com/zhibo    play

rtmp://push.fengniushow.com/zhibo    record

------------------------------------------

测试效果:延时3秒,推流视频关键帧间隔30较为不卡顿

采集配置:videoFrameRate  30    视频数据的帧率

sessionPreset      AVCaptureSessionPresetiFrame960x540

previewMirrorFrontFacing    yes  前置预览是否开启镜像

previewMirrorRearFacing      no    后置预览是否开启镜像

streamMirrorFrontFacing      yes    推的流是否开启镜像

streamMirrorRearFacing      no    推的流是否开启镜像

cameraPosition                      AVCaptureDevicePositionFront

videoOrientation       AVCaptureVideoOrientationPortrait

推流配置: videoSize 编码分辨率  CGSizeMake(480 , 640)

expectedSourceVideoFrameRate 预期采集源视频码率  30

videoMaxKeyframeInterval 视频最大关键帧间隔  90

averageVideoBitRate 平均视频码率  800 * 1000

videoProfileLevel H.264 编码时的 profile level      AVVideoProfileLevelH264Baseline31

videoSize,这个参数影响的是视频编码时的分辨率,而非摄像头采集到数据的预览大小,传递给编码器的图像尺寸与此尺寸不同时,会按照 AVVideoScalingModeResizeAspectFill对图像做剪切,从而确保图像不会出现压缩的现象

H.264 编码时使用的 Profile Level,即videoProfileLevel

视频的帧率,视频的编码帧率,fps,每秒传输帧数(Frames Per Second)

视频编码关键帧最大间隔(GOP)

视频编码码率,bps(Bits per Second)

当你不明白每个具体参数是什么含义前,你可以使用 defaultConfiguration 或者通过指定分辨率和推流质量生成一个 config.

rtmp://pili-live-rtmp.fengniushow.com/livelivelive/57beb3b5b1d1ff8fed001525

相关文章

网友评论

      本文标题:七牛云2

      本文链接:https://www.haomeiwen.com/subject/wnwhnttx.html