![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 52
TopsLuo
朽木可雕
展开
-
如何使用OWTServer
架构图编译及安装 下载源码git clone https://github.com/open-webrtc-toolkit/owt-server.git 安装依赖 cd owt-server && ./script/installDepsUnattended.sh 编译native模块./script/pack.js –t mcu –ch...原创 2020-01-17 16:55:25 · 4039 阅读 · 6 评论 -
编译Licode报错:ifndef header guard has wrong style
编译licode git上的master的时候,一切都很顺利,但下载release中的压缩包,解压并编译,当编译到erizoAPI的时候却报了很多相同的错误,都是说头文件的风格不对,错误如下:MediaStream.h:2: #ifndef header guard has wrong style, please use: _HOME_TOPSLUO_WORKSPACE_TEST_LICODE...原创 2019-08-15 18:04:37 · 1250 阅读 · 0 评论 -
-fno-rtti -fno-exceptions
-fno-rtti 禁用运行时类型信息-fno-exceptions 禁用异常机制一般只有对程序运行效率及资源占用比较看重的场合才会使用, 如果要做这两个的话最好连libstdc++和其他所有的的c++库都用这两个参数重新编译一遍, 否则光是你自己的程序禁用了这两个特性, 而别的库依然开着, 效果就大打折扣了转载自:https://blog.csdn.net/fyfcauc/article...转载 2019-01-14 14:57:42 · 2286 阅读 · 0 评论 -
c++ 接口和抽象类
其实对抽象类与接口的区别一直是搞不太清楚,最近正在学习《设计模式》,期间用到了很多c++多态的知识。这是才恍然发现,是应该整理下这方面的知识了。但在翻阅书本、上网查阅资料之际,发现有篇文章总结的不错。于是,转载(博主勿怪)并稍作修改如下: 抽象类:抽象类是特殊的类,只是不能被实例化(将定义了一个或多个纯虚函数的类称为抽象类);除此以外,具有类的其他特性;重要的是抽象类可以包括抽象方法,这是普通类...转载 2018-07-23 16:10:56 · 981 阅读 · 0 评论 -
利用ffmpeg构造静音帧
在项目中处理音频,有时候会出现音频源没数据,但又不能中断输入音频数据给编码器,否则很有可能就出现声音与画面不同步的严重问题。所以尝试了几种构造静音帧的方法,最终找到了ffmpeg上面,废话也不多话,直接上一段代码:AVFrame *alloc_silence_frame(int channels, int samplerate, int format){ AVFrame *frame...原创 2018-05-04 09:06:50 · 5201 阅读 · 5 评论 -
c++11实现写优先的读写锁
文章转自:http://blog.csdn.net/mymodian9612/article/details/52794980 先直接贴出代码:#ifndef __WRITE_FIRST_RW_LOCK_H#define __WRITE_FIRST_RW_LOCK_H#include <mutex>#include <condition_variable>class WfirstRWLock转载 2017-11-14 11:31:44 · 2444 阅读 · 0 评论 -
如何使用libxml2解析xml
通过简单的例子,告诉大家如何使用libxml2库来解析xml格式的配置文件,本文中将使用如下xml: 192.168.10.238 7777 192.168.10.238 media_server_888 media_server 8888 8889 8888 如何解析出xml文件中各个参数的值?具体代码如下:原创 2017-05-27 14:02:29 · 879 阅读 · 1 评论 -
不同媒体容器封装层的timebase分析
在使用ffmpeg封装过程中发现,封装成mp4文件音视频是同步的,但是封装成mpegts文件则有问题,视频播放正常,但音频播放异常,且不同步。所以猜测是封装层的时间基准单位(timebase)在搞鬼。 在此,并没有去深入的分析ffmepg中的源代码,而是简单的修改了一下ffmpeg中的av_dump_format函数,使之把音频的tbn(即封装层的timebase)也打印出来,分析了如下容器:mp原创 2017-09-14 16:12:42 · 1224 阅读 · 1 评论 -
使用freetype库将文字嵌入到bmp图片中 学习笔记
原文章链接:http://blog.csdn.net/u010385177/article/details/46929503 当时也是工作原因,需要用到freetype2来处理字符串,后来找到了这篇blog,虽然平台不一致(他的是windows程序,而我是要Linux程序),但毕竟都是C的实现,所以照着他的例子实现起来。最终发现原文章有一些BUG(或许平台不一致,但在linux平台上确定存在的几个转载 2017-07-26 14:22:51 · 1835 阅读 · 6 评论 -
智能指针shared_ptr的用法
源文章链接:http://www.cnblogs.com/jiayayao/archive/2016/12/03/6128877.html 为了解决C++内存泄漏的问题,C++11引入了智能指针(Smart Pointer)。 智能指针的原理是,接受一个申请好的内存地址,构造一个保存在栈上的智能指针对象,当程序退出栈的作用域范围后,由于栈上的变量自动被销毁,智能指针内部保存的内存也就被释放掉了(转载 2017-07-18 14:03:11 · 259 阅读 · 0 评论 -
如何使用数组参数
如果一个函数以一维数组为参数,我们可以这样声明这个函数void func(int* a) ; void func(int a[]) ; void func(int a[3]) ; 实际上,这三种形式是等价的,在使用数组做参数时,编译器会自动将数组名转换为指向数组第一个元素的指针,为什么呢?这要从参数的传递方式说起,参数有三种传递方式,按值传递,按指针传递,按引用传递,分别如下void Test转载 2017-07-07 17:14:08 · 301 阅读 · 0 评论 -
multiple definition of 问题解决方法
最近的项目里,由于我想重载结构体的==操作符,然而大意的我把重载的过程写在了头文件里,所以导致了multiple definition of的错误。现在总结下解决方法:首先,最关键的,不要把全局变量以及全局方法的定义放在头文件里!!!!1.给每一个头文件加上条件编译: 注:此方法不是解决上述问题的方法,只是解决multiple definition of的一个方法。 当多个文件包含同一个头文件时转载 2017-07-07 10:29:02 · 2591 阅读 · 0 评论 -
利用FFmpeg转码生成MP4文件
项目中,需要把一路音频流及一路视频流分别转码,生成指定格式(MP4)文件。在使用ffmpeg转码生成mp4文件的过程中,碰到了不少的问题,主要如下: 1. 生成的mp4文件无法正常播放 2. 生成的mp4,用ffmpeg分析,发现码率、帧率等参数不对(编码后的pkt结构体无pts,手动赋值错误,如果是mp4文件,不考虑B帧的情况下,pts是按512往上累加,如果是ts文件,则是按3600累加原创 2017-06-24 14:42:53 · 7318 阅读 · 1 评论 -
C++ map的操作
C++中map的常用操作方法,通过代码的方法展现给初学者,希望能帮助到大家#include #include #include using namespace std;int main(){ map mapStudent; //插入方法一 mapStudent.insert(pair(1, "student_1")); mapStudent.inser原创 2017-05-27 11:56:16 · 1015 阅读 · 0 评论