- 博客(17)
- 资源 (3)
- 收藏
- 关注
原创 websocket-fmp4播放器wsPlayer
websocket-fmp4播放器wsPlayer一、web视频播放器的现状与问题1、流媒体协议选型:主流流媒体协议归纳总结:协议名称网络传输协议延时编码类型HTML5支持情况RTSPTCP/UDP/组播0~3sH264/H265不支持,(RTSP over HTTP除外)RTMPTCP0~3sH264/H265(CodecID =12)不支持HLSHTTP短连接1~10sH264/H265video标签支持HTTP-FLVHTT
2022-04-23 19:51:31 13183 5
原创 Linux 进程崩溃打印堆栈
示例代码:#include <signal.h>#include <execinfo.h>void signal_handler(int signo) { int nptrs; void *buffer[1024]; char **strings; signal(signo, SIG_DFL); nptrs = backtrace(buffer, 1024); strings = backtrace_symbols(
2021-05-30 14:55:39 1505 1
原创 RTSP协议简介与实现
RTSP(Real Time Streaming Protocol)被广泛应用于安防行业,其主要特点是RTSP信令交互与HTTP协议相似,媒体层数据传输采用RTP/RTCP协议,支持UDP方式,实时性较好,协议扩展性较好。RTSP协议标准由IETF制定,协议文档:RFC2326RTSP拉流时序图[外链图片转存失败(img-hOChJnQu-1569320550228)(en-resource...
2019-09-24 18:23:06 1074
原创 Linux IO多路复用
阻塞IO 每来一个请求创建一个线程#include <stdio.h>#include <sys/socket.h>#include <string.h>#include <netinet/in.h>#include <unistd.h>#include <pthread.h>#include <asse...
2019-09-23 23:19:57 180
原创 hiredis使用案例-同步、Pipelining、异步
同步调用#include <stdio.h>#include <stdlib.h>#include "hiredis/hiredis.h"int main() { redisContext *c = redisConnect("127.0.0.1", 6379); if (c == NULL || c->err) { if...
2019-09-05 16:54:42 1093
原创 排序算法总结
插入排序:向一个有序数组a[n]中插入一个新元素x,使得新的数组a[n+1]依然是一个有序数组;算法实现思路:1、找到新元素x在有序数组a[n]中的大小位置:从有序数组a[0]开始循环,与x比较大小,当x小于数组中的值时,停止循环,记录数组下标index;2、将数组中大于x的数全部向后移动一个单位的长度;3、将新元素插入index所在的位置;代码实现:void insert_sort...
2019-08-21 09:53:17 348
原创 Linux下UDP Socket编程实例
server.c#include <stdio.h>#include <sys/types.h>#include <sys/socket.h>#include <string.h>#include <arpa/inet.h>#include <netinet/in.h>int main(int argc, ch...
2019-05-25 17:19:11 1272
原创 C++双缓冲队列实现
#pragma once#include <queue>#include <mutex>namespace Infra { template<class T> class DoubleQueue { public: explicit DoubleQueue(int max_capacity) ...
2019-05-24 11:44:25 2014
原创 RTSP URL正则表达式校验
rtsp url正则表达式校验rtsp://192.168.1.3对应:rtsp:\/\/\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}rtsp://admin:passward@192.168.1.3对应:rtsp:\/\/\w{1,20}:\w{1,20}@\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}...
2019-05-20 14:30:14 1999
原创 【设计模式-C++】单例模式
Singleton.h#pragma once#include <utility>template <typename T>class Singleton {public: template<typename... Args> static T* Instance(Args&&... args) { ...
2019-05-10 02:01:40 132
原创 Google C++编程规范
总结:在线手册:https://zh-google-styleguide.readthedocs.io/en/latest/google-cpp-styleguide/
2019-05-07 00:36:26 182
原创 Linux下TCP Socket编程实例
client.c#include <stdio.h>#include <sys/types.h>#include <sys/socket.h>#include <string.h>#include <unistd.h>#include <errno.h>#include <arpa/inet.h>...
2019-05-06 16:34:50 10960
原创 100行代码的简单视频播放器(ffmpeg4.1.3+SDL2.0.9)
100行代码的简单视频播放器#include <stdio.h>#include <signal.h>#include "SDL2/SDL.h"#include "libavformat/avformat.h"#include "libavcodec/avcodec.h"const char *stream_source = "/home/user1/tes...
2019-04-26 18:32:36 486
原创 台式机组RAID(SSD 256G*2 + RAID0)
(1)首先需要确定你的电脑主板是否支持RAID。(2)UEFI模式的U盘启动盘,用来安装Windows。(3)在 英特尔®快速存储技术 的官网下载RAID的驱动。(4)在BIOS界面设置RAID模式,使用RAID0模式。(5)安装Windows,在硬盘分区界面,加载RAID驱动。
2017-10-06 16:44:22 3695 3
原创 Qt4开发环境搭建(Qt4.8.7+mingw4.8.2+Qt Creator4.2.0)
一、选择Qt4.8.7的原因 本人从事嵌入式GUI开发,目前开源的UI框架,Qt是首选。 首先在Qt4和Qt5的选择上,个人看法:Qt4相对比较成熟,组件没有Qt5那么多,但Qt4能应对大多数GUI开发的需求,包括界面美化。 而Qt4.8.7又是Qt4的最后一个版本,同时能够在Qt官方找到指定的mingw版本。 其他原因,参考...
2017-05-14 16:36:38 17942 5
原创 海康威视推出业界首款Android系统的网络键盘:Android键盘与传统键盘对比
前两天,从海康威视官网的产品列表里发现海康推出了一款新的CMK(网络键盘 ),型号为DS-1600K(图1),看了一下产品简介和手册,使我对CMK、Android、海康等都有了新的认识。 首先不得不佩服作为行业老大的海康威视,在网络键盘这样一个单一的产品类别上,也能做出令人兴奋的产品。同时我搜了一下国内其他安防厂商的CMK,还没有发现运行Android系统的CMK,也找了
2017-02-26 00:04:38 1465
印象笔记留给你的空间 Evernote伴你成长__李参著_北京:电子工业出版社_P226_2016.06_14013192
2017-10-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人