- 博客(14)
- 资源 (8)
- 收藏
- 关注
原创 树莓派更换国内源脚本
每次树莓派刷系统后,安装许多大一点的软件,使用默认的官方源速度都是特别的慢,比如安装qt。。。。。。然后我们一般就更换国内源,如阿里、清华等等,可是每次安装太麻烦了,还需要百度源链接,于是百度查找看有没有类似脚本直接运行./run.sh就能更换源,那岂不是非常舒服,于是真的找到了,脚本代码也挂github可下载。csdn链接:https://blog.csdn.net/baidu_26678247/article/details/103232369github地址:https://github.com
2021-01-20 15:11:15 479 2
原创 opengl——着色器基础
Background从这一节开始,我们要加入的所有效果都会使用 Shaders 来实现,Shaders 是进行三维图形学编程的先进方法,从某种意义上来说 Shader 的出现是图形学中的一种”退步”,因为在这之前所有的功能都直接由固定管线提供,而开发人员只需要为其指定参数(如光照属性、旋转角度等),但是由于 Shader 的出现这些功能现在都需要开发者自己通过 Shader 实现。尽管如此,这种可编程性能够提供给开发者更多的灵活性和创造性。OpenGL的可编程管线如下图所示:顶点处理器负责对传入渲染
2021-01-20 14:41:29 149
原创 ffmpeg学习指南
协议层http,rtsp,rtp,rtmp协议 rtcp,HTTP-FLV 等流媒体协议封装层熟悉MP4、FLV、HLS、TS、DASH等容器编解码层视频编解码:H263、H263+H264H265音频编解码:AACMP3熟悉常见的音视频压缩算法,能够对H.264/HEVC规范进行修改与优化。视频输入输出输入:摄像头、屏幕录制、URL、推送流输出:保存本地视频、显示方式(opengl,sdl等),网络流输出理论性知识熟悉YUV(多种区分),RGB图像格式。回
2021-01-19 17:02:59 160
原创 opengl——绘制三角形
Background这一节是非常短的。我们简单的扩展上一节的内容来画一个三角形。在这一节中我们再一次在规范化空间中安排我们的顶点坐标。能够看见的顶点一定要在盒子内部,这样视口矩阵才能将这些顶点映射到窗口可以看见的地方。当我们忽略 Z 轴时,我们看到的盒子如下图:点(-1.0,-1.0)是被映射到窗口的左下角,(-1.0,1.0)被映射到窗口的左上角等等。如果你将顶点的位置坐标扩展到这个盒子的外边,那么这个三角形将被截断同时你只能看到它的一部分。Source WalkthruVector3fVer
2021-01-19 09:16:57 353
原创 opengl——绘制一个点
背景这将是我们第一次遇到 GLEW,GLEW 是OpenGL的扩展功能库。它能帮助你解决OpenGL不断扩展的问题。一旦你初始化它之后,它在你的系统上将查询所有可用的扩展功能,自动的加载它们并且通过一个单一的头文件提供简单的接口。在这一节中,我们将第一次看见顶点缓冲区对象(VBOs)的使用。顾名思义,它们是被用来储存顶点数据的。加载顶点进入 GPU 最有效率的方法是 VBOs。它们是可以存储在显存中的缓冲区,使得 GPU 访问数据的速度最快。这一节和下一节的内容在这本教程中是唯一讲述固定管线而不是可编
2021-01-12 20:28:17 1840 1
原创 opengl——创建一个窗口
BackgroundOpenGL 标准没有指定任何用于建立和使用窗口的 API。在x系统中提供 OpenGL 的接口为 GLX。Windows 提供 WGL 而 MacOS 提供 CGL。为了建立一个能够显示图像的窗口,我们直接使用这些接口,这样就不用关心在不同操作系统中的具体实现细节。我们这里使用的库叫 ‘OpenGL utility library’ 简称 GLUT。它为窗口的管理、事件处理、IO 控制和一些其他的设备管理提供了一个简单的 API。此外,GLUT 是跨平台的,这使移植更方便。SDL 和
2021-01-12 20:14:05 545
原创 qt使用opengl绘制YUV数据图像
ffmpeg解码后数据为YUV类型数据,如果需要在界面显示,一种方法是使用ffmpeg将YUV转为RGB格式,然后绘制图像;另外一种是使用opengl将YUV转成RGB32后渲染到qt中显示,实现类如下:h文件#ifndef GLYUVWIDGET_H#define GLYUVWIDGET_H #include <QOpenGLWidget>#include <QOpenGLFunctions>#include <QOpenGLBuffer>#includ
2021-01-12 20:03:50 3312 14
原创 ffmpeg编码器使用
1、设置编码格式:AVCodecID codec_id = AV_CODEC_ID_H264;2、打开编码器(1)打开软件编码器isSucceed = openSoftEncoder(codec_id);(2)打开cuvid编码器isHardWareEncoderOpened = openHardEncoder_Cuvid(codec_id);(3)打开 qsv编码器isHardWareEncoderOpened = openHardEncoder_Qsv(codec_id);3、
2021-01-11 21:45:14 1475 2
原创 ffmpeg解码器使用
目录1、确定解码器类型2、获取解码器3、打开解码器4、进行解码1、确定解码器类型单解封装后得到视频流信息,我们可以从第一帧视频(音频)流信息中获取编码格式,从而确定解码器。(1)定位第一帧音视频流信息使用循环的方式查找,找到后break退出,代码如下: int videoStream = -1; int audioStream = -1; for (int i = 0; i < pFormatCtx->nb_streams; i++) //循环查找视频中包含
2021-01-10 18:47:52 2107
原创 ffmpeg结构体分析
链接:https://blog.csdn.net/leixiaohua1020/article/details/14214859/
2021-01-07 17:25:20 119
原创 ffmpeg函数、结构体介绍
函数或结构体目录1 avcodec_init()函数2 av_register_all()函数3 avformat_alloc_context()函数4 avformat_free_context()函数5 AVFormatContext 结构体6 AVIOContext 结构体7 avio_alloc_context()函数8 av_open_input_file()函数9 av_close_input_file()函数10 av_find_stream_info()函数11 avcodec_find_d
2021-01-01 11:30:20 830
qt翻译文件与Execl互转工具
2022-04-02
Advances in Swarm and Computational Intelligence_
2019-04-09
基于opencv的车牌号识别思路教程
2018-08-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人