自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

无极生太极

记录学习和工作编程点点滴滴

  • 博客(25)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 误触鼠标滚动滑轮,QSpinBox/QSlider/QComboBox值跟随滑动变化BUG

误触鼠标滚动滑轮,QSpinBox/QSlider/QComboBox值跟随滑动变化BUG。最简便的方法:通过重写QT原生的内置函数,即可解决。

2023-06-29 10:19:42 706

原创 QT 字符串转十六进制,一般用到上位机比较多

#include <QCoreApplication>#include <QtDebug>int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); QString testStr("2022040600010001"); QByteArray hexArray; for( int i = 0; i < testStr.size(); i++ ) {

2022-04-19 09:19:30 2148

原创 FFMPEG封装文件逻辑和流程

*封装文件逻辑和流程和相应的FFMPEG函数封装逻辑AVFormatContext* out_ctx;先申明封装信息上下文avformat_alloc_output_context2(&out_ctx,NULL,NULL,out_file);//创建输出文件空间,根据即将输出的文件名、获取封装信息上下文AVFormatContextAVStream *st = avformat_new_stream(out_ctx,NULL);//添加音视频流avcodec_parameters_c

2021-12-02 11:15:06 481

原创 ICE工作原理

ICE工作原理ICE是什么ICE Candidate 是什么Candidate类型Candidate关系图收集CandidateICE具体做些什么ICE是什么ICE Candidate 是什么Candidate类型主机候选者就是host;中继候选者就是turn服务器;反射候选者就是内网映射外网;Candidate关系图(1) 、内网X:x 映射到外网的X1:x1,外网X1:x1经过中继服务器turn到Y:y,然后到 to internet(2)、另外一端从to interne.

2021-04-05 18:29:48 563

原创 STUN协议笔记

STUN协议笔记STUN协议是什么STUN用在那些场合STUN协议格式STUN协议是什么你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。STUN用在那些场合我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式

2021-04-05 11:35:57 292

原创 jrtplib库介绍和思维导图

接WebRtc底层传输模块RTP/RTCP协议知识光有理论知识是不够得,只有理论话,觉得自己少点什么,心理有种不踏实得感觉,哈哈哈。加上实践,才会对这些理论知识有更深得理解。经过我得“翻箱倒柜”发现RTP/RTCP开源项目有如下live555、jrtplib、ortp。live555是古老庞大得流媒体提供解决方案的跨平台的C++开源项目,因为历史原因代码被修改了面目全非,很难入手;ortp是C语言项目比较小巧,性能也很棒;jrtplib是C++开源项目,代码看起来整齐优美,应该可以学到不少东西呢。那就从

2021-01-18 11:52:00 770 2

原创 WebRtc底层传输模块RTP/RTCP协议知识

哈喽,大家好,我又来了。前段时间在学WebRtc,刚开始在想这个玩意该如何学习呢?1,先从接口学起呢?2,还是从开源代码学起呢?3,还是直接从核心技术学起然后从WebRtc里面扣下来。1和2是从上往下学习;3是从下往上学习。觉得还是3学起来价值更高,更有效率。关于WebRtc是什么,就不用多做介绍了,网上一大堆。它是实时通信解决方案,也是一种实时流媒体各种协议和规则最新标准。咱们先从传输数据通信协议学起吧,WebRtc采用得是UDP->RTP/RTCP作为传输模块的一部分,负责对发送端采

2021-01-11 10:44:35 983 1

原创 ffmpeg 推流MP4文件,采用rtmp协议

本程序ffmpeg版本是:ffmpeg version 3.2.4 Copyright © 2000-2017 the FFmpeg developers。不同ffmpeg版本会稍微有点不同,比如最明显ffmpeg 4.0和ffmpeg 3.0少了一些注册类函数(如:av_register_all())还有编解码函数方式等。本程序是经过ffmpeg 推流FLV文件,采用rtmp协议这个例子修改而来的。下面分二部分:一、和上面例子有那些区分;二、源代码分享一、和上面例子有那些区分;1、赋值配置.

