![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
音视频
文章平均质量分 85
WenCoo
擅长linux下软件开发,qt,ffmpeg音视频二次开发。
展开
-
opengl日记31-opengl实现贴图效果
手机app随意读取用户通讯录,就是流氓行为,即使有时候弹窗提示是否授权,选择了否,但是他其实还是悄悄读取你的通讯录,并且随便给你的通讯录好友发推广信息,这一点是非常反感的,并且也触犯了用户的权益,这不仅是流氓行为,更是违法行为,某软件就不说了。精简软件开发,电脑性能越来越好,打出的程序安装包越来越大,磁盘,内存越吃越多,这不是好现象,手机同理,大家觉得呢,欢迎发表看法,各抒己见。vscode使用remote的情况下,如何支持qt类型的值显示啊,有没有,有没有解决方案,兄弟们谁晓得啊。原创 2024-05-15 15:16:36 · 750 阅读 · 0 评论 -
wencoo个人的博客目录索引-更新
精简软件开发,电脑性能越来越好,打出的程序安装包越来越大,磁盘,内存越吃越多,这不是好现象,大家觉得呢,欢迎发表看法,各抒己见。欢迎各位叨扰作者,如果有什么项目合作,创业合伙需要研发,网站推广等等,尽管来联系,对于能挣钱的事,作者可是很感兴趣的哦。前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。欢迎加微信,搜索"wencoo824",进行技术交流,备注”博客音视频技术交流“劝大家一句,不要内卷,内卷只能害了别人,害了自己。原创 2024-04-02 11:02:25 · 1005 阅读 · 2 评论 -
libass分析8-源码分析-libass处理event中{}的逻辑
由于笔者的水平有限, 加之编写的同时还要参与开发工作,文中难免会出现一些错误或者不准确的地方,恳请读者批评指正。精简软件开发,电脑性能越来越好,打出的程序安装包越来越大,磁盘,内存越吃越多,这不是好现象,大家觉得呢,欢迎发表看法,各抒己见。欢迎各位叨扰作者,如果有什么项目合作,创业合伙需要研发,网站推广等等,尽管来联系,对于能挣钱的事,作者可是很感兴趣的哦。前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。劝大家一句,不要内卷,内卷只能害了别人,害了自己。原创 2024-03-22 17:58:37 · 791 阅读 · 0 评论 -
opengl日记23-opengl文字渲染-渐变色-教程示例
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。在文字渲染的基础上,增加了文字颜色的变化,从固定色变为渐变色,代码在。原创 2024-03-06 09:54:40 · 439 阅读 · 0 评论 -
opengl日记12-opengl坐标系统
之前注意到需要把下面两个头文件引入放在头文件的最前端,否则报错,今天发现,不仅这两个头文件需要放在最前端,而且引入顺序也不能更改,否则同样会报错,有函数找不到世界空间的变换(模型矩阵)物体的坐标将会从局部变换到世界空间;该变换是由模型矩阵(Model Matrix)实现的。模型矩阵是一种变换矩阵,它能通过对物体进行位移、缩放、旋转来将它置于它本应该在的位置或朝向。所以,局部空间到世界空间的变换可以用以下函数实现,只要最后得到一个mat4类型的结构就可以所以,这里我们可以引申一下,就是。原创 2024-03-21 16:56:28 · 512 阅读 · 0 评论 -
opengl日记11-opengl的transformtions变换示例
对于矩阵变换效果,如果静态变换效果,例如旋转30度,可以将矩阵变换数据放置在绘制流程之外(while外面),如果是动态变换效果,例如连续旋转,则需要将矩阵变换数据放置在绘制流程内(while内)静态效果std::cout原创 2024-03-21 10:08:13 · 292 阅读 · 0 评论 -
opengl日记10-opengl使用多个纹理示例
使用多个纹理,则需要定义多个纹理,读取多个图片数据std::cout原创 2024-03-20 17:57:59 · 938 阅读 · 0 评论 -
opengl日记9-opengl使用纹理示例
在这个例程中,使用了索引缓存对象EBO,使用了这个对象,就需要使用函数来绘制图像,如果不使用EBO,而用进行绘制,则会报段错误如果不使用EBO,则绘制图像则需要使用函数来绘制图像使用了EBO,则需要做如下操作来支持//定义绘制顶点的顺序//内存拷贝//定位各个点偏移位置的关系//根据索引对象进行绘制如果在你的绘制区域出现全黑的框,可能是纹理图片没有正确的加载,在这里正确的顺序是:纹理的定义–读取纹理图片。原创 2024-03-20 11:01:59 · 350 阅读 · 0 评论 -
opengl日记8-opengl创建三角形
在这个小示例,看着教程去码也是出了很多的错误,并且花费了很长的时间,去理解那些个概念,但依然有的操作不能够理解,总算磕磕碰碰显示出来了吧使用之后需要删除的对象有创建的着色器(2个),数组对象(2个),着色器程序(1个),以及关闭窗口程序glfwTerminate()原创 2024-03-19 14:05:31 · 384 阅读 · 0 评论 -
opengl日记7-ubuntu20.04开发环境opengl拓展glfw和glad环境搭建
版权声明:本文为CSDN博主「leon1741」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。版权声明:本文为CSDN博主「小强的机器人工坊」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。版权声明:本文为CSDN博主「小强的机器人工坊」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。最后将glad/src目录下的glad.c文件拷贝一份到你的工程源码目录下,如跟main.cpp文件在同一个目录下。原创 2024-03-19 14:04:26 · 1885 阅读 · 0 评论 -
opengl日记28-opengl之c语言版本的glm库cglm编译使用教程
opengl中会使用到glm库,glm是一个c++实现的库,在一个c程序中是不能够使用的,所以要有c语言的替代版本,于是找到了cglm库,下面来了解一下cglm这个如何使用,是否能满足需求。但是此代码放在程序中是不能够正常使用的,经过不懈的排查,终于发现了问题所在,原来glm库中的ortho函数与cglm库中的glm_ortho实现不一样,导致不能够正常显示opengl内容。很明显,cglm库的ortho函数实现有6个参数,与c++库中的不一样,不能够直接使用,需要自己实现。至此,此程序经过验证,可用。原创 2024-03-15 10:28:55 · 665 阅读 · 0 评论 -
opengl日记27-opengl报错ERROR::SHADER::PROGRAM::LINKING_FAILED
由于笔者的水平有限, 加之编写的同时还要参与开发工作,文中难免会出现一些错误或者不准确的地方,恳请读者批评指正。上面的报错,是说顶点着色器语法错误,但是明明这个着色器文件在另一个程序中是没有什么报错的,现在怎么就报错了,我的程序就是基于那个程序修改来的啊。第二次,按照上面的方法不管用了,最后将version后面的core去掉后,程序编译过了,变得正常了。发现一次将着色器文件中的空白行,还有注释删除后,程序编译过了,变得正常了。出现报错,分析:报错信息不足,补充报错信息,修改printf内容。原创 2024-03-14 17:04:56 · 524 阅读 · 0 评论 -
ffmpeg日记4001-原理介绍-视频切割原理
这里的操作是将一种视频格式切割,之后生成的视频是同样的格式,所以直接是参数的复制即可,如果要生成另一种格式的视频,应该要单独设置设置输出视频格式的参数。原创 2024-03-11 11:26:27 · 460 阅读 · 0 评论 -
libass分析6-源码分析-ASS_Renderer结构体分析,ass文件数据是如何存放的
我们现在整体细致的分析了ass_renderer结构的数据内容,发现里面结构体很多,并且不同的结构体里面有相同的字段,目前还不清楚两个不同结构体中相同字段是否一样,有没有什么不同,下一篇文章继续慢慢分析。由于笔者的水平有限, 加之编写的同时还要参与开发工作,文中难免会出现一些错误或者不准确的地方,恳请读者批评指正。如果读者有任何宝贵意见,可以加我微信 wencoo824。原创 2024-03-08 17:07:08 · 858 阅读 · 0 评论 -
libass分析5-源码分析-ASS_Track结构体分析,ass文件数据是如何存放的
以上,就是ASS_Track结构体的所有数据内容,该数据内容中,包含了ass文件中所有解析数据,至少我们从代码层面是这么看的,如果要看更加具象的数据流存储,可以通过代码调试来看看数据到底是怎样的。原创 2024-03-06 09:57:40 · 434 阅读 · 0 评论 -
opengl日记19-opengl文字渲染-教程示例
由于笔者的水平有限, 加之编写的同时还要参与开发工作,文中难免会出现一些错误或者不准确的地方,恳请读者批评指正。如果读者有任何宝贵意见,可以加我微信 wencoo824。前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。欢迎加微信,搜索"wencoo824",进行技术交流,备注”博客音视频技术交流“正确编译完成之后,需要在有显示器的桌面上进行运行,然后查看实现效果。的实现,不多说,直接上代码。原创 2024-01-22 16:41:33 · 531 阅读 · 0 评论 -
libass分析1-源码分析-起源-源码编译
由于笔者的水平有限, 加之编写的同时还要参与开发工作,文中难免会出现一些错误或者不准确的地方,恳请读者批评指正。如果读者有任何宝贵意见,可以加我微信 wencoo824。下载源码,版本:release 0.17.1 (released 2023-02-26)在目录结构中,找到test目录,其中有test.c的示例程序,下面进行编译运行。欢迎加微信,搜索"wencoo824",进行技术交流,备注”博客音视频技术交流“读取ass文件,生成图片。创建build目录,原创 2024-01-11 21:34:42 · 429 阅读 · 0 评论 -
ffmpeg学习日记619-指令-透明通道视频相关指令
只能封装为webm,argb数据转yuva420后编码。只能封装为mov,不可以封装为mp4。可以封装为 mp4、mov等。原创 2023-12-04 22:15:01 · 1835 阅读 · 0 评论 -
ffmpeg学习日记614-指令-获取文件时长
ffmpeg学习日记614-指令-获取文件时长。原创 2023-12-04 22:13:11 · 952 阅读 · 0 评论 -
ffmpeg学习日记121-视频-各种图片转yuv
这其中有一个功能点需要注意,不同的图片格式封装算法不同,所以解码使用的解码器也不同,我现在不清楚什么格式对应什么解码器,所以采用通过id的方式来查找解码器,是一种靠谱的行为。图片的解码方式和视频解码是一样的,因为视频是由一副一副的图片组成的,只不过视频的帧会前后参考,而图片是单独的一帧的格式封装。使用ffplay进行播放查看,需指定格式。原创 2023-06-19 10:59:55 · 922 阅读 · 0 评论 -
ffmpeg学习日记29-使用vscode调试ffmpeg源码
disable-stripping 注意一定要加–disable-stripping, 如果不加此选项,ffmpeg在编译时,会使用strip去掉符号信息。ffmpeg版本ffmpeg-4.1.10。–enable-debug 设置调试级别。创建launch.json文件,内容如下。在源码中打断点,查看是否进入调试模式。原创 2023-05-30 22:31:42 · 1032 阅读 · 0 评论 -
ffmpeg学习日记122-视频-获取视频的解码器,yuv格式名称,理解编码格式,封装格式,yuv格式的关系
所以,我想要将png图片直接封装成mp4是不可以的,需要解码,解码之后得到的是png的yuv格式数据,需要将png格式的yuv数据(带透明通道)转换成yuv420的格式数据,才能够将编码封装成的mp4正确播放,否则生成的mp4播放内容是错误的。原创 2023-05-30 22:28:51 · 374 阅读 · 0 评论 -
ffmpeg学习日记122-视频-获取视频的解码器,yuv格式名称,理解编码格式,封装格式,yuv格式的关系
所以,我想要将png图片直接封装成mp4是不可以的,需要解码,解码之后得到的是png的yuv格式数据,需要将png格式的yuv数据(带透明通道)转换成yuv420的格式数据,才能够将编码封装成的mp4正确播放,否则生成的mp4播放内容是错误的。原创 2023-05-25 17:59:00 · 544 阅读 · 0 评论 -
ffmpeg日记1011-过滤器-语法高阶,逻辑,函数使用
实现的是2秒后logo从左到右移动,参数释义if(gte(t\,2)\,((t-2)*80)-w\,NAN) : 对水印坐标x的处理80 移动的距离,单位像素从这条命令中,可以看到,控制logo移动的重点设置在x的值设置,很明显,这其中涉及到特定的语法,本文的重点,就是来看这个特定的语法到底是如何定义的,怎样使用。有些过滤器支持通用的启用选项。对于支持时间轴编辑的过滤器,可以将此选项设置为在向过滤器发送帧之前求值的表达式。如果评估值非零,过滤器将被启用,否则帧将被原封不动地发送到过滤器图中的下一个过滤器。原创 2023-05-19 20:52:24 · 487 阅读 · 1 评论 -
ffmpeg学习日记101-视频-MP4提取YUV数据,每一帧保存为pgm图片
ffmpeg学习日记101-视频-MP4提取YUV数据,每一帧保存为pgm图片。原创 2023-05-18 10:43:23 · 549 阅读 · 0 评论 -
ffmpeg学习日记513-源码-configure_filtergraph()函数分析及功能
template_tagsffmpeg-4.1.10fftools/ffmpeg_filter.c参数释义fg:传入过滤图的结构体指针返回值:正确返回0,失败返回原创 2023-05-04 10:02:00 · 679 阅读 · 0 评论 -
ffmpeg学习日记512-源码-ubuntu20.04下源码编译
重新编译,由于我知道ffmpeg,所以禁用ffplay和ffprobe。提示缺少pkg-config。编译完成,执行命令验证。到此,源码编译完成。原创 2023-05-04 09:57:46 · 214 阅读 · 0 评论 -
ffmpeg学习日记612-指令-转换视频格式
ffmpeg学习日记612-指令-转换视频格式。原创 2022-12-16 21:13:54 · 699 阅读 · 0 评论 -
ffmpeg学习日记607-指令-将mp4视频转yuv
将mp4视频转yuv原创 2022-12-03 21:18:53 · 748 阅读 · 0 评论 -
ffmpeg学习日记606-指令-将视频转为全I帧
将视频转为全I帧原创 2022-12-03 21:18:30 · 631 阅读 · 0 评论 -
ffmpeg学习日记605-指令-获取视频的总帧数
获取视频的总帧数原创 2022-12-03 21:17:09 · 1871 阅读 · 0 评论 -
ffmpeg学习日记604-指令-将视频格式转为H264格式
将视频格式转为H264格式原创 2022-12-03 21:16:38 · 5639 阅读 · 0 评论 -
ffmpeg学习日记603-指令-获取视频分辨率
获取视频分辨率原创 2022-12-03 21:15:54 · 2138 阅读 · 0 评论 -
ffmpeg学习日记602-指令-转换视频的分辨率
指令-转换视频的分辨率原创 2022-12-03 21:15:32 · 774 阅读 · 2 评论 -
ffmpeg学习日记601-指令-视频裁剪,添加bgm合成mp4
# 实现功能:1. 截取视频片段2. 将截取的视频合成视频3. 将视频添加bgm,合成成品mp4原创 2022-12-03 21:14:26 · 510 阅读 · 0 评论 -
ffmpeg学习日记702-报错-包含‘PRId64‘的报错
报错-包含'PRId64'的报错原创 2022-11-11 11:51:17 · 501 阅读 · 0 评论 -
ffmpeg学习日记701-报错-co located POCs unavailable
报错-co located POCs unavailable原创 2022-11-11 11:50:28 · 3580 阅读 · 0 评论 -
ffmpeg学习日记509-源码-从ffmpeg 源码提取编码的流程分析
目标通过前面对源码的分析,写出了源码分析501,502,503三遍文章,算是初步了解了ffmpeg源码的运行流程,可以是我们在网上查找资料发现,网上提供的编解码流程很是清晰明了,似乎是提取提炼过得,所以我们接下来比对网上提供的编解码流程,来查看源码,在源码中找到提炼的痕迹。已总结好的编解码流程avformat_open_input 打开媒体文件avformat_find_stream_info 初始化AVFormatContext_匹配到视频流的indexavcodec_find原创 2022-05-21 22:45:04 · 302 阅读 · 0 评论 -
ffmpeg学习日记508-源码-ffmpeg --help 汉化
$ ffmpeg --helpffmpeg version 4.2.4-1ubuntu0.1 Copyright (c) 2000-2020 the FFmpeg developers built with gcc 9 (Ubuntu 9.3.0-10ubuntu2) configuration: --prefix=/usr --extra-version=1ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --in原创 2022-05-21 22:44:27 · 429 阅读 · 0 评论 -
ffmpeg学习日记506-源码-av_image_copy()函数分析及功能
ffmpeg学习日记506-源码-av_image_copy()函数分析及功能实现文件av_image_copy()实现在libavutil/imgutils.c中函数原型void av_image_copy(uint8_t *dst_data[4], int dst_linesizes[4], const uint8_t *src_data[4], const int src_linesizes[4], enum AVPi原创 2022-05-21 22:43:41 · 1093 阅读 · 0 评论