- 博客(59)
- 资源 (4)
- 收藏
- 关注
原创 QObject::startTimer: Timers can only be used with threads started with QThread
写Qt定时器时,老是报如下错误,QObject::startTimer: Timers can only be used with threads started with QThread我自己代码如下:class LiveStream : public QObject{ Q_OBJECTpublic: LiveStream(QObject *parent = 0);...
2020-03-18 13:31:22
6128
1
转载 live555 哈希表
转载于:https://www.acodelife.cn/index.php/category/live555/1.创建static HashTable* create(int keyType);//参数:key类型HashTable* HashTable::create(int keyType){//new一个HashTable的派生类BasicHashTable的对象并返回//调...
2019-09-16 15:17:21
405
转载 LIVE555框架概述(1)
转载于acodelife使用了live555一段时间了,现在主要想总结一下使用的过程,以提高对RTSP/RTP的理解。这篇主要为介绍live555的一些主要目录。LIVE555目录文件[图](https://www.acodelife.cn/index.php/archives/4/)从上图看出,live主要包括UsageEnvironment&TaskScheduler,gr...
2019-08-31 21:35:02
513
转载 VLC移植海思(ARM)平台
转载于:acodelife###概述在ARM平台,可以使用live555和vlc用于RTSP推流。live555代码比较简单,但是单线程,效率不足。因为项目需要,所以交叉编译VLC,用于RTSP服务器。###编译过程1.下载vlc源码vlc源码下载,我使用的是vlc-2.2.1版本。2.配置编译脚本,我的编译脚本如下:#!/bin/sh# for armexport PATH=/...
2019-08-30 17:57:57
3504
2
转载 Ubuntu gedit出错:Failed to connect to the session manager
在Ubuntu下刚才用su到root后,用命令gedit发现会出错:** (gedit:2976): WARNING **: 连接已关闭(gedit:2976): EggSMClient-WARNING **: Failed to connect to the session manager: None of the authentication protocols specified are...
2019-06-13 11:15:57
1336
原创 Ubuntu设置网络
这几天,虚拟机Ubuntu上网络突然不能用了。为了使用方便,得把网络弄好。Ubuntu网络设置有两种方式,但是这两种方式,有冲突。建议桌面系统使用network-manager,服务器版本通过文件/etc/network/interfaces 来配置。我是使用network-manager来配置我的网络。1.确保/etc/network/interfaces文件中只有本地环回的内容,如下:...
2019-06-13 09:32:20
1902
2
原创 海思采集视频边框设置
问题:海思采集视频,四周有一个白色的方框把视频包裹。想除去这个边框。有白色边框的代码:VPSS_CHN_ATTR_S stChnAttr ;//= {0}; stChnAttr.bSpEn = HI_FALSE; stChnAttr.bUVInvert = HI_FALSE; stChnAttr.bBorderEn = HI_TRUE; stChnAttr.stBorder.u32Co...
2019-05-10 15:55:05
1359
原创 MinGW 编译libevent
转载于:www.acodelife.cn背景:想使用Qt Creator 编写libevent小型服务器。使用libevent,添加源码的方式,修改的比较大,所以直接把libevent编译成库使用。因为Qt Creator自带的MinGW编译器,所以需要使用MinGW编译器编译libevent。准备与介绍:MSYS,Minimal GNU(POSIX)system on Window,是...
2019-01-03 20:53:31
2693
1
转载 HI3521D串口使用
转载于:www.acodelife.cn概述因项目需要,需要使用的HI3521D的串口1和串口2,并把串口2作为485使用。海思UART启用因为海思默认启用uart0 ,作为调试串口。所以我们需要说明的是uart1和uart2。uart1:我们进入/dev目录下,发现有uart1存在,编写代码的时候,open /dev/ttyARM1,发现报错No such device or add...
2018-12-17 09:48:20
2119
转载 海思HI3798 Qt的使用
转载于:www.acodelife.cn硬件:HI3798MV200 软件:Qt5.5.1 + linux简述: 在单纯的ARM嵌入式平台编写Qt程序,只需要交叉编译Qt,然后把相应的库移植到平台就可以了。但是在海思平台不行。因为海思还有视频的。海思的视频是显示在视频层,而Qt则显示在图形层。运行Qt应用程序后,会遮挡视频层的视频。因此,在播放视频的窗口,需要隐藏Qt界面。并且在海思上运行起Q...
2018-12-11 19:15:20
4291
原创 c++ 单例模式
单例模式是整个程序中该类只有一个实例。要实现单例模式:1.定义一个该类的静态指针。2.把该类的构造函数和析构函数什么为private属性3.定义两个静态函数,分别为返回该类的静态指针和delete该类的静态指针简单实现代码为:class Config{public: static Config *conInstance() { if(conImp =...
2018-11-28 11:00:57
218
原创 C++ 两个类互相调用
总所周知,我们想要调用一个类,一定要添加他的头文件。例如,class A 调用class B,在class A 头文件中,这样子就可以了。如:A.h#ifndef A_H#define A_H#include "B.h"class A{public: A(); B b;};#endif但是,如果我想class A 调用class B , class B 调...
2018-11-22 15:35:57
8651
原创 海思编码呼吸效应
海思编码–>TS–>播放,在动态画面的时候,播放清晰流畅。在播放静止画面的时候,讲会有画面抖动,出现呼吸效应。查找原因,主要为编码原因。编码的时候将SAMPLE_RC_E 设置为SAMPLE_RC_FIXQP,问题解决。开始设置为SAMPLE_RC_CBR...
2018-11-19 14:20:16
2498
转载 视频编码名词参数解释
GOP(Group of Pictures)策略影响编码质量:所谓GOP,意思是画面组,一个GOP就是一组连续的画面。MPEG编码将画面(即帧)分为I、P、B三种,I是内部编码帧,P是前向预测帧,B是双向内插帧。简单地讲,I帧是一个完整的画面,而P帧和B帧记录的是相对于I帧的变化。没有I帧,P帧和B帧就无法解码,这就是MPEG格式难以精确剪辑的原因,也是我们之所以要微调头和尾的原因。GOP 越长...
2018-11-19 14:08:21
1116
原创 tinyxml对xml简单的读写操作
背景:如果xml配置文件存在,直接读取配置,如果不存在需要创建一个xml文件,写入默认的配置的配置。判断xml是否存在#define CONFIG_FILE "conf.xml"void Config::initConfig(){ if(access(CONFIG_FILE, F_OK) != F_OK) { createFile(); }else ...
2018-11-15 14:28:36
1012
原创 Qt 中文跑马灯
直接上代码:textticker.h#ifndef TEXTTICKER_H#define TEXTTICKER_H#include <QWidget>#include <QLabel>#include <QString>#include <QTimer>#include <QPen>#include <QFon...
2018-11-07 17:19:19
1822
原创 tinyxml库LoadFile函数出错
TiXmlDocument doc;bool loadOk=doc.LoadFile("config.xml" );//加载文档if ( !loadOk ){ printf( "Could not load test file 'demotest.xml'. Error='%s'. Exiting.\n", doc.ErrorDesc() );}LoadFile ,提示出错。...
2018-10-30 15:06:28
5214
2
原创 QTableWidget获取一行数据
直接上代码:ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);ui->tableWidget->setSelectionMode(QAbstractItemView::SingleSelection);connect(ui->tableWidget, SIGNAL(cell...
2018-10-28 20:06:10
15229
原创 C++定义全局变量
1.创建一个.h和同名的.cpp文件在.h中声名extern int a ;关键字在于extern;在.cpp中定义int a ;2.别的类使用这个变量,只需要添加.h头文件,即可使用
2018-10-28 07:50:34
6268
1
原创 vs2015 安装破解版Visual Assist X
1.下载破解版的Visual Assist X 下载地址2.解压文件,安装VA_X_Setup3.用Crack目录下的VA_X.dll替换VA_X_Setup安装目录下的VA_X.dll4.用Crack目录下的VA_X.dll替换vs2015的目录,我的在C:\Users\Administrator\AppData\Local\Microsoft\VisualStudio\14....
2018-10-27 09:13:01
1702
原创 Ubuntu启动 filesystem check or mount failed
整Ubuntu输入法原因,系统不能正常启动了。黑屏显示Filesystem check or mount failed. A maintenance shell will now be started. CONTROL-D will terminate this shell and continue booting after re-trying filesystems. Any f...
2018-10-12 14:52:46
1230
原创 HI3521D 应用程序更改系统IP
正常思路是修改linux系统文件,海思HI3521D文件系统里面没有,也不做添加这些文件的尝试了。我的思路: 1.建立一个network.sh脚本#!/bin/shifconfig eth0 192.168.1.148 netmask 255.255.255.0route add default gw 192.168.1.1在启动文件/etc/init.d/rcS中,执行该...
2018-09-17 09:25:59
702
原创 HI3521D 系统(uboot,kernel,rootfs)打包成一个烧录文件
1.准备文件系统 a.在osdrv/pub/中有已经编译好的文件系统(rootfs_uclibc),因此无需再重复编译文件系统,只需要根据单板上flash的规格型号制作文件系统镜像即可。b.往rootfs_uclibc中,添加自己项目的应用程序,相关库,相关配置c.制作文件系统nand flash 信息:2KB pagesize、4bit ecc即:mkyaffs2imag...
2018-09-14 14:24:19
3755
1
原创 HI3521D 烧录128M nand flash文件系统
1.nand flash信息:SPI Nand(cs 0) ID: 0xef 0xaa 0x21 Name:"W25N01GV"Block:128KB Page:2KB Chip:128MB*1 OOB:64B ECC:4bit/512 2.准备工作 编译好的uboot,kernel,rootfs 我使用的是海思的u-boot-hi3521d.bin,uImage_hi3521d...
2018-09-12 13:48:08
2508
原创 视频压缩编码的一些概念
视频编码压缩的类型:1.无损压缩 无损压缩利用数据的统计冗余(数据之间的相关性和可预测性)进行压缩,以预测编码和熵编码为基础,可完全恢复原始数据而不引起任何失真,压缩比一般不超过10:1 无损压缩应用于一些特殊应用场合的图像数据如,指纹图像,医学图像等的压缩 2.有损压缩 有损压缩最主要的压缩措施是量化处理,合并和丢弃一些不重要的信息,在实际编码中,往往是有损压缩和无损压缩的综合使用,...
2018-09-09 21:36:05
1493
原创 c++ friend
C++中的friend关键字作用: 在一个类中用friend申明其他的类或函数,申明的类或函数能够直接访问该类中的private和protected成员。class Pack{ private: std::string data ; int size ; public: pack(std::string s_data,i...
2018-08-30 17:52:49
734
原创 ubuntu14.04 nfs配置portmap错误
具体的错误忘记了,与nfs的portmap相关。 解决办法: 把rpcbind设置成开机自启动,在setup中设置, 然后把/etc/init.d/rpcbind start 添加到/etc/rc.local中,重启系统。 再次查看就是running状态了...
2018-08-30 15:55:10
684
原创 ctime()函数
ctime函数在C库中,头文件为int main(){ struct timeval tvNow; gettimeofday(&amp;amp;amp;tvNow, NULL); static char timeString[9]; // holds hh:mm:ss plus trailing '\0' time_t tvNow_t = tvNow.tv_sec; ...
2018-08-30 10:52:48
7353
原创 python系列八 python类
相关概念面向对象编程是最有效的软件编写方法之一。 在python中创建一个类和对象是很容易的。 根据类来创建对象被称为实例化。而,什么是类,什么是对象? 类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例 对象:类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法创建和使用类我们创建一...
2018-08-22 23:09:09
235
原创 python系列七 python函数
1、函数定义: *函数是带名字的代码块,用于定义具体的工作 *需要在程序中多次执行同一项任务时,你无须反复编写完成该任务的代码,而只需定义一个执行该任务的函数,反复调用 *通过使用函数,程序的编写,阅读,测试和修复都将更容易定义一个简单函数def print_user(): print("Hello!")print_user()>>说明:...
2018-08-20 23:29:29
255
原创 UDP组播服务器
因为项目需要组播发送TS流,所以自己写了一个组播服务器。组播传输:数据发送者(源数据)将同一数据发送到多个接受者(组播组成员)。无论有多少个接受者,在整个网络链路上,只有一份该数据(在特殊场合,可以节省带宽,减少主干网络阻塞)。组播报文的目的地址使用的是D类IP地址(224.0.0.0到239.255.255.255)。使用组播时,注意参数,生命周期(TTL,Time to live)...
2018-08-19 18:27:29
3340
原创 python系列六 python结构语句
python语言跟别的语言一样(比如C语言)有三种结构化语句,分别为if,for,while。下面分别介绍: if语句 编程时,经常需要检查一系列条件,并据此条件成立与否去采取什么样的操作。在python中,用if语句检查当前条件的成立与否。 a. if conditional_test : do something 说明:...
2018-08-08 23:08:59
293
原创 python系列五 字典
dict:dict全称dictionary,在别的语言中叫Map,是一种使用键-值对的方式来存储数据,具有极快的操作速度,存储信息量几乎不受限制。使用{}来标识字典。下面介绍字典(定义,查询,增加,删除,修改...) 一个简单字典,比如根据学生的名字查找对应成绩 2.访问字典中的值 要获取与键相关联的值,可依次指定字典名和放在方括号[]内的键,如下...
2018-08-08 21:42:02
299
原创 程序一运行,就出现Segmentation fault
交叉编译后,运行程序,程序一运行,就出现Segmentation fault。在main函数开头加入打印调试,发现程序都没有进入main函数就出错。猜测:估计是类的初始化调用构造函数或者全局变量的初始化引起的错误。 一步一步的屏蔽,最终发现是一个全局变量分配的内存太大,引起的错误。...
2018-08-06 14:41:29
8402
原创 ffmpeg 静态库使用,undefined reference错误
home/3521dWork/3521dCode/hisiApp/ffmpeg/hisi_lib/libavformat.a(os_support.o): In function `resolve_host':/home/3521dWork/ffmpeg/ffmpeg-0.5/libavformat/os_support.c:69: warning: gethostbyname is obso...
2018-08-06 11:21:53
2791
3
原创 HI3521D外接audio codec转I2S音频采集
经过几天的不断的阅读文档,问人,尝试终于调试成功。反过来一想,原来如此简单。1.硬件原理图a.外接codec部分b.时钟MCLK部分,由海思提供c.海思对接codec部分 对原理图的理解:外接codec通过由海思GPIO9_3/I2S2_MCLK连接MCLK引脚提供时钟,I2S的SD,WS,BCLK线连接海思I2S0的SD,WS,BCLK。2.寄存器配...
2018-08-02 14:36:09
4739
7
原创 Qt Creator 配置.pro使多平台使用
因为做海思程序开发,部分程序又想在pc-linux上调试,于是配置pc,hisi-arm两个kit。在.pro中添加LIBS,有pc版本的库和海思版本的库。怎样我选择不同的kit的时候,能去选择链接相对应的库?在网上查找资料,找到一个实验成功的办法。 在.pro中定义一个宏,然后通过条件判断区分选择的kit。代码如下:INCLUDEPATH += glog/glogIN...
2018-07-20 11:15:49
1287
原创 glog日志库移植到海思3521d
1.下载glog,因为google访问不了,是在git下载的。2.解压glog-0.3.3.tar.gz3.配置configure,可以先./configure --help试试配置参数:./configure --host=arm-hisiv500-linux --prefix=/home/3521dWork/glog/hisi_glog4.编译并安装make &...
2018-07-19 17:28:29
715
原创 hi3521D编译ffmpeg
1.安装yasm这里我是直接通过ubuntu包安装的,当然也可以通过编译源码来安装。sudo apt-get install yasm2.下载FFmpeggit clone https://git.ffmpeg.org/ffmpeg.git3.配置configure./configure --target-os=linux --prefix=/home/3521dWork/...
2018-07-19 16:45:40
913
1
原创 海思3521D编译Qt5.2.1
1.下载Qt源码http://download.qt.io/archive/qt/5.2/5.2.1/single/2.安装海思SDK,编译链,参考海思文档。3.解压qt-everywhere-opensource-src-5.2.1.tar.gz4.创建qmake.conf,设置交叉编译工具链 a.进入/qt-everywhere-opensource-s...
2018-07-19 11:43:42
1670
Visual Assist X for 2008
2019-04-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人