2020-12-09 21:54:20 3833 2

原创 ffmpeg 推流FLV文件,采用rtmp协议

想看懂这个代码需要掌握以下音视频基础知识1、音视频时间基是什么?FFMPEG之TimeBase成员理解补充:封装/解封装、编码/解码、采集/显示这三个层面中的taimeBase是代表不同的意思的,需要通过转换才可以进行上下层的交互。2、ffmpeg中对AVRational结构体理解ffmpeg # AVRational假如一秒25帧就是1/25;那么换算成每毫秒25帧就是1000* 1 /25 = 1000/25;换算成每微妙25帧话就是1000*1000/25(每一毫秒等于1000微妙)。.

2020-12-02 15:47:11 1994

原创 浮点32位的16进制转10进制问题

BUG问题是:正确结果应该是这样QByteArray rev_data("\x12\x03\x00\x43\x6C\x19\x9A\xAD\xF2");QByteArray getHex = rev_data.toHex();qDebug()<<getHex; //输出为:"120300436c199aadf2"QByteArray rev_data("\x00\x20\x01\x43");QByteArray getHex = rev_data.toHex();qDeb

2020-12-01 17:17:28 282 2

原创 ffmpeg muxing.c demo 流程图和源代码

/* * Copyright (c) 2003 Fabrice Bellard * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including..

2020-10-21 15:18:12 293

原创 ffmpeg avio_reading.c 例子流程图

ffmpeg avio_reading.c例子讲解,从视频文件数据读到内存里面

2020-10-20 15:14:45 135

原创 ffmpeg demo decode_video.c例子流程图

(ffmpeg库 decode_video.c例子详解,对例子代码进行注释,以助于理解)源代码

2020-10-20 11:18:46 463

原创 ffmpeg库 decode_video.c例子详解,读取视频编码文件后解码每帧保存为pgm图像

/** * @file * video decoding with libavcodec API example * * @example decode_video.c */#include <stdio.h>#include <stdlib.h>#include <string.h>#include <libavcodec/avcodec.h>#define INBUF_SIZE 4096/* example fo..

2020-10-16 19:45:11 848

原创 ffmpeg avio_reading.c例子讲解,从视频文件数据读到内存里面

需要用到变量初始化 AVFormatContext *fmt_ctx = NULL; AVIOContext *avio_ctx = NULL; uint8_t *buffer = NULL, *avio_ctx_buffer = NULL; size_t buffer_size, avio_ctx_buffer_size = 4096; char *input_filename = NULL; int ret = 0; struct buffer_data

2020-10-15 20:39:18 670

原创 最新OBS整体框架思维导图(目前已经更新到OBS 26版本了)

通过思维导图来展示OBS整体框架下面是简略图,会不清楚.更新到最新版本了,也就会有最新的技术产生。下面是最新版的OBS界面;最底部是高清版OBS思维导图…下面高能,请注意了…...

2020-09-18 18:06:37 1247

原创 手把手教你刨析obs源代码,以obs图像为例。

下面是这个以图像为例,把图片显示到obs界面上,连绵不断得代码流程讲解。(播放视频、录屏、游戏捕捉、显示屏捕获等都是类似得流程代码)教程的函数调用关系图。通过这个教程再加上这个关系图,可以很清楚明白里面的逻辑关系和思想。下面是完整的图...

2020-09-04 15:25:24 1202

原创 最新得obs启动运行后初始化函数关系图

在obs-app.cpp文件中int main(int argc, char *argv[])函数下面主要分二大部分:obs命令参数解析和run_program();run_program()函数是obs运行软件包括界面一切得开始。一切得obs软件初始化意思尽在图中。哪里不明白了,请在评论区咨询;哪里有错误得,也请多多指点,我会及时纠正。如下图:...

2020-08-25 20:47:51 365

原创 以图像为例,把图片显示到obs界面上,连绵不断得代码流程讲解。(播放视频、录屏、游戏捕捉、显示屏捕获等都是类似得流程代码)

