1

FFmpeg开发笔记(六十九)Windows给FFmpeg集成AV1编码器libaom

​AV1是一种新兴的免费视频编码标准,它由开放媒体联盟(Alliance for Open Media,简称AOM)于2018年制定,融合了Google VP10、Mozilla Daala以及Cisco Thor三款开源项目的成果。据说在实际测试中,AV1标准比H.265(HEVC)的压缩率提升了 ...

aqi00 发布于 2025-06-28 12:54 评论(0) 阅读(64)
1

FFmpeg开发笔记(六十八)Windows给FFmpeg集成AV1解码器libdav1d

​AV1是一种新兴的免费视频编码标准,它由开放媒体联盟(Alliance for Open Media,简称AOM)于2018年制定,融合了Google VP10、Mozilla Daala以及Cisco Thor三款开源项目的成果。据说在实际测试中,AV1标准比H.265(HEVC)的压缩率提升了 ...

aqi00 发布于 2025-06-22 12:22 评论(0) 阅读(208)
3

FFmpeg开发笔记(六十七)Windows给FFmpeg集成支持RIST协议的librist

​《FFmpeg开发实战:从零基础到短视频上线》一书的“10.2 FFmpeg推流和拉流”提到直播行业存在RTSP和RTMP两种常见的流媒体协议。除此以外,还有比较两种比较新的流媒体协议,分别是SRT和RIST。 其中SRT全称为Secure Reliable Transport,中文叫做安全可靠传 ...

aqi00 发布于 2025-06-21 11:55 评论(0) 阅读(132)
2

FFmpeg开发笔记(六十六)Windows给FFmpeg集成LC3音频的编码器liblc3

