rtmp协议

网页直播/点播播放器支持http-flv/rtmp/m3u8等播放音视频流媒体播放器EasyPlayer-RTMP-iOS播放视频宽高变化导致播放器停止运行的问题解决

依然范特西╮ 提交于 2019-12-12 12:44:39
背景分析 RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。 RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。支持该协议的软件包括Adobe Media Server/Ultrant Media Server/red5等。 EasyPlayer-RTMP播放器是一套RTMP专用的播放器,包括有:Windows、Android、iOS三个平台,区别于市面上大部分的通用播放器,EasyPlayer-RTMP系列始于成熟的商业项目,得到了各行各业(尤其是安防行业)的广泛应用,EasyPlayer-RTMP更加精炼、更加专注,具备非常低的延时,非常高RTMP协议兼容性,编码数据解析等方面,都有非常大的优势,尤其是在有特殊参数/私有自定义字段的情况下,非常容易进行定制和兼容。 EasyPlayer-RTMP-iOS播放视频宽高变化了,播放器崩溃 分析问题 播放过程中,当视频宽高变化了,解码器会崩溃,导致app停止运行。 解决问题 视频帧解码前,当获取到关键帧I帧时,当前帧的宽高需要和之前帧的宽高作比较,并记录下是否有变化: 当isInit为YES时

美艳直播项目应用源码下载

醉酒当歌 提交于 2019-12-06 02:14:25
当前视频直播非常火爆,手机端的视频直播也非常火爆,PGC、UGC的视频直播门槛都降低了很多。 本文介绍一个:IOS 客户端直播的SDK,代码完全开源。 直播时代:让IOS普通开发者一天内做出一个RTMP直播客户端,并且带有美艳直播功能 包含一下功能: 源码下载: http://code.662p.com/view/13003.html 1, 提供IOS苹果手机的RTMP推流; 填写RTMP服务地址,直接就可以进行推流。 2,美颜直播 美不美都能装的直播,IOS OPENGL美艳加速,手机完全不发烫。 3,前后摄像头随时切换4,提供RTMP连接状态的回调 一,首先简单扫盲 当前直播都是用RTMP协议,推流到RTMP服务器。 然后RTMP服务器提供RTMP视频服务; 当然通常RTMP服务器也提供HLS,把视音频流切片成ts流,然后用户可以直接播放xxx.m3u8的流媒体。 二,SDK使用简介 1,初始化 [LiveVideoCoreSDK sharedinstance]:全局独立的SDK实例,你不用管理对象的申请和释放; 初始化RTMP连接和视频参数,非常简单: [[LiveVideoCoreSDK sharedinstance] LiveInit:RtmpUrl Preview:self.view VideSize:LIVE_VIEDO_SIZE_CIF BitRate:LIVE

使用vedio.js 7在html中播放rtmp视频流

丶灬走出姿态 提交于 2019-12-05 14:27:55
1.背景 最近要做摄像头视频的展示,不想使用硬件方的专用插件,所以计划视频推送到SRS服务器,浏览器再通过rtmp协议显示,类似于直播。 经查询,了解到可以用ckplayer(有许可条款)和vedio.js在html页面中。尝试了vedio.js_5.x可以正常播放,而6.x版本不能播放,可目前vedio.js已经更新到了7.x! 几经折腾,发现6.x版本后需要单独的flash插件,早期版本包含了flash,官方说明如下: 2.示例 1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta charset="UTF-8"> 6 <title>Live Video 7.X</title> 7 <link href="./lib/video7.3.0/video-js.min.css" rel="stylesheet"> 8 <script src="./lib/video7.3.0/video.min.js"></script> 9 <script src="./lib/flash/videojs-flash.min.js"></script> 10 </head> 11 12 <body> 13 <video id="liveVideo" class="video-js" controls autoplay preload=

直播技术总结(一)流媒体服务器搭建,进行推流

