上半年结束,下半年继续冲!

news/2024/11/15 1:33:58/

前言:

这周直播也把雷神写的Ffmpeg推流器讲解完了,而一同时,一转眼间,2023年已经过半,正式进入了下半年:

6108fb9c6ca0f18f002dfbdf715f18e6.png a50af1cf49eaf54a30891862a9bd75d2.png

因为上半年已经开始在做解析Ffmpeg 最新版本的源码,所以下半年,我会继续坚持讲解Ffmpeg的源码,这个是下半年的重点学习方向!

我相信大家做过安防监控的朋友,对于编解码或多或多少都有了解,但是从我自己的经历来看,对这块的开发,远远不够,原因无他,工作当中接触的比较浅。所以下半年趁着周末空闲时间,坚持深入学习Ffmpeg 源码!

下半年详细规划:

在之前的一段时间里面,我已经把常见的结构体已经讲解完了:

88cb086b3a0b6efea85a866973c04b6c.png f515c32d07fc29fb8eebb64ad740a361.png a895327146097e93c450ce7635c745e0.png 3d6583573dd6a988c2c23a89bf7bc985.png 737afe32d6ecd8915e6542cac70e11b6.png 068300f9e86ccc2ffadb1672985124e8.png e2d25d88ed1889edff82687bd0b41597.png

为什么讲解这些结构体,主要原因是,你开发的时候,脑袋里面至少要有印象,我要开发这个功能,需要用到哪些模块相关的结构体,以及结构体里面对应的成员;这些东西不要死记硬背,大脑里面有印象就行,等你真正在开发过程中,用的多了,写的多了,自然熟能生巧了,也就记住了!

然后对于一些常见接口,比如:

avformat_open_input()avformat_find_stream_info()av_log_set_level()avformat_write_header()avcodec_alloc_context3avcodec_receive_frame()avio_open2()

上面这些是我简单归纳的一些接口;我想说的是,这些接口源码实现解析,也是下半年会专门去讲解的,原因无他,一个是学习那些大神前辈如何写的优秀代码和思想,一个是加深印象,也就是对这个接口的传参和作用要有非常深的印象就行!

ok,接下来,最为重要的一个部分,就是播放器这块,我会专门讲解ffplay.c这块的源码:

61424a514cd553f03a066d737a909a96.png

播放器毫无疑问,在做音视频开发过程,非常重要,这其中就涉及到编码和解码以及如何设计优秀的代码,而且之前常说的,音视频不同步问题,我们可以一起来学习ffplay.c是如何设计的!

不过在讲解这个之前,我会最新来讲解libavcodec模块:

f02506878fce88317069d91f38657f5d.png

先把编解码的东西详解讲解一下,再去讲解ffplay就会很轻松!

最后,这个就是下半年的一个规划:

  • 1、接口源码讲解

  • 2、libavcodec模块讲解

  • 3、ffplay.c播放器源码讲解

下面是最新讲解的推流器视频讲解,当然大家感兴趣的话,可以关注我的视频号,每周都在视频号上进行直播讲解Ffmpeg源码:

最后,一起加油,一起进步,冲!!!


http://www.ppmy.cn/news/714786.html

相关文章

Flutter 引入包import的各种含义,及常用命名规范

一、import含义 import dart:xxx; 引入Dart标准库 import xxx/xxx.dart;引入相对路径的Dart文件 import package:xxx/xxx.dart;引入Pub仓库pub.dev(或者pub.flutter-io.cn)中的第三方库 import package:project/xxx/xxx.dart;引入自定义的dart文件 impo…

基于html的漫画静态网站设计

目 录 摘 要 1 第一章 引言 2 1.1研究背景 2 1.2研究意义 2 第二章 漫画网站设计概述 2 2.1选题的目的和意义 3 2.2课题研究的主要简介 4 第三章 具体实现与分析 4 3.1静态设计 4 3.2站点的建设与收集素材 4 3.2.1创建本地站点的具体操作步骤如下: 4 3.2.2收集素材&…

python接口自动化(十二)--https请求(SSL)(详解)

简介 本来最新的requests库V2.13.0是支持https请求的,但是一般写脚本时候,我们会用抓包工具fiddler,这时候会 报:requests.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590) 小编…

TextMining day1 电力设备运维过程中的短文本挖掘框架

电力设备运维过程中的短文本挖掘框架 III. 短文本挖掘框架的具体设计A. 预处理模块的具体设计B. 数据清洗模块的具体设计C. 表示模块的具体设计D. 数据分析模块的具体设计 IV. 案例研究A. 基于文本分类的缺陷程度判断B. 基于文本检索的缺陷处理决策 V. 结论 预处理 首先&#x…

Agilent/HP 8753D网络分析仪 30kHz-6GHz

性能特点: *频率范围:30kHz~3或6GHz *带有固态转换的集成化S参数测试装置 *达110dB的动态范围 *快的测量速度和数据传递速率 *大屏幕LCD显示器加上供外部监视器用的VGA输出 *同时显示所有4个S参数 *将仪器状态和数据存储/调用到内置软盘驱动…

一文了解Docker之网络模型

目录 1.Docker网络 1.1 Docker网络模型概述 1.2 Docker网络驱动程序 1.2.1 host模式 1.2.2 bridge模式 1.2.3 container模式 1.2.4 none模式 1.3 Docker网络命令示例 1.3.1 创建一个自定义网络 1.3.2 列出所有网络 1.3.3 连接容器到网络 1.3.4 断开容器与网络的连接…

2022 基于SpringBoot的API文档管理系统 接口文档管理系统

2022 基于SpringBoot的API文档管理系统 预览地址:http://apisystem.liuyanzhao.com 详细介绍地址:2022 基于SpringBoot的API文档管理系统 接口文档管理系统 | 言曌博客 代码地址:GitHub - saysky/ApiSystem: SpringBoot的API文档管理系统 …

JavaWeb企业在线文档管理系统

扫码学习 本项目使用JSP、Servlet技术进行开发,项目主要是完成一个企业在文档管理的功能,不同的员工登录后会显示不同的菜单,操作的权限会根据用户属于的角色取出所有的权限,普通用户可以增加文档,部门经理对本部门的…