自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 ffplay源码分析之整体框架分析 ffmpeg解码(stream_component_open、avformat_find_stream_info、event_loop、stream_open)

最近在研究ffmpeg和ffplay,发现网上关于ffmpeg解封装的源码分析不多而且不全。基于ffplay源码,来讲解一下ffmpeg解码过程。在这里主要是讲解一下AVFormatContext、AVStream、AVIOContext的数据结构中的重点变量例如 void*priv_data 、AVStreamInternal *internal、AVFormatInternal *internal等这些内部变量是最重要的,因为正是这些内部不公开的变量,才是存储文件内容、重要接口或属性、进行接口间传递的关

2021-05-02 11:38:42 374

原创 ffplay源码分析ffmpeg解码过程之stream_component_open、avcodec_receive_frame、queue_picture、packet_queue_get接口

最近在研究ffmpeg和ffplay,发现网上关于ffmpeg解封装的源码分析不多而且不全。基于ffplay源码,来讲解一下ffmpeg解码过程。在这里主要是讲解一下AVFormatContext、AVStream、AVIOContext的数据结构中的重点变量例如 void*priv_data 、AVStreamInternal *internal、AVFormatInternal *internal等这些内部变量是最重要的,因为正是这些内部不公开的变量,才是存储文件内容、重要接口或属性、进行接口间传递的关

2021-05-02 11:27:00 782

原创 ffplay源码分析ffmpeg解码过程之avformat_find_stream_info、read_frame_internal、avpriv_packet_list_put接口

最近在研究ffmpeg和ffplay,发现网上关于ffmpeg解封装的源码分析不多而且不全。基于ffplay源码,来讲解一下ffmpeg解码过程。在这里主要是讲解一下AVFormatContext、AVStream、AVIOContext的数据结构中的重点变量例如 void*priv_data 、AVStreamInternal *internal、AVFormatInternal *internal等这些内部变量是最重要的,因为正是这些内部不公开的变量,才是存储文件内容、重要接口或属性、进行接口间传递的关

2021-05-02 11:24:09 415

原创 ffmpeg解封装mov/mp4格式解封装源码分析之mov_read_header(读取metadata)、mov_read_packet(读取sample数据)、mov_read_trak

最近在研究ffmpeg,发现网上关于ffmpeg解封装的源码分析不多而且不全,所以这里总结一下,我自己对ffmpeg解封装mov、mp4格式的源码分析主要就是关于mov.c的源码分析,让各位同学了解一下,mp4的流AVStream、AVPacket是如何赋值的,这两个结构体变量会是解码的输入数据,了解解封装过程,如pts、dts是如何得到的,有助于ffmpeg的二次开发。关于MP4协议,网上有详细的描述,我这里就不在写了,直接上干货,代码书注释。重点小Tips:ffmpeg中很多结构体(AVStre

2021-04-01 11:40:41 1975

原创 ffmpeg解封装mov/mp4格式源码分析之trak box(atom)mov_read_stsd(stts)、(stss)、(ctts)、(stsc)、(stsz)、(stco)、(elst)

最近在研究ffmpeg,发现网上关于ffmpeg解封装的源码分析不多而且不全,所以这里总结一下,我自己对ffmpeg解封装mov、mp4格式的源码分析主要就是关于mov.c的源码分析,让各位同学了解一下,mp4的流AVStream、AVPacket是如何赋值的,这两个结构体变量会是解码的输入数据,了解解封装过程,如pts、dts是如何得到的,有助于ffmpeg的二次开发。关于MP4协议,网上有详细的描述,我这里就不在写了,直接上干货,代码书注释。重点小Tips:ffmpeg中很多结构体(AVStre

2021-04-01 11:37:53 1805 1

原创 基于obs的rtmp源码分析之RTMP_ReadPacket(rtmp读取服务端数据并处理)

最近在研究OBS源码,里面有一个很重要的模块是推流模块,OBS是使用RTMP进行推流的,源码里面也有RTMP的源码,翻了一下目前网上没有详细的RTMP源码注释,所以这里基于OBS项目,来详细讲一下RTMP源码包括内核数据结构、公共函数接口功能。关于具体的RTMP协议,网上有很多RTMP协议可以找到这里只做简单介绍,重点是代码的注释分析。关于RTMP源码的内核结构体,在代码中涉及的我会有标注,在另一个博文中具体分析了核心结构体注释。接口比较多写的比较细,文章比较长,有些函数体中无效的代码(例如 log日志、

2021-03-12 16:45:42 715

原创 基于obs的rtmp源码分析之RTMP_Connect(rtmp连接)

最近在研究OBS源码,里面有一个很重要的模块是推流模块,OBS是使用RTMP进行推流的,源码里面也有RTMP的源码,翻了一下目前网上没有详细的RTMP源码注释,所以这里基于OBS项目,来详细讲一下RTMP源码包括内核数据结构、公共函数接口功能。关于具体的RTMP协议,网上有很多RTMP协议可以找到这里只做简单介绍,重点是代码的注释分析。接口比较多写的比较细,耐心看哈哈哈。这里所有的实际测试推流操作均为向斗鱼上推流(因为我一直用它看直播哈)RTMP协议是应用层协议,是要靠底层可靠的传输层协议(通常是TCP

2021-03-12 16:42:43 1076

原创 基于obs的rtmp源码分析之RTMP_Write(rtmp发送音视频数据或命令)

最近在研究OBS源码,里面有一个很重要的模块是推流模块,OBS是使用RTMP进行推流的,源码里面也有RTMP的源码,翻了一下目前网上没有详细的RTMP源码注释,所以这里基于OBS项目,来详细讲一下RTMP源码包括内核数据结构、公共函数接口功能。关于具体的RTMP协议,网上有很多RTMP协议可以找到这里只做简单介绍,重点是代码的注释分析。关于RTMP源码的内核结构体,在代码中涉及的我会有标注,在另一个博文中具体分析了核心结构体注释。接口比较多写的比较细,文章比较长,有些函数体中无效的代码(例如 log日志、

2021-03-12 16:41:21 654 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除