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

ffmpeg7.1.2-官方示例demo预览

目录

一、整体学习顺序建议(从简单到复杂)

二、逐个示例说明(重点 + 场景)

1. 基础解码 / 编码

decode_audio.c

decode_video.c

encode_audio.c

encode_video.c

2. 解复用 / 复用 / 转码

demux_decode.c

mux.c

remux.c

transcode.c

transcode_aac.c

3. 音视频变换(缩放、重采样、滤镜)

resample_audio.c

scale_video.c

filter_audio.c

decode_filter_audio.c

decode_filter_video.c

4. 硬件加速 / 特殊功能

hw_decode.c

qsv_decode.c

qsv_transcode.c

vaapi_encode.c

vaapi_transcode.c

extract_mvs.c

5. 元数据 / IO / 目录操作

show_metadata.c

avio_list_dir.c

avio_read_callback.c

avio_http_serve_files.c

6. 其它辅助示例

filter_audio.c(上面已讲)

show_metadata.c(上面已讲)

README

Makefile / Makefile.example

三、如何配合这些示例来学(给你一个固定模板)


一、整体学习顺序建议(从简单到复杂)

推荐顺序:

  1. decode_audio.c / decode_video.c

  2. demux_decode.c

  3. encode_audio.c / encode_video.c

  4. resample_audio.cscale_video.c

  5. filter_audio.cdecode_filter_audio.cdecode_filter_video.c

  6. mux.cremux.ctranscode.ctranscode_aac.c

  7. show_metadata.cextract_mvs.c

  8. 硬件相关:hw_decode.cqsv_*vaapi_*

  9. 进阶 IO:avio_list_dir.cavio_read_callback.cavio_http_serve_files.c


二、逐个示例说明(重点 + 场景)

1. 基础解码 / 编码

decode_audio.c
  • 学什么:打开音频文件 → 解码成原始 PCM 数据。

  • 典型场景:做一个“音频可视化”、波形分析、语音识别前处理。

  • 适合等级:⭐ 入门必看。

decode_video.c
  • 学什么:打开视频 → 解码出一帧帧原始 YUV 图像。

  • 典型场景:截图、做视频缩略图、后续送到 Qt 显示。

  • 适合等级:⭐ 入门必看(配合你将来 Qt 显示用)。

encode_audio.c
  • 学什么:把原始 PCM 音频编码成压缩格式(如 AAC)。

  • 典型场景:录音之后导出 mp3/aac,或者把处理后的音频重新压缩。

  • 适合等级:中级,可在掌握解码后再看。

encode_video.c
  • 学什么:把原始视频帧编码成压缩视频(如 H.264)。

  • 典型场景:屏幕录制、摄像头采集之后编码成文件或推流。

  • 适合等级:中级。


2. 解复用 / 复用 / 转码

demux_decode.c
  • 学什么:从容器(mp4、mkv…)中拆出音视频流并解码。

  • 典型场景:播放器的核心逻辑:读文件 → 分离音视频 → 解码。

  • 适合等级:⭐ 非常关键,建议认真啃一遍、做流程图。

mux.c
  • 学什么:把编码后的音频、视频打包进容器(mp4、flv…)。

  • 典型场景:你已经有编码好的数据,想输出成标准文件。

  • 适合等级:中级,和 encode_* 搭配理解。

remux.c
  • 学什么:不解码,只是把原有的音视频流搬到新的容器里。

  • 典型场景input.mkv → output.mp4 这种“无损封装转换”(前提格式兼容)。

  • 适合等级:较容易,理解“容器”和“编码格式”的区别很有帮助。

transcode.c
http://www.dtcms.com/a/597065.html

相关文章:

  • 自己怎么优化我网站关键词潍坊尚呈网站建设公司
  • 数据科学每日总结--Day16--数据库
  • 从“高门槛”到“零门槛”:ArcGIS 和 GISBox如何破解中小用户GIS工具使用难题?
  • 152.当数据写入速度远大于读取时速度时控制信息的处理方法
  • 【MQ】集群部署和可靠性攻略
  • 数字上变频DUC与数字下变频DDC的介绍
  • 网站换代理wordpress首页链接哪里设置
  • 【Git】请帮忙解释一下“git reset”
  • Linux 二进制兼容性的糟糕现状(以及如何解决)
  • Next.js第三章(App Router)
  • 长芯微LPS1032完全P2P替代LM3880,LPS1032系列产品是简单的电源序列器,提供多通道电源的加电和断电顺序控制。
  • 百度提交网站收录建筑网址大全
  • TensorFlow深度学习实战——胶囊网络
  • [Linux]学习笔记系列 -- [kernel]kallsyms
  • 手机代理企业网站wordpress农业站模板
  • 门户网站开发的意义ppt 做的最好的网站有哪些
  • 龙岗AI搜索优化亲测效果分享
  • 【多源 BFS】1. 01 矩阵(medium)
  • 物联网工控一体机操作系统选型:安卓、Ubuntu、Debian 场景化决策指南
  • 【代码审计】RuoYi-4.2 五处安全问题分析
  • 如何制作自己的网站并且插口代码wordpress .htaccess 伪静态
  • 【openGauss】谈一谈openGauss对Oracle中lob类型的兼容情况
  • 【自然语言处理】WordNet与知网:支撑自然语言理解的词汇知识库双璧
  • 怎么自己弄一个网站编程课程收费标准
  • Vue 项目实战《尚医通》,登录组件获取验证码,笔记25
  • 【无标题】六边形拓扑量子计算:NP完全问题的统一解决框架
  • IDEA下载
  • 网站自己做需要多少钱中国住建部和城乡建设部
  • 电磁波传播理论的数学描述和python模拟
  • 符合网络营销网站建设郑州威盟网站建设公司怎么样