喜你入骨 提交于 2019-12-04 21:20:20
转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼yuiop: http://blog.csdn.net/hejjunlin/article/details/54425531 前言:直播技术,近年来,相当火,先且不说Codec部分,那它到底复杂么? 服务端推流,客户端进行拉流,两者结合,变成直播,应该说如何优化直播的实时性中的问题,才是复杂部分,如网络原因,如视频卡顿等。今天介绍直播技术总结中流媒体服务器搭建,进行推流,用Mac搭建nginx+rtmp服务器。 简介 nginx是非常优秀的开源服务器,用它来做hls或者rtmp流媒体服务器是非常不错的选择。 步骤安装 1、安装Homebrow Homebrew简称brew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件,可以说Homebrew就是mac下的apt-get、yum神器 ,因为Mac 本身也是基于unix内核的。 /usr/bin/ruby -e " $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install) " 安装Homebrow中 安装Homebrow好了,如下: 2、安装Nginx服务器 增加对 nginx 的扩展;也就是从github上下载,home

RTSP网络监控摄像头如何实现Windows、Linux、ARM、Android、iOS全平台支持的拉RTSP流推出RTMP直播流?

给你一囗甜甜゛ 提交于 2019-12-03 23:58:10
视频流媒体中视频数据的传输占据了绝大部分的带宽,如何提升编码效率、减小带宽使用、提升画面质量,成为音视频开发者努力的重点。随着互联网、流媒体技术的发展,兼容支持H.264、H.265编码器(可减少计算的复杂性、提高压缩率,并降低编码时间)已经成为迫在眉睫的事。 RTSP协议也是广泛使用的直播/点播流媒体协议,以前的项目里实现了一个RTSP协议转换RTMP直播协议的程序,为的是可以接收远端设备或服务器的多路RTSP直播数据,实时转换为RTMP直播协议,推送到NginxRtmp等RTMP服务器,可以在PC上实现flash观看RTSP直播源(比如IPCAM)的需求,也能通过Nginx的HLS协议转换,在手机上观看。 该流程的关键点有以下部分: RTSP直播流的读取 H.264和AAC编码数据的分析、处理 FLV文件数据的提取及与RTSP直接的切换和衔 RTMP数据包封装 RTMP推送协议 如何实现拉RTSP流推出RTMP流 问题描述 最近有开发者咨询是否有工具支持实现拉RTSP流推出RTMP流? 解决方案 我们首先来搭建一个实例。 1、准备一个rtsp流。我们这里准备的是海康的摄像机,rtsp流地址如下:rtsp://admin:admin12345@192.168.99.23:554/h264/ch33/main/av_stream 2、从https://github.com

librtmp 源码结构分析

匿名 (未验证) 提交于 2019-12-03 00:22:01
原文地址: http://blog.csdn.net/gengxt2003/article/details/51610546 感谢原作者的贡献 代码在 handshake.h文件中, 该文件中 HandShake 函数是处理握手的。 RTMP_Connect(): RTMP_Connect1()。 RTMP_Connect0() 主要是建立Socket连接 建立RTMP连接. RTMP_ConnectStream 在这个函数中调用了 RTMP_ReadPacket() RTMP_ClientPacket() 第一个函数的作用是读取通过Socket接收下来的消息(Message)包,但是不做任何处理。第二个函数则是处理消息(Message),并做出响应。这两个函数结合,就可以完成接收消息然后响应消息的步骤。 RTMP_ReadPacket 接收下来的是Chunk RTMP_ClientPacket() 是用来处理消息,根据不同的消息,做不同的调用。 case 0x01: break; case 0x02: break; …… } 消息类型为0x14的消息,即消息类型ID为20的消息,是AMF0编码的命令消息, 依次调用 三个命令, 针对不同的method,处理不同的命令。 这些命令有以下这些(不完整) 等等。 消息是如何发送的?

PHP写在线视频直播技术详解

