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

前言:

这周直播也把雷神写的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.hqwc.cn/news/8668.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【NoSQL之 Redis配置】

目录 一、关系数据库与非关系型数据库1、关系型数据库和非关系型数据库区别(1)数据存储方式不同(2)扩展方式不同(3)对事务性的支持不同 2、非关系型数据库产生背景总结 二、Redis简介1、Redis 具有以下几个…

Redis常见面试题

什么是Redis持久化?Redis有哪几种持久化方式?优缺点是什么 把redis内存中的数据持久化到磁盘的过程就是redis持久化。RDB:快照存储,每隔一段时间对redis内存中的数据进程快照存储。优点:恢复数据快 缺点:数据完整性差 AOF:日志追加 把每个写…

Cyclo(-D-Ser-Pro-D-Val-Leu-D-Trp),153982-38-8,水溶性二肽,具有明显的生理活性

Cyclo(-D-Ser-Pro-D-Val-Leu-D-Trp)| CAS:153982-38-8 | 纯度:95%结构式: ​ 试剂参数信息: CAS:153982-38-8 外观(Appearance):固体/粉末 分子式(Molecular Formul…

在Ubuntu环境下安装anaconda(很简单!!!!!)

前言:想要使用tensorflow-compression,但是这个在windows下不支持。那我只好去Ubuntu环境下的安装anaconda。但是!!!!!找了半天,都没找到好的安装教程,浪费了一下午,心态…

陌陌聊天数据分析 (一)

陌陌聊天数据分析(一) 目标 基于Hadoop和Hive实现聊天数据统计分析,构建聊天数据分析报表 需求 统计今日总消息量统计今日每小时消息量,发送和接收用户数量统计今日各地区发送消息数据量统计今日发送消息和接收消息用户数统计…

处理 Windows Server 中 CVE-2016-2183(SSL/TLS) 漏洞的方法

一、漏洞说明 Windows server 2008或2012远程桌面服务SSL加密默认是开启的,且有默认的CA证书。由于SSL/ TLS自身存在漏洞缺陷,当开启远程桌面服务,使用漏洞扫描工具扫描,发现存在SSL/TSL漏洞。 例如如下漏洞: 二、…

TiDB 升级利器(参数对比)——TiDBA

作者: 啦啦啦啦啦 原文来源: https://tidb.net/blog/299f0bdc 一.背景 针对 LTS 版本,PingCAP 会提供最多至 3 年时间的常规版本更新,以解决版本运行过程中遇到的问题,以及安全相关的漏洞修复。而对于已经结束维护…

7DGroup性能实施项目日记9

好多天没写实施日记了,这段时间,我也有些其他事情要做,因为前阵子答应了写些东西,所以这几天晚上弄到两三点,终于写完了五万字的东西交了差。 这一段时间是培训的课程关键内容,基本都是分析的关键环节。主…

Intellij IDEA 插件开发 | 京东云技术团队

写在前面 很多idea插件文档更多的是介绍如何创建一个简单的idea插件,本篇文章从开发环境、demo、生态组件、添加依赖包、源码解读、网络请求、渲染数据、页面交互等方面介绍,是一篇能够满足基本的插件开发工程要求的文章。 如有疏漏欢迎指正&#xff0…

https技术鉴赏

视频网址:https://www.bilibili.com/video/BV1uY4y1D7Ng 总结起来:先使用非对称加密,再使用对称加密,这样就避免了明文传输。 非对称加密的作用是协商对称加密的公钥 SSL流程图大概如下: 这只是一个最简单的SSL版本,…

11 从0开始学PyTorch | PyTorch使用nn模块、手工实现神经网络

上一小节对神经网络有了基本的了解,这一小节就看一下如何用代码来实现一个神经网络。 我们所用的案例还是那个温度转换的案例,只不过需要我们把之前的线性模型替换成神经网络模型,并重新训练以找到适合神经网络的权重。 依照我们的经验&#…

JMeter 后置处理器之JSON提取器

目录 前言: 测试环境 插件介绍 插件参数 插件使用示例 JSON-PATH表达式介绍 操作符 函数 过滤器操作符 JSON PATH示例 前言: JMeter是一个功能强大的性能测试工具,它提供了许多后置处理器来处理和提取测试结果。其中一个常用的后…