会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Loading
Suiyek's Blog
学而时疑之,不亦说乎?
博客园
首页
新随笔
联系
订阅
管理
1
2
下一页
2021年12月9日
Windows下搭建FFmpeg开发调试环境
摘要: 背景 如果你是一个FFmpeg的使用者,那么绝大部分情况下只需要在你的程序中引用FFmpeg的libav*相关的头文件,然后在编译阶段链接相关的库即可。 但是如果你想调试FFmpeg内部相关的逻辑,或者分析FFmpeg源码,那么有一个可供单步调试FFmpeg的环境往往能使你事半功倍! 要说Windo
阅读全文
posted @ 2021-12-09 22:17 Suiyek
阅读(2365)
评论(3)
推荐(4)
2021年11月14日
Linux下搭建FFmpeg开发调试环境
摘要: 背景 如果你是一个FFmpeg的使用者,那么绝大部分情况下只需要在你的程序中引用FFmpeg的libav*相关的头文件,然后在编译阶段链接相关的库即可。但是如果你想调试FFmpeg内部相关的逻辑,或者分析FFmpeg源码,那么有一个可供单步调试FFmpeg的环境往往能使你事半功倍。 步骤 本文将介绍
阅读全文
posted @ 2021-11-14 22:45 Suiyek
阅读(2299)
评论(0)
推荐(0)
cgdb | 一起边看源码边调试gdb吧
摘要: 简介 cgdb是一款轻量级的基于gdb的命令行可视化工具,关系大致如下: 尽管gdb本身可以通过layout src的命令显示源码布局,但是其功能还是过于简陋。 使用cgdb并不需要你重新去学习过多额外的命令,你依然可以像原来使用gdb一样去使用它。 安装 直接系统安装(可能非最新版本): sudo
阅读全文
posted @ 2021-11-14 22:39 Suiyek
阅读(5363)
评论(0)
推荐(0)
2021年10月10日
[FFMpeg] 非标准分辨率视频Dump YUV注意事项
摘要: 背景 做视频编解码相关开发的过程中我们经常会遇到要把视频原始YUV数据保存下来查看的情况。 使用FFMpeg对视频解码之后原始图片数据都是保存在AVFrame这一结构中,很多时候我们都按照图像的长宽来对数据进行保存,这在绝大部分标准分辨率中都是可行的,因为图像的宽度在内存中能刚好满足CPU的字节对齐
阅读全文
posted @ 2021-10-10 20:44 Suiyek
阅读(545)
评论(0)
推荐(0)
2021年2月22日
FFMpeg源码浅读 —— AVRational
摘要: 定义 定义于:<libavuitl/rational.h> /** * 有理数的定义. */ typedef struct AVRational{ int num; ///< Numerator int den; ///< Denominator } AVRational; 相关函数: 在数学的数集
阅读全文
posted @ 2021-02-22 12:10 Suiyek
阅读(997)
评论(0)
推荐(0)
2021年1月14日
[RTMP] 国内各大视频直播CDN厂商推流抢流行为分析
摘要: 背景 当存在一个推流客户端正在向rtmp://xxx.com/live/yyy推流时,又有另外一个推流客户端同时对这个地址进行推流,会发生什么呢? 查阅了 Adobe RTMP Spec 发现规范本身并未说明和定义这个场景下RTMP服务器应该怎么处理。 最近在实际工作中遇到部分客户对推流地址资源管理
阅读全文
posted @ 2021-01-14 21:42 Suiyek
阅读(1026)
评论(0)
推荐(2)
2020年12月20日
调试docker build过程中出错的Dockerfile
摘要: 原理 当我们执行docker build命令使用Dockerfile构建一个新的镜像时,docker内部的构建过程大致如下: 从基础镜像运行一个容器; 执行一条指令,对容器做修改; 执行类似docker commit的操作,生成一个新的镜像层; Docker会再基于刚刚提交的镜像运行一个新容器; 重
阅读全文
posted @ 2020-12-20 17:40 Suiyek
阅读(4626)
评论(0)
推荐(1)
[翻译] FFmpeg Filters Documentation
摘要: 注:本文是我在学习FFmpeg Filters Documentation过程中的中文翻译笔记,为避免英译中过程中一些死板的字面意思引起读者错误理解,有时候我还会加上一些个人注解,若有不同见解,请最好参考原文档学习。本翻译仅供参考,转载请注明! 1. 简介 本文档将描述由libavfilter库提供
阅读全文
posted @ 2020-12-20 17:23 Suiyek
阅读(449)
评论(0)
推荐(0)
gcc编译阶段打印宏定义的内容
摘要: 背景 总所周知,代码量稍微大一点的C/C++项目的一些宏定义都会比较复杂,有时候会嵌套多个#if/#else判断分支和一堆#ifdef/#undef让你单看代码的话很难判断出宏定义的具体内容。 如果有一种机制能够帮助我们在构建期间打印出宏的实际内容,就能帮我们更快地捋清楚代码逻辑。 message
阅读全文
posted @ 2020-12-20 17:12 Suiyek
阅读(9485)
评论(0)
推荐(1)
使用gitlab-runner本地验证.gitlab-ci.yml
摘要: 背景 在gitlab上配置新项目的CI的时候,需要编写项目的 .gitlab-ci.yml 文件。 每次修改 .gitlab-ci.yml 文件之后都要执行git push让GitLab去构建来验证当前的CI脚本是否能正确构建,甚是麻烦,同时增加了很多无营养的Git提交。 若我们能够在修改完.git
阅读全文
posted @ 2020-12-20 16:18 Suiyek
阅读(3458)
评论(0)
推荐(1)
1
2
下一页
公告