流媒体协议
文章平均质量分 70
sunxiaopengsun
这个作者很懒,什么都没留下…
展开
-
HTTP协议详解
概述 HTTP(Hyper Text Transfer Protocol)<超文本传输协议>的缩写.是用于从WWW服务器传输超文本到本地浏览器的传输协议.HTTP是一个应用层协议,由请求和响应构成,是一个标准的个客户端和服务器模型.它的主要特点如下: 1. 支持客户端/服务器模型 2. 简单快速客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、P...原创 2020-01-09 16:05:25 · 577 阅读 · 0 评论 -
所有网络流转换通用SDK EasyStream
EasyStream介绍 EasyStream SDK使用 EasyStream系列1之rtsp转rtmp EasyStream系列2之rtmp转rtsp EasyStream系列3之rtsp转rtsp EasyStream系列4之rtmp转rtmp EasyStream系列5之本地文件转rtsp EasyStream系列6之本地文件转rtmp Ea原创 2017-07-15 20:19:48 · 1837 阅读 · 0 评论 -
云台控制协议VISCA、PELCO-D、PELCO-P
1. VISCA部分协议命令控制命令格式备注预置点清除预置点8X 01 04 3F 00 ZZ FFX=1-7,8是广播码,下同; ZZ=00-3F, 共64个预置点。设预置点8X 01 04 3F 01 ZZ原创 2018-01-10 16:14:31 · 8605 阅读 · 0 评论 -
H264的RTP负载打包的数据包格式,分组,分片
H264的RTP负载打包的数据包格式,分组,分片 1. RTP数据包格式RTP报文头格式(见RFC3550 Page12): 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 12 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+原创 2018-01-03 12:12:58 · 317 阅读 · 0 评论 -
libcurl增加HTTP header 和 POST之后获取返回数据
libcurl增加HTTP header 和 POST之后获取返回数据 flyfishstatic size_t write_data(void *ptr, size_t size, size_t nmemb, void *stream){ size_t written = fwrite(ptr, size, nmemb, (FILE *)stream); return原创 2017-12-14 14:46:09 · 3971 阅读 · 0 评论 -
sdp文件详细总结
一概述:SDP目的就是在媒体会话中,传递媒体流信息,允许会话描述的接收者去参与会话。SDP基本上在internet上工作。他定义了会话描述的统一格式,但并不定义多播地址的分配和SDP消息的传输,也不支持媒体编码方案的协商,这些功能均由下层传送协议完成。典型的会话传送协议包括:SAP(Session Announcement Protocol会话公告协议),SIP(Session Ini原创 2017-12-13 16:32:56 · 467 阅读 · 1 评论 -
计算机常见数据存储单位换算(kb KB)
一:基本知识计算机常见数据存储单位换算1GB=1024MB1MB=1024KB1KB=1024Byte(字节)1Byte(字节)=8bit(位)P.S.这里再罗嗦一个常见问题我们购买的硬盘和各种存储设备往往标榜如64GB,当我们拿到手只有62.5GB左右,因为厂家是按1GB=1000MB的单位标榜的所以64GB*1000MB/1024MB=62.5GB1位就是表原创 2017-07-17 21:50:18 · 10622 阅读 · 0 评论 -
C++ 用libcurl库进行http通讯网络编程
目录索引:一、LibCurl基本编程框架二、一些基本的函数三、curl_easy_setopt函数部分选项介绍四、curl_easy_perform 函数说明(error 状态码)五、libcurl使用的HTTP消息头六、获取http应答头信息七、多线程问题八、什么时候libcurl无法正常工作九、关于密码十、HTTP验证十一、代码示例 1.基本的htt转载 2017-09-19 18:45:30 · 318 阅读 · 0 评论 -
HTTP HTTPS POST GET(包含curl版本和winhttp两种实现)
玩过抓包,网络协议分析的朋友肯定都知道http https post get,web端和用户的交互主要是通过post get完成的。今天带给大家的是C++版本的http https get post,只会易语言的朋友请移步。我这里有两种实现:1:libcurl实现的CHttpClient类,该类实现了Htpp和Https的get post方法。2:winhttp实现的Win转载 2017-09-27 14:53:32 · 864 阅读 · 0 评论 -
Http协议之Get和Post的区别
get(默认值)是通过URL传递表单值,post传递的表单值是隐藏到http报文体中,url中看不到。区别(常考):get是通过url传递表单值,post通过url看不到表单域的值;get传递的数据量是有限的,如果要传递大数据量不能用get,比如type=“file”上传文章、type=“password”传递密码或者发表大段文章,post则没有这个限制。post区别:无法把网址发给其他人原创 2017-09-18 16:30:27 · 407 阅读 · 0 评论 -
EasyStream系列11之录制directshow视频
EasyStream介绍 EasyStream SDK使用 EasyStream系列1之rtsp转rtmp EasyStream系列2之rtmp转rtsp EasyStream系列3之rtsp转rtsp EasyStream系列4之rtmp转rtmp EasyStream系列5之本地文件转rtsp EasyStream系列6之本地文件转rtmp Eas原创 2017-08-18 16:04:54 · 367 阅读 · 0 评论 -
音频AAC编码的RTMP直播
RTMP直播,音频编码采用AAC时,需要把帧头的数据去掉。第一个数据包,发送4个字节,前面两个是0xAF、0x00,我看有文章写的是这个0xAF的A代表的是AAC,说明如下:0 = Linear PCM, platform endian1 = ADPCM2 = MP33 = Linear PCM, little endian4 = Nellymoser 16 kHz原创 2017-06-14 10:46:26 · 857 阅读 · 0 评论 -
http的keep-alive和tcp的keepalive区别
1、HTTP Keep-Alive在http早期,每个http请求都要求打开一个tpc socket连接,并且使用一次之后就断开这个tcp连接。使用keep-alive可以改善这种状态,即在一次TCP连接中可以持续发送多份数据而不会断开连接。通过使用keep-alive机制,可以减少tcp连接建立次数,也意味着可以减少TIME_WAIT状态连接,以此提高性能和提高httpd服务器的吞吐率(原创 2017-06-12 17:35:17 · 380 阅读 · 0 评论 -
直播http-flv小调研
最近打算直播上http-flv,之前用的是rtmp和hls。为什么使用http-flv,它有什么优缺点?怎么让流媒体服务器支持flv直播?一、市场上哪家直播使用了http-flv:通过抓包分析: 优酷的pc网页直播使用了http-flv。 斗鱼、熊猫tv、虎牙pc网页上的也使用了http-flv。二、http-flv、rtmp和hls直播的优原创 2017-06-19 11:33:33 · 1940 阅读 · 0 评论 -
EasyStream系列1之rtsp转rtmp
EasyStream介绍 EasyStream SDK使用 EasyStream系列1之rtsp转rtmp EasyStream系列2之rtmp转rtsp EasyStream系列3之rtsp转rtsp EasyStream系列4之rtmp转rtmp EasyStream系列5之本地文件转rtsp EasyStream系列6之本地文件转rtmp Ea原创 2017-08-17 15:06:17 · 1341 阅读 · 0 评论 -
EasyStream(流汇聚,转发工具)
EasyStream介绍 EasyStream SDK使用 EasyStream系列1之rtsp转rtmp EasyStream系列2之rtmp转rtsp EasyStream系列3之rtsp转rtsp EasyStream系列4之rtmp转rtmp EasyStream系列5之本地文件转rtsp EasyStream系列6之本地文件转rtmp Ea原创 2017-07-02 11:10:21 · 4559 阅读 · 0 评论 -
EasyStream系列2之rtmp转rtsp
EasyStream介绍 EasyStream SDK使用 EasyStream系列1之rtsp转rtmp EasyStream系列2之rtmp转rtsp EasyStream系列3之rtsp转rtsp EasyStream系列4之rtmp转rtmp EasyStream系列5之本地文件转rtsp EasyStream系列6之本地文件转rtmp Ea原创 2017-08-17 15:08:13 · 2021 阅读 · 0 评论 -
RTP协议之Header结构解析
https://blog.csdn.net/bingqingsuimeng/article/details/9997267转载 2019-05-22 10:57:29 · 189 阅读 · 0 评论 -
RTP报文头中的SSRC和CSRC
同步信源(SSRC)标识符:占32位,用于标识同步信源。该标识符是随机选择的,参加同一视频会议的两个同步信源不能有相同的SSRC。·特约信源(CSRC)标识符:每个CSRC标识符占32位,可以有0~15个。每个CSRC标识了包含在该RTP报文有效载荷中的所有特约信源。这里的同步信源是指产生媒体流的信源,例如麦克风、摄像机、RTP混合器等;它通过RTP报头中的一个32位数字SSRC标识符来标...原创 2019-05-22 10:47:43 · 2856 阅读 · 2 评论 -
Tinyhttpd源码剖析(二)
继续看execute_cgi函数,[cpp] view plain copyif (strcasecmp(method, "GET") ==0) { while ((numchars > 0) && strcmp("\n", buf)) /* read & discard headers */ numchars = get_line(client...原创 2018-03-20 16:45:01 · 248 阅读 · 0 评论 -
Tinyhttpd源码剖析(一)
一 介绍Tinyhttpd是一个非常轻量级的http sever。代码不超过一千行。麻雀虽小,五脏俱全。反正我看完之后觉得很是畅快,收获很大。细心研究一下会对linux网络编程,http协议等概念有新的认识。源码下载地址:http://sourceforge.net/projects/tinyhttpd/ 二 关于CGICGI要单独说一下,这是整个源码的核心,也是比较难理解的地方。我们通过浏览器访...转载 2018-03-20 16:09:19 · 262 阅读 · 0 评论 -
EasyStream系列10之directshow转rtmp
EasyStream介绍 EasyStream SDK使用 EasyStream系列1之rtsp转rtmp EasyStream系列2之rtmp转rtsp EasyStream系列3之rtsp转rtsp EasyStream系列4之rtmp转rtmp EasyStream系列5之本地文件转rtsp EasyStream系列6之本地文件转rtmp Ea原创 2017-08-17 15:36:27 · 516 阅读 · 0 评论 -
EasyStream系列9之directshow转rtsp
EasyStream介绍 EasyStream SDK使用 EasyStream系列1之rtsp转rtmp EasyStream系列2之rtmp转rtsp EasyStream系列3之rtsp转rtsp EasyStream系列4之rtmp转rtmp EasyStream系列5之本地文件转rtsp EasyStream系列6之本地文件转rtmp Ea原创 2017-08-17 15:35:13 · 558 阅读 · 0 评论 -
EasyStream系列8之录制rtmp流
EasyStream介绍 EasyStream SDK使用 EasyStream系列1之rtsp转rtmp EasyStream系列2之rtmp转rtsp EasyStream系列3之rtsp转rtsp EasyStream系列4之rtmp转rtmp EasyStream系列5之本地文件转rtsp EasyStream系列6之本地文件转rtmp Ea原创 2017-08-17 15:32:28 · 565 阅读 · 0 评论 -
EasyStream系列7之录制rtsp流
EasyStream介绍 EasyStream SDK使用 EasyStream系列1之rtsp转rtmp EasyStream系列2之rtmp转rtsp EasyStream系列3之rtsp转rtsp EasyStream系列4之rtmp转rtmp EasyStream系列5之本地文件转rtsp EasyStream系列6之本地文件转rtmp Ea原创 2017-08-17 15:31:04 · 806 阅读 · 0 评论 -
EasyStream系列6之本地视频转rtmp
EasyStream介绍 EasyStream SDK使用 EasyStream系列1之rtsp转rtmp EasyStream系列2之rtmp转rtsp EasyStream系列3之rtsp转rtsp EasyStream系列4之rtmp转rtmp EasyStream系列5之本地文件转rtsp EasyStream系列6之本地文件转rtmp Ea原创 2017-08-17 15:28:45 · 3993 阅读 · 0 评论 -
EasyStream系列5之本地视频转rtsp
EasyStream介绍 EasyStream SDK使用 EasyStream系列1之rtsp转rtmp EasyStream系列2之rtmp转rtsp EasyStream系列3之rtsp转rtsp EasyStream系列4之rtmp转rtmp EasyStream系列5之本地文件转rtsp EasyStream系列6之本地文件转rtmp Ea原创 2017-08-17 15:27:46 · 3004 阅读 · 0 评论 -
EasyStream系列4之rtmp转rtmp
EasyStream介绍 EasyStream SDK使用 EasyStream系列1之rtsp转rtmp EasyStream系列2之rtmp转rtsp EasyStream系列3之rtsp转rtsp EasyStream系列4之rtmp转rtmp EasyStream系列5之本地文件转rtsp EasyStream系列6之本地文件转rtmp Ea原创 2017-08-17 15:10:58 · 441 阅读 · 0 评论 -
EasyStream系列3之rtsp转rtsp
EasyStream介绍 EasyStream SDK使用 EasyStream系列1之rtsp转rtmp EasyStream系列2之rtmp转rtsp EasyStream系列3之rtsp转rtsp EasyStream系列4之rtmp转rtmp EasyStream系列5之本地文件转rtsp EasyStream系列6之本地文件转rtmp Ea原创 2017-08-17 15:09:48 · 513 阅读 · 0 评论 -
nginx 点播mp4方法
1.配置文件配置文件中rmtp部分: application vod { play html; } 配置文件中http部分: location ~ .mp4$ { root html; mp4;原创 2017-05-20 13:08:35 · 6982 阅读 · 0 评论 -
RTP协议
RTP协议1 RTP报文格式 2 基于RTP的带宽控制方法 1. 接收端的控制策略 2. 发送端的控制策略 RTP(Real-time Transport Protocol)是由IETF开发的实时传输协议,可以在面向连接或无连接的下层协议上工作,通常和UDP协议一起使用。RTP的工作机理与RSVP不同,主要实现一种端到端的多媒体流同步控制转载 2017-04-13 11:53:52 · 425 阅读 · 0 评论 -
librtmp 时间戳超过 0xffffff时,FMS掉连接
最近在IPCamer 上做rtmp 推流,遇到很多问题,究其因,对协议本身不熟悉。遇到问题,当使用librtmp,发送实时码流时,4.66小时后即会掉连接。网上有帖子讲解是什么原因造成的,但始终没找到一个代码,实现。今天把解决方法贴出来,以留备忘,若有不妥之处,请及时与本人联系。谢谢!更改rtmp.c文件 RTMP_SendPacket 此函数原创 2017-03-06 16:35:38 · 1019 阅读 · 1 评论 -
RTMP流媒体播放过程
本文描述了从打开一个RTMP流媒体到视音频数据开始播放的全过程。注意:RTMP中的逻辑结构RTMP协议规定,播放一个流媒体有两个前提步骤:第一步,建立一个网络连接(NetConnection);第二步,建立一个网络流(NetStream)。其中,网络连接代表服务器端应用程序和客户端之间基础的连通关系。网络流代表了发送多媒体数据的通道。服务器和客户端之间只能建立一个网络连接,但是基于原创 2017-03-06 11:40:41 · 304 阅读 · 0 评论 -
RTMP规范简单分析
RTMP协议是一个互联网TCP/IP五层体系结构中应用层的协议。RTMP协议中基本的数据单元称为消息(Message)。当RTMP协议在互联网中传输数据的时候,消息会被拆分成更小的单元,称为消息块(Chunk)。1 消息消息是RTMP协议中基本的数据单元。不同种类的消息包含不同的Message Type ID,代表不同的功能。RTMP协议中一共规定了十多种消息类型,分别发挥着不同的原创 2017-03-06 11:39:03 · 208 阅读 · 0 评论 -
自己动手写RTP服务器——传输所有格式的视频
上一篇文章我们介绍了如何用一个简单的UDP socket搭建一个RTP服务器。我把这份80行的代码呈现到客户面前的时候,就有人不满意了。还有人在参考的时候会问:“楼主你的TS格式的文件是哪里来的?应该去哪里下载?”“这也太简单了吧,不就是用UDP把TS文件发过去么?就这么几十行代码也算个大作业?”“平时看的视频格式哪有TS的呀,不是avi就是mp4、rmvb什么的,根本不实用啊!”原创 2017-03-19 13:10:35 · 425 阅读 · 0 评论 -
自己动手写RTP服务器——用RTP协议传输TS流
上一篇文章我们介绍了关于RTP协议的知识,那么我们现在就自己写一个简单的传输TS流媒体的RTP服务器吧。预备知识关于TS流的格式:TS流封装的具体格式请参考文档ISO/IEC 13818-1。这里我们只需要了解一些简单的信息就好。首先TS流是有许多的TS Packet组成的,每个TS Packet的长度固定为188 bytes,每个packet都是以sync_byte:0x47开头原创 2017-03-19 13:09:56 · 489 阅读 · 0 评论 -
自己动手写RTP服务器——关于RTP协议
本文会带领着你一步步动手实现一个简单的RTP传输服务器,旨在了解RTP流媒体传输协议以及一些关于多媒体编解码的知识。 关于RTP协议的必备知识要动手实现一个协议,当然首先需要阅读该协议的文档。RTP协议的文档,有rfc1889、rfc1890、rfc3550,其中rfc3550是现在的版本,另外两个是过期版。这个协议可以在ietf的官网找到:http://tools.iet原创 2017-03-19 13:07:00 · 533 阅读 · 0 评论 -
网络直播流媒体协议的选择讨论,RTSP,RTMP,HTTP,私有协议?
最近有不少人在EasyDarwin的交流群里面问关于花椒、映客手机直播技术的问题,还有RTSP、RTMP协议选择的问题,这里个人谈一下自己的愚见。1、不管是RTSP/RTP、RTMP、HTTP,亦或是私有协议,都是可以进行流媒体传输的流媒体协议,而且效果都能做到差不多的程度,这里会有同学问到HTTP流媒体协议是不是HLS,会有很大延时,巴拉巴拉,之类之类的,这里说明一下,HLS是HTTP中原创 2017-02-25 21:51:17 · 585 阅读 · 1 评论 -
TCP和UDP的最完整的区别
TCP UDPTCP与UDP基本区别 1.基于连接与无连接 2.TCP要求系统资源较多,UDP较少; 3.UDP程序结构较简单 4.流模式(TCP)与数据报模式(UDP); 5.TCP保证数据正确性,UDP可能丢包 6.TCP保证数据顺序,UDP不保证 UDP应用场景: 1.面向数据报方式 2.网络数据大多为短消息 3原创 2017-03-18 09:13:00 · 421 阅读 · 0 评论 -
RTSP、HTTP、HTTPS、SDP四种协议详解
我们将主要讲解RTSP,HTTP,HTTPS, SDP四种协议。 一:RTSP协议简介 实时流协议RTSP是一个应用层协议,用于控制具有实时特性的数据(例如多媒体流)的传送。 RTSP协议一般与RTP/RTCP和RSVP等底层协议一起协同工作,提供基于Internet的整套的流服务。它可以选择发送通道(例如:UDP、组播UDP和TCP)和基于RTP的发送机制。它可以应用原创 2017-03-17 15:52:06 · 1360 阅读 · 0 评论