RTMP推流和拉流问题解答

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

RTMP推流和拉流问题解答
一、名词解释:
RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。

该协议基于TCP,是一个协议族,包括RTMP基本协议与RTMPT/RTMPS/RTMPE等多种变种。

RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。

推流:为将直播内容推送至服务器的过程;
拉流:为服务器已有直播内容,用指定地址进行拉取的过程。

RTMP地址规则:
第一种(比较常见):
rtmp://域名或ip:端口(如没有,则默认是1935)/应用名/串流名称
第二种(比较少见):
rtmp://域名或ip:端口(如没有,则默认是1935)/串流名称
推流示例地址:
等同于:rtmp://push.test :1935/appname/streamname
拉流示例地址:
等同于:rtmp://pull.test :1935/appname/streamname
常见的rtmp地址填写有两种方式:
比如拿Mshow的一个推流地址来当示例:
第一种:一行填写完,比如Mshow:
第二种:分成两行填写,比如OBS、Mshow:
注:分成两行填写是以最右边的斜杠为分隔符来分割为两行的。

二、RTMP推流失败原因与解决方法:
1、地址填写错误
A、一般常见的错误是填写两行时,分割错误或直接填写成一行;
解决方法:参照上面正确的填写方式。

B、推流地址填写成拉流地址,目前大部分直播平台的推流地址和拉流地址都是不一样的,极个别是一样的;
解决方法:填写前跟RTMP地址提供商沟通清楚需要填写的是推流地址,而不是拉流地址;
C、填写非rtmp的流地址;
解决方法:参照上面正确RTMP地址的填写方式进行填写。

D、地址长度被限制,填写内容被截断;
解决方法:检查填写的地址长度是否和原来地址一摸一样,部分推流app或者软件会提示能填写多长的RTMP地址。

目前Mshow的RTMP推流地址已经进行了优化,长度一般在126左右,满足常见软件RTMP地址长度的要求。

2、网络问题
A、推到服务器的媒体流码率超过当前推流所在环境的网络上传带宽;
解决方法:开播前用:// /或:// 测试下当前的网络带宽,然后再根据情况升级带宽或降低推流码率;
B、电脑使用的DNS服务器解析不了推流地址里的域名(编码器推流也类似);
解决方法:使用ping mcs.rtmp.yy 命令,如无法ping通,说明DNS服务器无法解析,可网络搜索电脑所在地区的DNS服务器ip,然后填写到电脑中;还可以试试谷歌公开的DNS 服务器ip:8.8.8.8,或国内公开的DNS服务器ip:
南京信风:114.114.114.114和114.114.115.115(公共版),114.114.114.119和
114.114.115.119(反木马版),114.114.114.110和114.114.115.110(校园版或绿色版)
DNS派:101.226.4.6和218.30.118.6(电信),123.125.81.6和140.207.198.6(联通)
C、网络运营商限制或路由器限制了某些端口,导致推流失败;
解决方法:win7以上系统需要在【控制面板->程序和功能->打开或关闭windows功能】里打开telnet客户端:
然后在命令行输入:telnet mcs.rtmp.yy 1935,如果有提示错误,说明端口被禁用,请联系网络运营商或设置路由器开放RTMP默认端口1935,或更换无此限制的网络;
3、推流限制
A、流媒体服务器限制指定ip才可以推流,需要添加推流ip白才可以推流(比较少见,一般是在RTMP地址里附带权限验证是否可推流);
解决方法:Mshow内置推流地址已经附带权限验证,无ip限制;
B、推到服务器的音视频编码格式不被支持,导致服务器拒绝接收;
解决方法:Mshow支持的RTMP流里带的视频编码为H.264,音频编码为AAC-LC、AAC-HE v2(EAAC+)、MP3共3种,音频采样率要求为44100,不支持48000,需要设置源编码器的音频采样率为44100;不支持其他音视频编码格式;
三、RTMP拉流失败原因与解决方法:
可使用常见支持播放RTMP流的播放器进行播放(比如VLC、PotPlayer等),如提示无法播放,要么服务器没有推流,要么网络有问题,可按照下面各种解决方法进行排查:
1、地址填写错误
A、拉流地址为错误地址,不能被正确解析;
解决办法:参加上面正确地址填写格式填写;
B、填写非rtmp的流地址;
解决方法:参照上面正确RTMP地址的填写方式进行填写。

C、拉流地址填写成推流地址,目前大部分直播平台的推流地址和拉流地址都是不一样的,极个别是一样的;
解决方法:填写前跟RTMP地址提供商沟通清楚需要填写的是拉流地址,而不是推流地址;
D、拉流地址为内网地址,不能被互联网上拉流服务器识别;
解决方法:Mshow3.0与以上的新版本已经支持拉内网RTMP、RTSP流,旧版本不支持内网拉流,请确认你使用的Mshow版本,如想用此功能,请升级到新版本。

2、网络问题
A、网络运营商或提供流媒体的服务器出口路由器限制了某些端口,导致拉流失败(比较少见);
解决方法:可采样【telnet 服务器ip地址RTMP端口】方式判断,如有限制,进行相应设置或解除限制;
B、提供直播内容的服务器和Mshow的拉流服务器的各自网络运营商之间网络不通(比较少遇到);
解决方法:可以联系Mshow官方技术人员和内容提供商进行沟通确认,Mshow支持的网络运营商有电信、联通、移动等;或者更换提供直播内容的服务器的网络。

C、网络使用高峰期,网络拥塞,导致拉流超时;
解决方法:将提供直播内容的服务器部署到网络带宽比较充裕、网络速度比较好的机房,Mshow的拉流服务器都分散处于各个核心机房,带宽充裕,网络速度比较好。

3、拉流限制
A、提供直播内容的流媒体服务器限制指定ip才可以拉流,需要添加拉流ip白才可以拉流;(一般有限制时,提供商会提前要求加拉流ip白)
解决方法:如遇到这种情况,请联系Mshow官方客服获取;
B、提供直播内容的流媒体服务器的音视频编码格式不被拉流服务器支持,导致解码失败;解决方法:Mshow支持的RTMP流里带的视频编码为H.264,音频编码为AAC-L
C、AAC-HE v2(EAAC+)、MP3共3种,音频采样率要求为44100,不支持48000,需要设置源编码器的音频采样率为44100;不支持其他音视频编码格式;。

相关文档
最新文档