自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不成名的博客

主攻多媒体视频会议方向

  • 博客(24)
  • 资源 (8)
  • 收藏
  • 关注

原创 minio 使用aws c++ 多线程下载

C++ 下载 Minio 文件,多线程使用minio

2023-03-28 15:20:04 657

原创 超低延时直播rtmp推流

项目起源: 改项目主要是基于类qt av的模式,快速集成, 将ffmpeg融入到插件当中, 并提供本地的音频设备和视频设备的查找输出, 并可以采集各类虚拟摄像头, 酷狗直播助手/YY开播/6K Box等助手,有些助手比如酷狗,ffmpeg采集不到640*480的视频,采集模块我更换成webr关键代码int FFRtmpMuter::OpenVECodec(){ hlogi("[%p] Call %s Start.", this, __FUNCTION__); //...

2020-10-05 14:20:16 2303

原创 Qt低延时/可集成嵌入的网络播放器 –soundTouch的使用

背景在观看直播的过程中,保不齐网络出现卡的现象,可能导致音频数据包累积了好几秒的数据,这时候要么丢直接播放新的, 要么直接播放基音, soundTouch可以加速播放并不要变调主要技术点soundTouch 的输入void CXAudioPlay::sound_touch_put(uint8_t *audio_buf, int data_size, int nb){ for(auto i = 0; i < data_size / 2 + 1; i++) { .

2020-07-10 09:22:43 627

原创 Qt低延时/可集成嵌入的网络播放器 --设计初衷

需求做一个类似QtAv的,集成到qt widget中很方便 占用资源小,并且可以集成到多个widget当中去主要技术点使用ffmpeg读取rtmp流 使用 SDL 或者QopenGL渲染视频 使用soundtouch 对声音进行处理 使用libao进行播放项目集成方式 //集成方案,new SRVideoWidget , 将SRVideoWidget 嵌入到已有的widget上面去 SRVideoWidget *m_vo = new SRVideoWidg..

2020-07-09 18:38:17 283

原创 云台控制协议总结(VISCA/PELCOD/PELCOP)

2020-06-30 19:44:03 7066

原创 gb 28181的20位编码简介

举例:36030000042000000003设备的20位编码组成国标编码由中心编码(8位)、行业编码(2位)、类型编码(3位)、网络标识(1位)和序号(6位)五个段共20位十进制数字组成。系统编码 =中心编码(8位) + 行业编码(2) + 类型编码(11-13位) + 序号(最后7位)类型编码:常见:200----中心服务器111----DVR118—NVR----不同...

2019-02-15 17:41:35 15007

原创 海康和大华NVR 遇到的一些问题

1. 流格式的结构不一样 有些大华设备的流并不是以PS头作为取一帧的前提, 要以Mark位为结束标识有些大华设备的流取一帧要判断下一个ps头,把之前的数据作为一帧 2. 录像目录结构不太一样大华的录像目录并不会给filepath, 海康的会给当前的filepath 交流qq群:227919596 (gb28181交流合作)...

2019-02-15 17:20:08 2813

原创 gb28181 服务对外发布结构

结构将NVR和sip服务器要放在同级域中, 然后其他服务可以在外网,这样可以在外网获取到NVR的流和消息 交流qq群:227919596 (gb28181交流合作)  ...

2019-02-15 17:09:29 577

原创 gb28181提供的功能

功能根据项目需要暂时使用了以下功能:一. 跟NVR相关操作1.0获取当前服务器有几个nvr注册进来1.1 通过Nvr 的20位码获取NVR的具体信息二. 跟摄像头相关的操作2.0 获取当前的nvr下有几个camera 网络摄像机2.1 通过Camera的DevID获取camera的具体信息三.获取实时流3.0 获取当前的nvr下某个camera 的流3.1 关闭当前的...

2019-02-15 14:37:40 2235

原创 rtsp简单介绍

一.  介绍Rtsp 即realtime stream protocol,它是应用层协议, 可以控制流的(暂停/继续/后退/前进等), 二.  两种方式分为:1.       RTP/AVP/UDP2.       RTP/AVP/TCP RTP/AVP stand for RTP A/V Profile 具体采用什么方式由客户端的Setup命令确定需要媒体...

2019-01-29 14:57:04 810

原创 webrtc libjingle worker thread

概述worker thread 可以理解为一种数据流的顺序执行的帮衬, 不会堵塞任务执行。使用 worker thread的类包括ChannelManager,SocketMonitor,P2PTransportChannel 和 属于Port类的对象等。该线程是用于处理大工作量的方法,可能还需要按照顺序执行, 其本质类似工作队列的方式,此线程内的方法可能会处理很长时间,如网络消息等。工作队列参照

2017-09-02 15:22:07 508

原创 intel gpu 解码

背景在linux上使用intel的gpu加速解码h264,根据以往的经验往往需要将intel gpu的demo集成到我们自己代码当中, 但是这样局限性很大, 每一代的gpu加速的修改, 我们代码都需要调整,得不偿失。封装接口接口类class SRH264DecInterface{public: virtual int InitDecode() = 0; virtual int

2017-08-18 17:46:25 2109 1

原创 webrtc sigslot 使用以及源码分析

背景在使用webrtc的时候,我们会看到使用sigslot,那什么是sigslot就是我们所说的信号与槽, qt使用的。 webrtc中的Sigslot 是Sarah Thompson 设计实现的C++ 事件处理的框架,这套框架非常轻量级,全部代码只有一个sigslot.h 文件,其设计也非常出色,最大限度的将事件和处理机制解耦, 并且保证了线程安全. 在WebRTC中, sigslot是其基础的

2017-07-11 14:50:04 811

原创 多进程的一种场景

多进程执行一段程序std::vector<pid_t> pid_vector; pid_vector.clear(); pid_t p; int i = 0; for (i = 0; i < process_no; i++) { //创建进程 p = fork(); if (p == 0 || p == -1)

2017-07-08 11:10:48 368

原创 多线程的一种场景

多线程执行一段程序void* say_hello(void* args){ int tid = *((int*)args); printf("i = %d\n", tid); //printf("process yuv %s h264 %s\n",yuv_input[i].c_str(),h264_output[i].c_str());}// 线程的运行函数,函数返回的是函

2017-07-08 11:09:26 324

原创 intel GPU加速在linux 上测试, 多路编码

背景我使用的机子的配置Intel(R) Core(TM) i5-5250U CPU @ 1.60GHz 4核 8G内存 120G硬盘 测试方式, 使用intelGPU 1080p yuv 数据文件, 读取编码并写到264文件中, 这里涵盖了IO操作测试命令举例suirui@suirui:~/github/intelencode/bin$ ./EncodeVideo ./EncodeVideo

2017-07-07 18:45:21 1625

原创 在linux 环境中封装intel硬编

背景在linux上使用intel的gpu加速编码h264,根据以往的经验往往需要将intel gpu的demo集成到我们自己代码当中, 但是这样局限性很大, 每一代的gpu加速的修改, 我们代码都需要调整,得不偿失。封装接口class H264IntelEncode{public: H264IntelEncode(); ~H264IntelEncode(); int Rel

2017-07-07 14:20:13 578

原创 MediaServerStudioEssentials2017R2版本安装

安装依赖sudo apt-get install -y preload libpciaccess-dev libpthread-stubs0-devsudo apt-get install -y compizconfig-settings-managersudo apt-get install -y subversion git git-svn gcc g++ make cmake nasms

2017-07-07 14:19:23 1164

原创 linux 内核3.14.5 编译成deb

安装需求软件sudo apt-get install -y build-essential kernel-package libncurses5-dev内核的下载网址:www.kernel.orgwget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.14.5.tar.xz解压内核tar -xf linux-3.14.5.tar.x

2017-07-07 14:18:26 3724

原创 开发实现C++ RTMP直播拉流播放器

背景该直播播放器的背景是来源于 《拉流推流服务器设计》的一个分支,它的重点是把拉下来的流进行解码显示播放。设计点要实现跨平台, 目前支持的平台linux和windows要模块化和结构化可以拉各个平台的直播流要音视频同步基于上面的设计点大体的一个结构图这里的音频播放是一个抽象类,windows版本实现是libao,linux版本实现是alsa视频显示用的SDLclass AudioOu

2017-06-24 16:15:47 7203 1

原创 开发实现C++ RTMP直播推流sdk

前言rtmp即Real Time Messaging Protocol(实时消息传输协议)的首字母缩写,它是由Adobe公司提出的一种应用层的协议,用来解决多媒体数据传输流的多路复用(Multiplexing)和分包(packetizing)的问题。 目前现在流行的是直播技术, 大部分都是采用该协议;本文档重点用C++开发实现了RTMP直播推流sdk部分,并使之跨平台通用。 简单的结构如下:主要

2017-06-24 16:14:01 6614

原创 拉流推流服务器设计

背景该服务器也是基于一个客户的需求产生的。客户那边使用的是腾讯的直播sdk, 将不同终端的流推到腾讯云平台, 但是又想推到其他平台, 基于此需求,该产品产生了。该产品通讯协议使用的是WebSocket, 客户端可以自己定义可以拉腾讯云平台的直播流并把它推送到其他平台上要实现1对多即一个拉流对应多个推流要实现多对多, 即同时可以多个拉流, 没个拉流又是1对多设计主体结构根据之前的背景,大体的

2017-06-24 16:08:38 3988

原创 librtmp 编译

windows平台Librtmp 目前依赖的库有zlib-1.2.8 和polarssl-1.2.0-gpl, 编译方式:编译 zlib-1.2.8, 官网:http://zlib.net 1、打开“Visual Studio 命令提示(2013)”,为了使用VC2013的缺省系统配置参数; 2、切换目录到zlib-1.2.8\contrib\masmx86,并执行脚本bld_ml32.bat,此

2017-06-24 16:05:31 1182

原创 多线程任务队列MulitiThreadJob实现

一. 背景我们在应用程序中,要完成一些异步工作, 同时在异步工作中又要尽量少用switch case, 这时task任务继承方式就可以达到效果。我们可以在作业队列中分配或添加任务,然后作业队列负责完成任务。这里的工作队列可以是多线程的,也可以是单线程的。本文采用的是多线程的实现,单线程的可以@me。开源:https://git.coding.net/clzhan/MulitiThrea

2017-03-12 15:30:29 2089

直播拉流推流测试demo

该测试demo主要用于测试拉流 和 推流, 其代码类qt av 集成方便,推流的延时也很低,直播拉流的延时也很低

2020-10-05

云台控制协议.ppt

改文档主要针对工作当中的问题,总结了各个协议的流程,和各个协议的使用字节所对应的关系,并使用伪代码来抽象了各个协议

2020-06-30

protocol.zip

云台控制封装,主要是对Visca/PelcoP/PelcoD的协议抽象,整体使用C++实现,具体介绍参考博客

2020-06-30

国标gb28181 抓包

国标信令抓包, 可以查看自己的信令是否使用正确,

2019-04-16

GB-T28181规范调研报告

GB-T28181规范调研报告 调研的报告, 说明文档, 简单介绍

2019-02-15

Rtsp client 连接

rtsp 客户端代码, 可以接收H264, 并写文件,测试通过

2018-12-17

系统架构师2013-2015

系统架构是2013-2015真题答案, 可以修改自己的答案, 重点练习

2018-12-17

linux-syscall-support

linux-syscall-support 编译breadpad 使用

2017-04-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除