当前位置: 首页 > article >正文

音视频5、libavformat-1

libavformat库,是FFmpeg中用于处理各种媒体容器格式(media container format)的库。它的两个最主要的功能是 :
        demuxing:解封装,将一个媒体文件分割为多个多媒体流
        muxing:封装,将多个多媒体数据流写入到指定媒体容器格式的文件中
    这两个过程所做的事情正好相反,是互逆的。
    我们注意到,在 mux 和 demux 的过程中,均少不了要从 input 读取 和 写入 output 的过程,因此 libavformat 单独分出了一个子模块,用于封装相关的 I/O 过程,称之为 I/O 模块。
    I/O 模块支持访问多个协议的数据,例如 file,tcp,http等。在一般的情况下,我们不需要自己来处理这些 I/O 操作,仅需交给 libavformat 的实现处理。当然,如果我们想要更加精细地控制 I/O 的过程,或者想要提供自定义的 I/O 操作,也是可以的

1、基本概念

    在使用 libavformat 库之前,我们需要调用 av_register_all() 来注册所有编译后的 muxer、demuxer 和协议。我们还需要调用avformat_network_init() 来初始化 libavformat 中的网络功能(如果我们不使用网络,也不可能不调用)。同样的,如果我们要使用输入输出设备,也需要调用 avdevice_register_all() 来初始化所有的输入输出设备。

http://www.kler.cn/news/149248.html

相关文章:

  • springcloud nacos配置优先级研究及配置管理最佳实践
  • linux logrotate日志轮询设置案例一
  • 网络安全--基于Kali的网络扫描基础技术
  • LuatOS-SOC接口文档(air780E)--protobuf - ProtoBuffs编解码
  • 【GitLab】流水线入门
  • 双音多频的通信(数字信号处理实验3)
  • 使用Python类型提示保持代码整洁,提高可读性
  • awk笔记231129
  • 【智能算法】季节优化算法Seasons optimization algorithm【2023最新智能优化算法合集】
  • 第二证券:五日线是什么颜色的线?
  • 基于单片机的烟雾检测报警装置(论文+源码)
  • 【Python小游戏】推荐8款自由的Python游戏项目
  • embeddings
  • C++学习之路(十一)C++ 用Qt5实现一个工具箱(增加一个进制转换器功能)- 示例代码拆分讲解
  • 黄金比例设计软件Goldie App mac中文版介绍
  • 【C数据(一)】数据类型和变量你真的理解了吗?来看看这篇
  • winform 程序多语言
  • Python 中文完整教程目录
  • 哈希函数:保护数据完整性的关键
  • 世岩清上:什么是元宇宙
  • HCIA-RS基础-静态路由协议
  • Java Web——XML
  • 共享充电宝被取代,共享WIFI项目将成市场趋势!
  • [Python入门系列之十一]在windows上安装OpenCV
  • SeaTunnel引擎下的SQL Server CDC解决方案:构建高效数据管道
  • ethtool -T显示ptp过滤器信息源码分析
  • 如果每天工资按代码行数来算,来看看你每天工资是多少
  • 从零开始的c语言日记day37——数组指针练习
  • Maven——Maven使用基础
  • Apache Mina SSHD 和 JSch