摘要: 最近搞了个rtsp直播,初步是能用了,但是最终效果不是很好,客户不接受要求我们一定要继续优化。 原因是他们体验的时候发现会概率性出现马赛克和画面卡顿情况,经过我们测试验证,确实是有这个问题存在。 从原理上分析可能的原因有如下几个: 我们通过和App联调,将buf缓冲区改大了很多倍然后进行测试,发现效 阅读全文
posted @ 2019-03-28 15:49 mcdull^0^ 阅读(3127) 评论(0) 推荐(0)
摘要: 对于嵌入式设备来说用于显示的LCD总是千奇百怪,比如说明明是一个竖屏,但是客户却要当横屏使用,也就是意味着我们需要将整个屏幕上显示的内容旋转90度或者270度。 这个操作对于Android系统来说相当简单,系统有接口直接可以使用,但是在Linux上确实没找到可以这么干的接口,在我的实际项目中就经常遇 阅读全文
posted @ 2019-03-28 15:20 mcdull^0^ 阅读(3614) 评论(0) 推荐(0)
摘要: 最近项目需要一个类似于Android上广播通信机制,方便多进程间相互通信,可以是一对多,多对一,或者多对多。 大致如下 Linux现有的进程间通信能用的只有 管道 消息队列 信号量(这个还只能算同步机制) 套接字 但是这几种几乎都只能在两个进程间来回传递,如果要实现多进程间相互通信,需要自己实现一个 阅读全文
posted @ 2019-03-28 10:18 mcdull^0^ 阅读(2407) 评论(0) 推荐(0)
摘要: 当我们写好驱动模块的代码后下一步就是编译,如果我们想让他和内核的其他驱动一样自动化编译完成,我们只需要实现自己的Makefile 可以写成如下: 其中后面的 -m:表示编译成可装载模块,需要自己Insmod rmmod,比较灵活,适合调试或者升级替换,免除刷机。 -y:表示跟内核笔译在一起,成为不可 阅读全文
posted @ 2019-03-28 09:56 mcdull^0^ 阅读(658) 评论(0) 推荐(0)
摘要: 热插拔事件是从内核空间发送到用户空间的通知,一般这时候系统配置出现了变化,比如插入/移除耳机,插入/移除SD卡或者USB存储设备等。 热插拔事件默认会调用/sbin/hotplug来加载驱动程序,创建设备节点等。 如果执行该动作的不是/sbin/hotplug,比如,很多都用mdev来做热插拔的处理 阅读全文
posted @ 2019-03-27 16:57 mcdull^0^ 阅读(1412) 评论(0) 推荐(0)
摘要: wifi热点服务hostapd启动需要配置hostad.conf文件,其中有一个参数channel是用来配置信道的,信道的可选参数如下: 如果只是要配置正确在可选范围内随便填一个就可以了,但是如果需要选出一个当前环境下最优的一个信道,就需要动动手指了。 我们需要戒指iwlist工具来扫描一下,然后就 阅读全文
posted @ 2019-03-15 16:52 mcdull^0^ 阅读(3478) 评论(0) 推荐(0)
摘要: 之前在做一个rtsp直播需求,其中一个方案是要用的x264来对摄像头数据进行实时编码推流,摄像头帧率是25fps,为了验证方案的可行性,先对x264的编码速度进行一个测试研究,再确认是否要采用此方案。 我移植的x264是x264-snapshot-20180829-2245 作为实时流的编码有几个参 阅读全文
posted @ 2019-03-15 15:44 mcdull^0^ 阅读(901) 评论(0) 推荐(0)
摘要: 最近要搞一个直播服务,车机本身是个前后双路的Dvr,前路1080P 25fps,后路720P 50fps,现在要连接手机app预览实时画面,且支持前后摄像头画面切换。 如果要做直播,这个分辨率和帧率是非常艰难的,必须降低,经过考量之后先设定为480P 25fps,编码码率为512k看看效果再做优化。 阅读全文
posted @ 2019-03-15 14:42 mcdull^0^ 阅读(4076) 评论(1) 推荐(0)
摘要: 今天在交叉编译一个编解码库的时候,出现一个莫名其妙的报错,一直找不到原因,后来无意中删除了一个空格,才发现就是这个空格造成的错误。 出现报错如下 试了很多次只要不加LDFLAGS那一段是可以通过的。 后来注意到LDFLAGS后面的那个空格,觉得有可能有问题于是先把他去掉了,果然就通过了。 阅读全文
posted @ 2019-03-13 18:26 mcdull^0^ 阅读(2210) 评论(0) 推荐(0)
摘要: 今天在交叉编译某个编解码库过程中碰到一个configure错误 运行configure的时候设置了一些配置项目 运行结果报错如下: 从我的配置意图来看g++是配置给CPP也就是C++的编译器,C的编译器配置的是gcc,从报错信息来看明显是把我的C++的编译器配置给了C,以前这样配置没碰到这种错误,于 阅读全文
posted @ 2019-03-13 18:07 mcdull^0^ 阅读(2773) 评论(0) 推荐(0)