FFmpeg开发笔记(七十二)Linux给FFmpeg集成MPEG-5视频编解码器EVC
MPEG-5是新一代的国际音视频编解码标准,像我们熟悉的MP3、MP4等音视频格式就来自于MPEG系列。MP3格式的说明介绍参见《FFmpeg开发实战:从零基础到短视频上线》一书的“5.2 MP3音频”,MP4格式的说明介绍参见《FFmpeg开发实战:从零基础到短视频上线》一书的“2.1.2 音视频文件的封装格式”。
MPEG-5有关视 ...
记一次ADL导致的C++代码编译错误
这篇文章主要讲讲c++的ADL,顺便说说为什么很多c++的IDE都会让你尽量不要include用不上的头文件。
和其他c++文章一样,这篇也会有基础回顾环节,所以不用担心看不懂,但读者最好还是得有c++的基础知识并且对c++11之后的内容有所了解。
好了,下面我们进入正题吧。
偶遇报错
最近工作收尾有了不少空闲时间,于是准备试试手头 ...
C++ 习惯RAII思想
什么是 RAII
RAII(资源获取即初始化,Resource Acquisition Is Initialization),作为 C++ 的一个重要编程范式,已经被贯彻于标准库的各个角落。RAII 的核心思想是将资源与类的生命周期绑定,RAII 类是针对内部资源封装的资源管理类。
RAII 有什么作用
RAII 的作用主要体现在:自动资源管理,异常安全,简化代码,提高可 ...
FFmpeg开发笔记(七十)Windows给FFmpeg集成AV1编码器libsvtav1
AV1是一种新兴的免费视频编码标准,它由开放媒体联盟(Alliance for Open Media,简称AOM)于2018年制定,融合了Google VP10、Mozilla Daala以及Cisco Thor三款开源项目的成果。据说在实际测试中,AV1标准比H.265(HEVC)的压缩率提升了大约27%。由于AV1具有性能优势,并且还是免费授权,因此各大流媒体平台更倾向使用AV1 ...
FFmpeg开发笔记(六十九)Windows给FFmpeg集成AV1编码器libaom
AV1是一种新兴的免费视频编码标准,它由开放媒体联盟(Alliance for Open Media,简称AOM)于2018年制定,融合了Google VP10、Mozilla Daala以及Cisco Thor三款开源项目的成果。据说在实际测试中,AV1标准比H.265(HEVC)的压缩率提升了大约27%。由于AV1具有性能优势,并且还是免费授权,因此各大流媒体平台更倾向使用AV1 ...
6.25小学期CPP基础语法记录:反转、字符串查找、稳定sort
💞 reverse函数
在 C++ 中,reverse 是一个非常常用的 STL 算法,用于就地反转序列中的元素顺序。它定义在 <algorithm> 头文件中。
🧩 函数定义
template <class BidirectionalIterator>
void reverse(BidirectionalIterator first, BidirectionalIterator last);
参数说明:
first:反转范围的起始迭代器(包含)。
la ...
Sciter.JS在Windows下的环境搭建过程
最近折腾了很多C++ GUI,感觉没有前端或者移动端的UI来的痛快~
最近找到了这个叫做 Sciter.JS 的可嵌入式的HTML/CSS/JS 引擎,
可以使用前端的逻辑来为C++程序写GUI!
这很有趣~
下面是在Windows X64平台使用 VS2022 与 Sciter.JS SDK 搭建 C++ HelloWorld的简单过程!
环境搭建过程
1. 下载Sciter.JS sdk
2. 解压SDK后设置 ...
技术书籍推荐(007):电子书免费下载
110. 【清华第四版】DeepSeek+DeepResearch——让科研像聊天一样简单 免费 电子书 PDF 下载
下载地址: http://t-book.sunlogging.com/2025/06/03/book/book_0110/
书籍简介: 《【清华第四版】DeepSeek+DeepResearch——让科研像聊天一样简单》系统解析了DeepSeek-R1推理模型与DeepResearch平台的核心能力,为科研工作者提 ...
继承、重载与多态
继承
继承是C++中的一个重要特性,它可以让我们从一个类的部分成员继承并新建立一个类,
class <派生类名> : <继承方式(public/protected/private)> <基类名>
例如:
//基类
class Animal{
eat();
sleep();
}
//派生类
class Dog : public Animal{
bark(); //此时Dog类就继承了Animal类的eat和sleep两个成员 ...
FFmpeg开发笔记(六十八)Windows给FFmpeg集成AV1解码器libdav1d
AV1是一种新兴的免费视频编码标准,它由开放媒体联盟(Alliance for Open Media,简称AOM)于2018年制定,融合了Google VP10、Mozilla Daala以及Cisco Thor三款开源项目的成果。据说在实际测试中,AV1标准比H.265(HEVC)的压缩率提升了大约27%。由于AV1具有性能优势,并且还是免费授权,因此各大流媒体平台更倾向使用AV1 ...
FFmpeg开发笔记(六十七)Windows给FFmpeg集成支持RIST协议的librist
《FFmpeg开发实战:从零基础到短视频上线》一书的“10.2 FFmpeg推流和拉流”提到直播行业存在RTSP和RTMP两种常见的流媒体协议。除此以外,还有比较两种比较新的流媒体协议,分别是SRT和RIST。
其中SRT全称为Secure Reliable Transport,中文叫做安全可靠传输协议。RIST全称为Reliable Internet Stream Transport, ...
2024百度之星题解 T2跑步
原题链接:跑步
关键词:数学、推公式、lcm、乘法逆元
算法分析:环形跑道相遇次数计算问题
一、最浅显性质分析
性质 a:跑 $ m = \text{lcm}{i|i \in [1,n]} $ 分钟。
其中 $ \text{lcm} $ 表示最小公倍数,$ m $ 为所有 1 到 n 的数的最小公倍数,确保时间足够覆盖所有周期。
性质 b:相遇一定是跑的快的追 ...
在Linux下使用wxWidgets进行跨平台GUI开发(三)
创建wxWidgets应用程序
在本文中,我们将了解创建wxWidgets应用程序所需的基础知识。首先创建一个简单的示例程序,展示如何显示图标;接着通过另一个示例演示事件的使用方法;最后探讨wxWidgets应用程序中控件之间的通信机制。
一个简单的应用程序
首先我们创建一个非常基础的wxWidgets程序。
// simple.h
#include <wx/wx. ...
协程本质是函数加状态机——零基础深入浅出 C++20 协程
前言
之前写过一篇 C++20 协程入门的文章:《使用 C++ 20 协程降低异步网络编程复杂度》,谈到了协程在消除异步编程 callback hell 方面的重要贡献——使代码更清晰,易于维护;以及 C++20 协程具有无栈、非对称等特性。无栈协程具有不受预分配栈空间约束、切换类似函数开销更小的优点,符合 C++ 语言设计原则中的 no paylo ...
【C++】读取配置文件工具类
开发环境及功能
开发环境:linux
开发语言:C++
编译工具:g++、cmake
调试:gdb
目的:使用C++实现一个读取配置文件的工具类,目的是读取key=value形式的配置,提高代码灵活性,解耦合。
实现
文件目录结构,未编译的目录
.
├── CMakeLists.txt
├── config.ini
├── include
│ └── ConfigReader. ...
2025-6-15模拟测验
自我评价:Tang 完了。
题解
题解中包含题面描述,但不包含大样例。
T1 怎么又是先增后减(why)
描述
青蛙又给了周欣一个长为 \(N\) 的正整数序列 \(A_i\),周欣可以进行若干次操作,每次可以选择一个位置 \(i\),满足 \(1 \leq i \leq N - 1\),将 \(A_i\) 的值和 \(A_{i+1}\) 的值进行交换。
设经过这若干次操作后的序列为 ...
FFmpeg开发笔记(六十六)Windows给FFmpeg集成LC3音频的编码器liblc3
《FFmpeg开发实战:从零基础到短视频上线》一书的第五章介绍了FFmpeg如何处理常见的MP3音频和AAC音频,其中MP3格式常用于音乐文件,而AAC格式常用于视频文件。
除此以外,近年又出现了专用于蓝牙音频的LC3格式,其全称是低复杂度通信编解码器(Low Complexity Communications Codec)。2020年9月15日,蓝牙技术联盟正式发 ...
使用wxWidgets进行跨平台GUI开发(附1)
补充说明wxWidgets在Windows下使用CMake的配置
wxWidgets官方提供了一个在Windows下使用CMake来构建wxWidgets库的方法,这样便于你自己用CMake构建项目。可参考源码包含的文档,这在下列这样的路径里:
..\wxWidgets-3.x.x\docs\doxygen\overviews\cmake.md
..\wxWidgets-3.x.x\samples\minimal\CMakeLists.txt
构建并生成C ...
FFmpeg开发笔记(六十五)Linux给FFmpeg集成LC3音频的编码器liblc3
《FFmpeg开发实战:从零基础到短视频上线》一书的第五章介绍了FFmpeg如何处理常见的MP3音频和AAC音频,其中MP3格式常用于音乐文件,而AAC格式常用于视频文件。
除此以外,近年又出现了专用于蓝牙音频的LC3格式,其全称是低复杂度通信编解码器(Low Complexity Communications Codec)。2020年9月15日,蓝牙技术联盟正式 ...
快速排序QuickSqrt
以下是我对快排的理解:
一.概念
快速排序采用分治法,每一次函数的递归都规定左右界限,并且以一个哨兵为基础,然后想办法让这个哨兵左边的值都小于哨兵,右边的值大于哨兵。
二.实现方法
其实就是不断挖坑的场景,在新的函数开始时,将取最左侧界限的值为哨兵,将它暂存起来,之后我们先从右到左寻找一个比哨兵小 ...