C/C++音视频高级开发 FFmpeg编程入门

本文介绍了C/C++音视频高级开发,特别是FFmpeg编程的基础知识,包括播放器框架中的常用术语,如容器、媒体流和数据帧,以及FFmpeg库的介绍,如AVFormat、AVCodec等。同时,详细讲解了FFmpeg中关键结构体的作用,如AVFormatContext、AVInputFormat、AVStream、AVCodecContext和AVFrame,并阐述了它们之间的关系。此外,还提到了FFmpeg组件的注册方式及其在不同版本中的变化。
摘要由CSDN通过智能技术生成

一、播放器框架

常用音视频术语

  • 容器/文件(Conainer/File):即特定格式的多媒体文件,比如mp4、flv、mkv等。
  • 媒体流(Stream):表示时间轴上的一段连续数据,如一段声音数据、一段视频数据或一段字幕数据,可以是压缩的,也可以是非压缩的,压缩的数据需要关联特定的编解码器(有些码流音频他是纯PCM)。
  • 数据帧/数据包(Frame/Packet):通常,一个媒体流是由大量的数据帧组成的,对于压缩数据,帧对应着编解码器的最小处理单元,分属于不同媒体流的数据帧交错存储于容器之中。
  • 编解码器:编解码器是以帧为单位实现压缩数据和原始数据之间的相互转换的。

二、常用概念

  • 复用器

 

  • 编解码器

 

相关视频

【免费领取】音视频开发学习资料以及学习路线大纲音视频开发资源群:788280672,欢迎大家进群交流。https://ke.qq.com/course/3202131?flowToken=1042316(先关注,不迷路)内容包括/FFmpeg/webRTC/rtmp/hls/rtsp/ffplay/srs等等多个知识点高级进阶干货学习https://www.bilibili.com/video/BV1Yu411z7wZ?share_source=copy_web

三、FFmpeg库简介

FFMPEG有8个常用库:

  • AVUtil:核心工具库,下面的许多其他模块都会依赖该库做一些基本的音视频处理操作。

  • AVFormat:文件格式和协议库,该模块是最重要的模块之一,封装了Protocol层和Demuxer、Muxer层,使得协议和格式对于开发者来说是透明的。

  • AVCo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值