点击图中图像,会触发的信号鼠标点击其中任何一个,比如图像,就会触发这个槽 //创建图像源,设置属性、图标、连接信号和槽。鼠标点击这个图像后,就会触发AddSourceFromAction()这个槽 auto addSource = [this, getActionAfter](QMenu *popup, const char *type, const char *name) { QString qname = QT_UTF8(name); QAction *popupIte.

2020-08-21 17:57:04 947

原创 自定义OBS插件开发教程

文章目录obs插件介绍插件分类插件分类对应具体插件名字从零开发obs插件例子1)、必须包含头文件为libobs/obs-module.h2)、目录结构3)、插件编译安装工具和配置4)、插件必须包含头文件和宏5)、Sources 源类插件6)、Outputs 输出类插件7)、Encoders 编码类插件8)、Services 服务类插件9)、设置10)、属性11)、本地化OBS 插件 C语言实现多态思想源码和教程obs插件介绍几乎所有功能都是通过插件来完成,插件样式可以是动态库或者是脚本(LUA

2020-08-05 19:52:44 4142 5

原创 OBS-Studio模块加载(从界面到逻辑代码分析),由浅到深

OBS-Studio 主界面主界面中‘来源’下拉框,这些下拉框就是obs中得模块插件模块插件路径在下图所示,直接往这个路面里面添加dll和pdb格式文件,软件启动后,会自动加载进去。dll格式文件是模块里面全部函数实现方法,pdb是存放这个模块里面数据,是属于数据库类文件。加载模块过程流程图运行界面->.ui文件->控件对应了槽这个加号对应了控件是actionAddSource,点击这个控件对应了槽是AddSourcePopupMenu()实现Create.

2020-07-29 17:19:09 875 3

原创 音视频名词解释

帧率首先帧率的单位是:FPS简写:P“如30fps和30p指的都是每秒钟播放30张图片的意思”。刷新率

2020-07-29 12:04:27 575

原创 使用ffmpeg把视频文件拆分成多张ppm格式图片

使用ffmpeg把视频文件拆分成多张ppm格式图片#include <stdio.h>#include "libavcodec/avcodec.h"#include "libavformat/avformat.h"#include "libavutil/pixfmt.h"#include "libswscale/swscale.h"///现在我们需要做的是让SaveFra...

2020-07-29 12:03:31 635

原创 阉割版BeagleBone Black从SD卡运行Debain操作系统

阉割版BeagleBone Black从SD卡运行Debain操作系统大家好,我是无极。这是我第一次写博客,有点小紧张。在此我来记录一下从领导给我安排在阉割过的BBB板子上运行Debain操作系统吧,我还是硬件新手哦,对硬件真的一点都不太了解。我就称为这个领导为gu吧。gu给我一个阉割的BBB板子,这个板子上只有简单的接口。让我通过pc下面的来安装运行Debain操作系统。首先gu让我通...

2020-03-07 15:34:19 2835 1

原创 BBB零碎得小知识

一、rom:初始化cpu,把uboot放到内存运行uboot:初始化一部分硬件,把内核放到内存中运行二、1,矿机的uboot是放到flash里面,sd卡插进去,只是检测sd卡里面的有没有内核和操作系统然后把内核和iso加载到内存里面去。若遇见官方的uboot话,应该会自动加载进去吧。所以自己编译uboot并不会在bbb板子上运行,也不起作用。因为蚂蚁矿机的uboot已经运行到内存上了,...

2020-03-07 15:33:48 370

GSL(应用数学和科学技术领域軟件庫) V2.7.1 的MinGW Release动态库,可供QT5直接使用

testGSLRun.zip 包里面有 编译好的GSL数学库,QT5.14编译GSL使用demo工程(直接打开.pro就可以直接测试使用) 平台 : windows10

2022-09-13

最新的webrtc工具包 depot_tools.tar.gz (适合windows版的)

depot_tools是谷歌开发工具包,官网国内下载不了。depot_tools主要是用来编译WebRtc源码和更新源码用的。亲测可用~

2021-01-18

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

TA关注的人

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