12 2023 档案
摘要:#include <iostream> #include <vector> using namespace std; class Light { public: void on() { cout << "灯亮了" << endl; } void off() { cout << "灯灭了" << en
阅读全文
摘要:一、代码示例 1 #include <iostream> 2 #include <vector> 3 #include <string> 4 using namespace std; 5 6 ///抽象一个Subject主题 7 ///观察者 8 class Observer { 9 public:
阅读全文
摘要:1 #include <iostream> 2 using namespace std; 3 4 //设计思想:我们父类和子类就是一个扩展的关系?是不是合适 5 //里氏代换原则:子类对象就应该能完全替代父类的行为 6 //对于继承这样设计,特别小心,我们:组合大于继承 7 //把quack和fly
阅读全文
摘要:1 #include <iostream> 2 using namespace std; 3 4 //PC机,手机,平板 5 class MakeOrder { 6 public: 7 //virtual void startOrder() =0;第一版 8 //钩子函数的模板方法 9 virtua
阅读全文
摘要:六、AAC 音频编码技术AAC是高级音频编码(Advanced Audio Coding)的缩写,出现于1997年,最初是基于MPEG-2的音频编码技术,目的是取代MP3格式。2000年,MPEG-4标准出台,AAC重新集成了其它技术包括SBR或PS特性,目前AAC可以定义为⼀种由 MPEG-4 标
阅读全文
摘要:五、H264编码 H264在视频采集到输出中属于编解码层次的数据,如下图所示,是在采集数据后做编码压缩时通过编码标准编码后所呈现的数据。1.编解码的必要性1)为什么要压缩节省传输带宽;编码可以将数据进行压缩,减少传输资源浪费。节省存储空间:计算一下:10秒钟1080p(1920x1080)、30fp
阅读全文
摘要:5)StreamBeginStreamBegin属于用户控制类消息,header的typeid为0x04。而用户控制消息的类型的定义如下:如此,我们就得出了StreamBegin的过滤条件。接下来我们看看StreamBegin消息,还是先看一下抓包文件:RTMP服务器发送StreamBegin以通知
阅读全文
摘要:2)详探 应用程序appapp是application的缩写,代表客户端要链接到的,rtmp服务器的应用程序,这个一般我们在nginx服务器的配置选项中可以看到。对于该object,首先使用app来表示此object表示的名称,之后按照AMF0格式来表示具体的值。此处app的值为rtmp_live,
阅读全文
摘要:四、RTMP详解RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。该协议是应用层协议,基于TCP。RTMP是一种设计用来进行实时通信的网络协议,主要用来在Flash平台和支持RTMP协议的流媒体/交互服务器之间进行以视频和数据通信。直播场景中使用RT
阅读全文
摘要:一、RTSP/RTP/RTCP的区别RTP/RTSP/RTCP的区别 用一句简单的话总结: RTSP发起/终结流媒体、RTP传输流媒体数据、RTCP对RTP进行控制,同步。RTP:实时传输协议(Real-time Transport Protocol)RTP/RTCP是实际传输数据的协议 RTP传输
阅读全文
摘要:一、RTSP/RTP/RTCP的区别RTP/RTSP/RTCP的区别 用一句简单的话总结: RTSP发起/终结流媒体、RTP传输流媒体数据、RTCP对RTP进行控制,同步。RTP:实时传输协议(Real-time Transport Protocol)RTP/RTCP是实际传输数据的协议 RTP传输
阅读全文
摘要:分析代码的准备1.1.编译及运行1.下载源码代码从git获取,如果没安装git,需要执行sudo apt-get install gitcd /opt#拉取项目代码git clone https://github.com/ZLMediaKit/ZLMediaKit.git#国内用户推荐从同步镜像网站
阅读全文