linux应用程序之---流媒体
文章平均质量分 89
bingqingsuimeng
这个作者很懒,什么都没留下…
展开
-
移动直播技术秒开优化经验
以下内容来自@高可用架构,这次当一回技术的搬运工,为大家分享七牛创始人之一————徐立的移动直播技术秒开优化经验。徐立 徐立,七牛创始合伙人兼产品副总裁,负责七牛直播云的整体研发,是国内 Go / Docker / Container 技术早期布道者,>Go / Containers / Distributed Systems 技术的忠实爱好者和转载 2018-02-04 12:01:17 · 453 阅读 · 0 评论 -
MP4文件格式详解——元数据moov(二)tkhd box
ISO 14496 - 12 定义了一种封装媒体数据的基础文件格式,mp4、3gp、ismv等我们常见媒体封装格式都是以这种基础文件格式为基础衍生的。如果从全局角度了解基础文件格式,请看我之前的博文《MP4文件格式详解——结构概述》。本系列文档从MP4文件入手,对文件中重要的box进行解析。本次继续解析moov box,关于moov的解析推荐从我上一篇博文《MP4文件格转载 2018-02-04 11:02:01 · 506 阅读 · 0 评论 -
MP4文件格式详解——元数据moov(一)mvhd box
ISO 14496 - 12 定义了一种封装媒体数据的基础文件格式,mp4、3gp、ismv等我们常见媒体封装格式都是以这种基础文件格式为基础衍生的。如果从全局角度了解基础文件格式,请看我之前的博文《MP4文件格式详解——结构概述》。本系列文档从MP4文件入手,对文件中重要的box进行解析。本次解析moov box,也称movie box。movie box转载 2018-02-04 10:56:31 · 2493 阅读 · 0 评论 -
MP4文件格式详解——结构概述
一、基本概念1、 文件,由许多Box和FullBox组成。2、 Box,每个Box由Header和Data组成。3、 FullBox,是Box的扩展,Box结构的基础上在Header中增加8bits version和24bits flags。4、 Header,包含了整个Box的长度size和类型type。当size==0时,代表这是文件中最后一个Box;当size转载 2018-02-04 10:55:56 · 678 阅读 · 0 评论 -
MP4文件格式简要解析---代码解析
准备安装mediaInfo、QTAtomViewer.exe、MP4info.exe等软件视频一些参数封装格式:我也不太清楚编码格式:我也不太清楚分辨率:图像的长和宽。帧率:一秒播放的图片数,如15fps、30fps,体现在画面的流畅度。码率:压缩后每秒显示的图片数据量,通俗地说,就是流量。如298kbps,体现在视频文件的大小和画质。转载 2018-02-04 10:53:47 · 1645 阅读 · 0 评论 -
3.简述HLS,HTTP,RTSP,RTMP协议的区别
HLS,HTTP,RTSP,RTMP协议的区别:用HTTP方式: 先通过服务器将FLV下载到本地缓存,然后再通过NetConnection的本地连接来播放这个FLV,这种方法是播放本地的视频,并不是播放服务器的视频。因此在本地缓存里可以找到这个FLV。其优点就是服务器下载完这个FLV,服务器就没有消耗了,节省服务器消耗。其缺点就是FLV会缓存在客户端,对FLV的保密性不好。 是一种将直转载 2018-01-28 10:33:34 · 23944 阅读 · 0 评论 -
1.主流的流媒体服务器FMS/wowza/red5/SRS产品对比
先列个大纲,慢慢补上内容吧:(2017年11月6日,今天开始,将写一点关于流媒体服务器相关的原创文章,由于篇幅较长,所以会坚持更新添加内容)一、FMS(AMS)流媒体服务器介绍:Flash Media Server (简称FMS),后更名为Adobe Media Server(简称AMS),它是最早做流媒体服务器产品,他公司是adobe,是流视频和实时通信领域业界领先的解决转载 2018-01-28 09:51:17 · 6530 阅读 · 0 评论 -
2.srs之与nginx-rtmp性能对比
SRS(Simple Rtmp Server)单进程能支持9000并发,nginx-rtmp单进程最多支持3000个,单进程的性能SRS(Simple Rtmp Server)是nginx-rtmp的三倍。SRS(Simple Rtmp Server)单进程性能如何做到nginx-rtmp的三倍的?SRS(Simple Rtmp Server)哪几个结构极大提升了性能?先来看看我们遇到的问题,转载 2018-01-28 09:59:21 · 753 阅读 · 0 评论 -
将EasyRTMP_RTSP移植到Android平台实现的RTSP拉流转推RTMP直播流功能
本文转自EasyDarwin开源团队成员Kim的博客:http://blog.csdn.net/jinlong0603/article/details/73253044前言安防互联网化的需求已经越来越强烈了,传统的安防摄像机都想进行一些互联网化的直播(网页或者微信直播),也就是RTMP和HLS直播,那么在技术实现上就是各种SDK/RTSP流拉取,再转成RTMP推流到RTMP服务器进行RTM转载 2018-01-27 20:38:25 · 402 阅读 · 0 评论 -
Linux Centos上搭建rtmp直播环境Android上实现推流
本文目的:在VPS服务器上配置一个直播环境,在Android&IOS客户端实现,直播推流到服务器上,在任意播放器上实现,拉取服务器上的流观看直播。(附android源码)服务器环境:LSB Version: :core-4.1-amd64:core-4.1-noarchDistributor ID: CentOSDescription: CentOS Lin转载 2018-01-27 20:02:31 · 512 阅读 · 0 评论 -
MP4文件格式详解——元数据moov(三)tref box
ISO 14496 - 12 定义了一种封装媒体数据的基础文件格式,mp4、3gp、ismv等我们常见媒体封装格式都是以这种基础文件格式为基础衍生的。如果从全局角度了解基础文件格式,请看我之前的博文《MP4文件格式详解——结构概述》。本系列文档从MP4文件入手,对文件中重要的box进行解析。本次继续解析moov box,关于moov的解析推荐从我之前的博文《MP4文转载 2018-02-04 11:05:41 · 425 阅读 · 0 评论 -
如何实现1080P延迟低于500ms的实时超清直播传输技术
再来当一次技术搬运工,内容来自高可用框架,学霸君工程师袁荣喜的如何实现1080P延迟低于500ms的实时超清直播传输技术。 导语:视频直播是很多技术团队及架构师关注的问题,在实时性方面,大部分直播是准实时的,存在 1-3 秒延迟。本文由袁荣喜向「高可用架构」投稿,介绍其将直播延迟控制在 500ms 的背后的实现。 袁荣喜,学霸君工程师,20转载 2018-02-04 11:45:16 · 890 阅读 · 0 评论 -
GStreamer基础教程01——Hello World
目标 对于一个软件库来说,没有比在屏幕上打印出Hello World更近直观的第一印象了。因为我们是在和一个多媒体的framework打交道,所以我们准备播放一段视频来代替Hello World。不要被下面的代码吓唬住了——真正起作用的也就四行而已。剩下的都是资源管理的代码,C语言嘛,就是有这个麻烦。不多说了,准备你的第一个GStreamer应用吧……Hello World把下面的代码c...转载 2018-03-07 18:01:59 · 243 阅读 · 0 评论 -
linux下编译支持librtmp、libx264、libfaac的ffmpeg
下载源码librtmp http://rtmpdump.mplayerhq.hu/ 我采用的是rtmpdump-2.4libx264 http://download.videolan.org/x264/snapshots/ 我采用的是最新版libfaac 由于是ubuntu,我当时直接apt-get install libfaac-dev了yasm http://yasm.转载 2018-01-29 17:38:29 · 638 阅读 · 0 评论 -
libx264编码部分参数说明
[html] view plain copy//代码示例 x264_param_default_preset(&m_x264param,"ultrafast","zerolatency"); //ultrafast cpu占用最小,zerolatency 不缓存帧 m_x264param.i_width = width; m_x264param.i_heigh转载 2018-01-29 17:37:22 · 1210 阅读 · 0 评论 -
MP4文件格式的解析,以及MP4文件的分割算法
mp4应该算是一种比较复杂的媒体格式了,起源于QuickTime。以前研究的时候就花了一番的功夫,尤其是如何把它完美的融入到视频点播应用中,更是费尽了心思,主要问题是处理mp4文件庞大的“媒体头”。当然,流媒体点播也可以采用flv格式来做,flv也可以封装H.264视频数据的,不过Adobe却不推荐这么做,人家说毕竟mp4才是H.264最佳的存储格式嘛。 这几天整理并重构了一下mp4文件转载 2018-02-04 19:58:51 · 482 阅读 · 0 评论 -
MP4学习(一)MP4格式分析
mp4文件由一系列的box(也有人把它叫做atom)构成,每个box包含box头部和box体。box体可以包含普通的数据,也可以包含其他的box,如果box中包含了另一个box,这种box称为container box。 box由head和body组成,head中指明了box的大小和类型,如果size为1,则表示这个box的大小为large size,真正的size值要在la转载 2018-02-04 19:58:16 · 723 阅读 · 0 评论 -
【基于libRTMP的流媒体直播之 AAC、H264 推送】
这段时间在捣腾基于 RTMP 协议的流媒体直播框架,其间参考了众多博主的文章,剩下一些细节问题自行琢磨也算摸索出个门道,现将自己认为比较恼人的 AAC 音频帧的推送和解析、H264码流的推送和解析以及网上没说清楚的地方分享给各位。 RTMP 协议栈的实现,Bill直接使用的 libRTMP,关于 libRTMP 的编译、基本使用方法,以及简单的流媒体直播框架,转载 2018-01-28 17:12:53 · 255 阅读 · 0 评论 -
使用librtmp进行H264与AAC直播
libx264版本是128libfaac版本是1.281、帧的划分1.1 H.264帧对于H.264而言每帧的界定符为00 00 00 01或者00 00 01。比如下面的h264文件片断这就包函三帧数据00 00 00 01 67 42 C0 28 DA 01 E0 08 9F 96 10 0000 03 00 10 00 00 03 01 48 F1 83 2A 0转载 2018-01-28 17:12:10 · 337 阅读 · 0 评论 -
【基于libRTMP的流媒体直播之 AAC、H264 推送】
这段时间在捣腾基于 RTMP 协议的流媒体直播框架,其间参考了众多博主的文章,剩下一些细节问题自行琢磨也算摸索出个门道,现将自己认为比较恼人的 AAC 音频帧的推送和解析、H264码流的推送和解析以及网上没说清楚的地方分享给各位。 RTMP 协议栈的实现,Bill直接使用的 libRTMP,关于 libRTMP 的编译、基本使用方法,以及简单的流媒体直播框架,转载 2018-01-27 16:14:53 · 608 阅读 · 1 评论 -
网络直播流媒体协议的选择讨论,RTSP,RTMP,HTTP,私有协议?
最近有不少人在EasyDarwin的交流群里面问关于花椒、映客手机直播技术的问题,还有RTSP、RTMP协议选择的问题,这里个人谈一下自己的愚见。 1、不管是RTSP/RTP、RTMP、HTTP,亦或是私有协议,都是可以进行流媒体传输的流媒体协议,而且效果都能做到差不多的程度,这里会有同学问到HTTP流媒体协议是不是HLS,会有很大延时,巴拉巴拉,之类之类的,这里说明一下,HLS是HTTP中的转载 2018-01-27 15:44:17 · 297 阅读 · 0 评论 -
TS封装格式
ts流最早应用于数字电视领域,其格式非常复杂包含的配置信息表多达十几个,视频格式主要是mpeg2。苹果公司发明的http live stream流媒体是基于ts文件的,不过他大大简化了传统的ts流,只需要2个最基本的配置表PAT和PMT,再加上音视频内容就可以了,hls流媒体视频编码的主要格式为h264/mpeg4,音频为aac/mp3。ts文件分为三层:ts层(Transport Strea转载 2018-01-27 14:46:15 · 678 阅读 · 0 评论 -
RTSP协议详解
RTSP简介 RTSP(Real Time Streaming Protocol)是由Real Network和Netscape共同提出的如何有效地在IP网络上传输流媒体数据的应用层协议。RTSP对流媒体提供了诸如暂停,快进等控制,而它本身并不传输数据,RTSP的作用相当于流媒体服务器的远程控制。服务器端可以自行选择使用TCP或UDP来传送串流内容,它的语法和运作跟HTTP 1.1类转载 2013-08-16 10:36:26 · 1356 阅读 · 0 评论 -
RTP协议之Header结构解析
实时传输协议 RTP,RTP 提供带有实时特性的端对端数据传输服务,传输的数据如:交互式的音频和视频。那些服务包括有效载荷类型定义,序列号,时间戳和传输监测控制。应用程序在 UDP 上运行 RTP 来使用它的多路技术和 checksum 服务。2 种协议都提供传输协议的部分功能。不过,RTP 可能被其他适当的下层网络和传输协议使用。如果下层网络支持,RTP 支持数据使用多播分发机制转发转载 2013-08-16 10:24:29 · 14363 阅读 · 0 评论 -
rtsp和sdp协议简介
RTSP是由Real network 和Netscape共同提出的如何有效地在IP网络上传输流媒体数据的应用层协议。 实时流协议(RTSP)建立并控制一个或几个时间同步的连续流媒体,如音频和视频。尽管连续媒体流与控制流交叉是可能的,RTSP 本身并不发送连续媒体流。换言之,RTSP 充当多媒体服务器的网络远程控制。RTSP 提供了一个可扩展框架,实现实时数据(如音频与视频)的受控、按需传送。数据源转载 2013-08-16 10:50:31 · 1281 阅读 · 0 评论 -
RTP 和 RTSP的区别
RTP(Real-time Transport Protocol)是用于Internet上针对多媒体数据流的一种传输协议。RTP被定义为在一对一或一对多的传输情况下工作。其目的是提供时间信息和实现流同步。但RTP通常使用UDP来传送数据。但RTP也可以在TCP或ATM等其他协议之上工作。当应用程序开始一个RTP会话时将使用两个端口:一个给RTP一个给 RTCP。RTP本身并不能为接顺序传送数据包提转载 2013-08-16 10:28:49 · 1253 阅读 · 0 评论 -
H.264视频编解码SoC满足高清DVR设计需求
硬盘录像机(DVR)作为监控系统的核心部件之一,在10年里高速发展,从模拟磁带机的替代品演变成具有自己独特价值的专业监控数字平台,并被市场广泛接受。监控系统伴随DVR这些年的发展向着IP化、智能化发展。根 据行业用户的需求,DVR由以下几个方向需要被行业关注:1、DVR的编码方式向更高压缩效率的标准H.264发展;2、录像分辨率从 CIF(352*288分辨率) 向D1(720*576转载 2013-08-21 16:59:26 · 1714 阅读 · 0 评论 -
onvif开发总结
ONVIF开发经验总结 ONVIF开发经验总结....................................................................................................... 1一、 利用gsoap2.8.14生成Onvif相关源代码..................转载 2013-08-20 09:44:34 · 5091 阅读 · 5 评论 -
onvif规范的实现:server端Discovery实现,通过OnvifTestTool12.06测试
目录(?)[+]说明:网上关于ONVIF开发的文章并不多,也更找不到具体的实例来入门学习。只能靠翻阅各种Specification摸索中前进,下面是最近几天的成果。调通了服务端(或者说设备端)的Discovery,使用OnvifTestTool12.06能够搜到我的设备。【来自http://blog.csdn.net/ghostyu】1、在使用wsdl2h产生头文件前需要修转载 2013-08-19 13:58:22 · 1535 阅读 · 0 评论 -
ubuntu下安装 gSOAP 用于C/C++开发web service服务端与客户端
昨天在ubuntu下进行安装gSOAP,费了很多时间,没成功,今天又来找了大量教程资料,终于一次成功,这里写下自己的安装步骤和方法,供大家参考。首先下载gsoap,我下载的是gsoap-2.8.1.zip用unzip gsoap-2.8.1.zip命令解压缩,会解压生成gsoap-2.8文件夹。cd gsoap-2.8在安装之前需要先安装一些编译工具转载 2013-08-19 11:35:21 · 4938 阅读 · 0 评论 -
Webservice soap wsdl区别之个人见解
Web Service实现业务诉求:Web Service是真正“办事”的那个,提供一种办事接口的统称。WSDL提供“能办的事的文档说明”:对要提供的服务的一种描述格式。我想帮你的忙,但是我要告诉你我都能干什么,以及干这些事情需要的参数类型。SOAP提供“请求”的规范:向服务接口传递请求的格式,包括方法和参数等。你想让人家办事,总得告诉人家你想干什么吧,SOAP就是定义这个“请求”的格式的,按照S转载 2013-08-19 10:59:10 · 1043 阅读 · 0 评论 -
RTSP传输协议之Methods总结
Methods表示了对请求统一资源标志符(Request-URI)识别的资源所执行的操作。Method名区分大小写。RTSP的Method支持扩展,即可以定义新的方法。方法名可能不以字符'$'(十进制数24)开头,但必须具有表征意义。RTSP协议目前版本支持的Methods如下表所示:说明:(1)PAUSE是一个推荐的method, 但在构建一个全功能的服务器时可能不支转载 2013-08-16 10:52:46 · 3057 阅读 · 0 评论 -
sip
http://xuanbo.blog.51cto.com/ext/down_att.php?aid=10040&code=4828转载 2013-08-16 11:27:55 · 762 阅读 · 0 评论 -
H264 NALU 使用PS封装 RTP发送
最近由于项目平台需求,要将H264 NALU封装为PS再用RTP发送,PS封装按照ISO DEC-13818-1标准。一个PS包包含PS Header, PES Header, PS system header, PS system map等。针对H264做如下PS封装:1、每个IDR NALU前一般都会包含SPS、PPS等NALU,因此将SPS、PPS、IDR 的NALU封装为一个P转载 2013-08-17 22:23:24 · 1985 阅读 · 0 评论 -
将H264码流打包成RTP包
H264码流打包成RTP包的代码如下:[cpp] view plain copy #include #include #include #include #include #include //#include "mem.h" #define PACKET_BUFFER_END (unsigned in转载 2018-01-25 21:51:05 · 732 阅读 · 0 评论 -
ffmpeg静态库的裁剪
直接对ffmpeg的源码进行编译链接生成的静态库非常大,仅仅avcodec就有几十兆。因此根据我们自己的需求对ffmpeg进行裁剪是非常必要的。先不说具体的,直接上代码。在ffmpeg源码的根目录下新建shell脚本,命名为ffmpeg_small(随便起的),然后把下面的内容复制进去,修改执行权限,然后执行,大概十多分钟后就可以得到裁剪后的ffmpeg静态库啦。经过验证,生成的libavco转载 2017-05-10 10:38:23 · 2554 阅读 · 0 评论 -
onvif对接问题汇总
好长时间没有再写该系列文章了,最近刚好摸索着解决了大华摄像头无法使用问题,记录下来,应该对其他博友有所帮助。之前虽然写了一大堆文章说明了如何使用gsoap连接摄像头,但这是针对一台海康的摄像头开发的,一旦使用了同品牌不同型号摄像头或者其他牌子的摄像头就可能出现兼容性问题,导致无法使用。我就是碰到了这个问题,测试过的多个品牌型号摄像头,有的能直接使用,有的不能使用,问题各部相同。本文就是针对大华摄像转载 2017-03-31 13:23:39 · 5286 阅读 · 1 评论 -
Windows下搭建ffmpeg+VS2008开发环境详细教程
由于个人是从事音视频开发相关的工作,所以也把自己的一些过程写下来,方便大家以及自己查看,时间关系就不多瞎说了,具体过程,都是图文教程在搭建开发环境之前,首先需要下载ffmpeg源码 (dev版本+share版本)提醒下 ffmpeg 源码应该是 32bit, 因为当前新建工程也是32位 注意头文件的引用 m转载 2016-08-05 09:06:01 · 2921 阅读 · 0 评论 -
一场Socket四次握手引发的血案
一场Socket四次握手引发的血案前奏Hello Everybody,原谅我是一个标题党。事情是这样的,周末,同事在微信上抛来一个问题,原文如下:服务端某个服务timewait过多,网上说端口会耗尽,我怎么感觉是fd会耗尽呢,因为一个服务通常只使用一个端口在记忆的某个角落里,翻出了四次握手的状态图,虽然模模糊糊,但是还是有点印象。转载 2016-07-29 11:24:24 · 786 阅读 · 0 评论 -
VLC播放RTSP视频延迟问题
之前写过一篇关于在Linux平台上编译android平台上VLC播放器源代码的文章,vlc这款播放器非常优秀而且是开源的,它的核心是开源视频编解码库ffmpeg。而且这款播放器还支持RTSP协议,这个主要是用开源的live555来实现的,live555这个库以后还需要认真研习。一:PC端(Windows平台)VLC播放RTSP视频延迟问题解决前几天用PC平台上的VLC播放RTSP流媒体时延转载 2016-05-05 12:56:49 · 11524 阅读 · 2 评论