《FFmpeg开发实战:从零基础到短视频上线》一书的第五章介绍了FFmpeg如何处理常见的MP3音频和AAC音频,其中MP3格式常用于音乐文件,而AAC格式常用于视频文件。 除此以外,近年又出现了专用于蓝牙音频的LC3格式,其全称是低复杂度通信编解码器(Low Complexity Communic ...

aqi00 发布于 2025-06-15 11:42 评论(0) 阅读(158)
0

FFmpeg开发笔记(六十五)Linux给FFmpeg集成LC3音频的编码器liblc3

​《FFmpeg开发实战:从零基础到短视频上线》一书的第五章介绍了FFmpeg如何处理常见的MP3音频和AAC音频,其中MP3格式常用于音乐文件,而AAC格式常用于视频文件。 除此以外,近年又出现了专用于蓝牙音频的LC3格式,其全称是低复杂度通信编解码器(Low Complexity Communi ...

aqi00 发布于 2025-06-14 15:44 评论(0) 阅读(100)
1

Linux c 运行时获取动态库所在路径

记录一下如何在Linux环境下运行时获取动态库路径。 只讨论Linux amd64和arm64环境,因为使用的办法都是平台相关的不具备可移植性。 准备 一般来说动态库并不需要关心自己所在的文件系统上的路径,但业务有那么多总有一两个会有特殊需求。 现在给定一个动态库里的函数A,需求是要知道这个函数A是 ...

apocelipes 发布于 2025-06-09 00:18 评论(0) 阅读(256)
0

FFmpeg开发笔记(六十四)使用国产的RedPlayer播放器观看网络视频

​RedPlayer是小红书基于FFmpeg4.3研发并开源的国产播放器,它可运行于Android和iOS系统,既支持播放本地视频文件,也支持播放网络上的流媒体链接。有关FFmpeg在Android平台的集成说明参见《FFmpeg开发实战:从零基础到短视频上线》一书的“第12章 FFmpeg的移动开 ...

aqi00 发布于 2025-06-08 11:30 评论(0) 阅读(210)
3

FFmpeg开发笔记(六十三)FFmpeg使用vvenc把视频转为H.266编码

​前面的两篇文章分别介绍了如何在Linux环境和Windows环境给FFmpeg集成H.266的编码器vvenc,接下来利用ffmpeg把视频文件转换为VVC格式,观察新生成的vvc视频能否正常播放。 确保Linux系统已经按照《FFmpeg开发实战:从零基础到短视频上线》该书第一章的“1.2 Li ...

aqi00 发布于 2025-06-07 13:10 评论(0) 阅读(244)
1

FFmpeg开发笔记(六十二)Windows给FFmpeg集成H.266编码器vvenc

​《FFmpeg开发实战:从零基础到短视频上线》该书的第八章介绍了如何在Windows环境给FFmpeg集成H.264和H.265的编码器,如今H.266的编码器vvenc也日渐成熟,从7.1版本开始的最新FFmpeg源码已经支持H.266的编码器vvenc。 H.266是H.265的升级版本,H. ...

aqi00 发布于 2025-06-02 12:12 评论(0) 阅读(230)
0

select和poll

select函数 原理 select通过一个文件描述符集合(fd_set)来监控多个文件描述符。它会检查这些文件描述符是否准备好进行读、写或异常操作。fd_set是一个位数组,每个位对应一个文件描述符。select会扫描这个数组,检查每个文件描述符的状态。 使用方法 使用FD_SET宏将文件描述符添 ...

LRadian 发布于 2025-05-26 21:05 评论(0) 阅读(32)
1

FFmpeg开发笔记(六十一)Linux给FFmpeg集成H.266编码器vvenc

​《FFmpeg开发实战:从零基础到短视频上线》该书的第一章介绍了如何在Linux环境给FFmpeg集成H.264和H.265的编码器,如今H.266的编码器vvenc也日渐成熟,从7.1版本开始的最新FFmpeg源码已经支持H.266的编码器vvenc。 H.266是H.265的升级版本,H.26 ...

aqi00 发布于 2025-05-25 12:58 评论(0) 阅读(325)
0

HTTP协议-获取天气-使用JSON

在使用http获取到天气信息之后,使用JSON对获取到的天气信息进行解析,解析出温度数据 /************************************************************************** * * 设计http程序,客户端向心知天气发送获取天气的请 ...

LRadian 发布于 2025-05-21 17:06 评论(0) 阅读(52)
0

HTTP-获取天气-dns版

直接使用心知天气的域名获取天气信息,并将温度信息转换成整型输出 /************************************************************************** * * 设计http程序,客户端向心知天气发送获取天气的请求,并解析出收到的温度数据 ...

LRadian 发布于 2025-05-20 19:37 评论(0) 阅读(30)
1

C语言做题知识点总结

目录C语言做题易错及知识点总结重要!!!负数在计算机中的存储:重要!!!计算机内部的存储特殊情况128变量范围man手册的使用重要!!! 格式化输出(1) 标志字符 (必须放在%说明符后面)(2) 转换精度(3)长度修饰(4) 转换说明转义字符的输出需要加\1. 用双反斜杠 \ 输出单个反斜杠2. ...

Arroyol 发布于 2025-05-16 17:04 评论(0) 阅读(104)
0

线程优先级相关函数

任务优先级 Linux系统中任务优先级分为两种:一种是静态优先级,一种是动态优先级 静态优先级指的是任务一旦设置好优先级之后就不能再改变,相当于是任务本身的属性,优先级范围是0~99,优先级数值越大则优先级越高。 普通任务的优先级是0,系统任务的优先级是1~99 pthread_attr_setin ...

LRadian 发布于 2025-05-12 20:34 评论(0) 阅读(39)
0

线程相关函数-信号量

POSIX信号量 信号量分为匿名信号量和具名信号量两种 匿名信号量 sem_init函数 该函数可以对POSIX匿名信号量进行初始化。 int sem_init(sem_t *sem,int pshared,unsigned int value) //sem:由sem指向的匿名信号量的地址 //ps ...

LRadian 发布于 2025-05-12 09:47 评论(0) 阅读(13)
0

线程相关函数-读写锁

读写锁 ptehread_rwlock_init函数 此函数可以对一个读写锁进行初始化操作 pthread_rwlock_t rwlock = PTHREAD_RWLOCK_INITIALIZER int ptehread_rwlock_init(pthread_rwlock_t *rwlock , ...

LRadian 发布于 2025-05-12 09:04 评论(0) 阅读(26)
0

读写锁练习

程序中有3个线程,主线程A创建一个文本,每隔6s获取一次系统时间并写入到该文本中,另外两个线程B和C分别从文本中读取当前的时间和日期,子线程B输出系统时间”hh:mm:ss”,子线程C输出系统日期”2025年05月9日”,使用读写锁实现互斥。 /*************************** ...

LRadian 发布于 2025-05-09 15:14 评论(0) 阅读(29)
0

线程相关函数

pthread_create函数 此函数可以创建一个线程 int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine)(void *), void *arg); //thread:该参 ...

LRadian 发布于 2025-05-09 09:31 评论(0) 阅读(35)
0

信号量结合共享内存练习

设计程序,进程A专门创建一个信号量集,要求信号量集中有1个信号量,对信号量集合中的信号量进行设置,要求集合中的信号量的初值为1,然后再设计2个程序,分别是进程B和进程C,要求进程B和进程C使用进程A创建的信号量集合中的信号量实现互斥访问。进程B对变量进行+1操作,写入共享内存,进程C读取共享内存的数 ...

LRadian 发布于 2025-05-08 17:12 评论(0) 阅读(17)