五迷三道 提交于 2019-12-02 22:47:55
废话一句,如果你要做高性能服务器服务,请去读底层的东西 http tcp/ip socket 了解基础协议,你对如何建造高性能服务器会有一个深度的了解 目前楼主专注php开发,最直接的方法就是使用lnmp去直接做,搜索以下资料,发现还是行得通的,先把基础架构列出来 前端页面 php 弹幕flash+js 数据来源是redis集群 及时聊天 redis集群 +js长连接 礼物系统 在线调用ffmpeg对流媒体进行转码 服务器流媒体 nginx-rtmp-module 的支持 基于HTTP的FLV/MP4 VOD点播 HLS (HTTP Live Streaming) M3U8的支持 基于http的操作(发布、播放、录制) 可以很好的协同现有的流媒体服务器以及播放器一起工作 在线调用ffmpeg对流媒体进行转码 H264/AAC音视频编码格式的支持 服务器端的并发和负载是很大的问题,在兼顾服务器数量+宽带的,后面在详解 视频加速 cdn 支持的pc 安卓 ios需要优化 因为 nginx-rtmp也是支持HLS 视频源支持 obs 目前这个是pc开源的比较好的 安卓或者ios目前没有发现比较好的开源视频源推送的,欢迎推荐 背景和资料 目前流行的流媒体服务器 http://www.oschina.net/project/tag/111/streaming 进行综合对比

简单、高效、易用的全平台(Windows/Linux/ARM/Android/iOS)web实现RTMP推送组件EasyRTMP-Android BUS传递消息过程介绍

那年仲夏 提交于 2019-12-02 08:43:59
背景分析 RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写,该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMP/RTMPS/RTMPE等多种变种。RTMP是一种设计用来进行实时数据通信的网络下ieyi,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。 RTMP推流,就是将直播内容推送到服务器的过程。 EasyRTMP-Android BUS传递消息过程 提出问题 EasyRTMP-Android中如何传递消息的? 解决问题 在library模块下,BUSUtil类初始化一个全局的BUS实例: public class BUSUtil { public static final Bus BUS = new Bus(ThreadEnforcer.ANY); } 1、获取推流中的fps、bps BUSUtil.BUS.post(new StreamStat((int) fps, (int) bps)); 2、获取可以支持的分辨率 3、获取录像开始的通知 4、获取录像结束的通知 以上就是EasyRTMP-Android中传递消息的介绍,更多问题解析和方法介绍,请继续关注本栏目。 来源: https://blog.csdn.net/TsingSee/article/details

rtsp+rtmp多路流媒体播放

痞子三分冷 提交于 2019-12-02 02:42:27
一、前言   之前博主有写过 一篇博文,讲的是使用videojs在谷歌浏览器网页上播放rtmp流媒体,具体可参考我之前的博客: https://www.cnblogs.com/FHC1994/p/9981440.html   最近又开始研究了一下网页播放流媒体,在这里我要主要补充一些播放rtmp、rtsp流媒体的其他方法 二、rtsp和rtmp流媒体 2.1 视频传输原理   从网络上接收视频时首先需要要解协议(RTSP/RTMP/HTTP),然后是解格式(MKV,RMVB),之后才是将视频(H264)和音频(AAC)格式数据分别解码为图像(RGB/YUV)和声音(PCM),再根据时间戳同步播放 2.2 RTSP和RTMP介绍      RTSP(Real Time Streaming Protocol),RFC2326,实时流传输协议,是TCP/IP协议体系中的一个应用层协议,由哥伦比亚大学、网景和RealNetworks公司提交的IETF RFC标准。该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或UDP完成数据传输。目前多数网络摄像机支持RTSP、ONVIF等通用的协议,而支持RTMP比较少   RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写

转载自MetalkgLZH

大兔子大兔子 提交于 2019-11-29 04:51:30
本文系MetalkgLZH原创,转载请注明出处 转载自 编译带有nginx-rtmp-module的nginx请见本博客的有关文章。 点击跳转 也可以使用预编译好的版本 --见Github主页 对于Windows操作系统,可以使用nginx-rtmp-module的github release提供的下载,也可以使用本站对国内优化速度的下载 Github Release ---- 本站下载 流服务器 我们可以利用nginx编译有nginx-rtmp-module搭建一个很高效率的流服务器。默认的配置文件是这样的 #user nobody; # multiple workers works ! worker_processes 2; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 8192; # max value 32768, nginx recycling connections+registry optimization = # this.value * 20 = max concurrent connections currently