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

04-流媒体-ffmpeg.c源码分析

ffmpeg.c是一个使用ffmpeg库的参考代码,实现了视频格式转换的功能,类似于我们常用的格式工产,源代码的的目录是:
ffmpeg-4.2.2/fftools/ffmpeg.c
和前面的ffplay一样,我们分析其源代码,主要只是为了让读者了解ffmpeg.c此文件的大概流程,并且熟悉常用的ffmpeg库的API。
下面我们首先从主函数开始分析,如下

int main(int argc, char **argv)
{
   
    ......
    avdevice_register_all();
	......

    show_banner(argc, argv, options);

   ......
    ret = ffmpeg_parse_options(argc, argv);
    ......
   
    if (transcode() < 0)
     ......

    exit_program(received_nb_signals ? 255 : main_return_code);
    ......
}

主函数有如下主要函数组成,每一个函数的功能如下
avdevice_register_all()//注册所有编码器和解码器
show_banner()//打印输出ffmpeg的版本信息、编译时间、编译选项、类库信息
ffmpeg_parse_options()//解析输入的命令
transcode()//转码
exit_program()//退出和清理资源

从上面分析可以看出,主核心的函数是转码函数transcode(),其内容如下:
static int transcode(void)
{
   
    ......
    ret = transcode_init();
   .

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

相关文章:

  • Corel Products Keygen-X-FORCE 2023(Corel会声会影2023注册机)
  • 【计算机网络笔记】Cookie技术
  • B F C
  • 浏览器事件循环 (event loop)
  • Centos安装gitlabce
  • Go学习第十章——文件操作,Json和测试
  • CVE-2021-41773/42013 apache路径穿越漏洞
  • Unity - 导出的FBX模型,无法将 vector4 保存在 uv 中(使用 Unity Mesh 保存即可)
  • 【蓝桥每日一题]-前缀和与差分(保姆级教程 篇1)
  • 拷贝音频、视频、word等二进制文件的实现方法,不掉帧
  • 业务设计——分库分表下多种登录方式实现【用户名、邮箱、手机号】
  • [17]JAVAEE-HTTP协议
  • 存储器概述
  • calcite 校验层总结
  • 【深蓝学院】手写VIO第8章--相机与IMU时间戳同步--笔记
  • asp.net学生考试报名管理系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio
  • fio performance test
  • 设计模式(2)-创建型模式
  • 一些k8s集群操作命令
  • 【httpd】 Apache http服务器目录显示不全解决
  • 【0基础学Java第一课】-- 初始Java
  • 读高性能MySQL(第4版)笔记21_读后总结与感想兼导读
  • 如何查看所有员工电脑访问网站记录?
  • 优咔科技创新连接方案助力高质量5G车联服务
  • Windows-Oracle19c 安装详解-含Navicate远程连接配置 - 同时连接Oracle11g和Oracle19c
  • Spark UI中Shuffle dataSize 和shuffle bytes written 指标区别
  • Go实现MapReduce
  • RPA除了和OCR、NLP技术结合,还能和什么技术结合?
  • 39.B树,B+树(王道第7章查找补充知识)
  • APP自动化测试 ---- Appium介绍及运行原理