ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ffmpeg 文档阅读笔记

2022-06-05 16:34:19  阅读:181  来源: 互联网

标签:选项 __________ ffmpeg _________ filter 文档 笔记 input


1.ffmpeg简介

1.1.命令格式

ffmpeg [global_options] {[input_file_options] -i input_url} ... {[output_file_options] output_url} ...

-i:指定输入。输入可以是视频文件、网络流、音视频设备等。可以使用-i指定任意数量的输入。
输出:命令行上任意不能被解释成选项的东西,都被认为是输出。可以有任意数量的输出。
-map:一条ffmpeg命令中,可能有多个输入和输出。-map指定哪个输入对应哪个输出。如果没有使用-map进行指定,那么会使用默认的方法进行指定

-i后面跟索引,索引值从0开始。2:3代表第三个输入文件的第四个流。【不懂??】

ffmpeg的每个选项按顺序对输入进行操作,即选项对输入进行操作的结果,送给下一个选项进行操作,故ffmpeg的选项的顺序很重要。全局选项(例如 verbosity level)是个例外,全局选项的位置不重要,但是一般放在最前面。

选项都只应用于最先遇到的文件。

1.2.ffmpeg的处理流程

 _______              ______________
|       |            |              |
| input |  demuxer   | encoded data |   decoder
| file  | ---------> | packets      | -----+
|_______|            |______________|      |
                                           v
                                       _________
                                      |         |
                                      | decoded |
                                      | frames  |
                                      |_________|
 ________             ______________       |
|        |           |              |      |
| output | <-------- | encoded data | <----+
| file   |   muxer   | packets      |   encoder
|________|           |______________|

使用libavformat库读取输入文件,获取到encoded data packets。When there are multiple input files, ffmpeg tries to keep them synchronized by tracking lowest timestamp on any active input stream.【这句英文看不懂】
decoder产生未压缩的帧((raw video/PCM audio/...),然后可以进行filtering

2.Filtering

使用libavfilter库中的filter对decoder产生未压缩的帧进行处理,多个filter形成一个filter graph。filter分为simple和complex

2.1.Simple filtergraphs

Simple filtergraphs结构如下:

 _________                        ______________
|         |                      |              |
| decoded |                      | encoded data |
| frames  |\                   _ | packets      |
|_________| \                  /||______________|
             \   __________   /
  simple     _\||          | /  encoder
  filtergraph   | filtered |/
                | frames   |
                |__________|

通过-vf和-af分别指定视频和音频的filter

2.2. Complex filtergraphs

Complex filtergraphs结构如下

 _________
|         |
| input 0 |\                    __________
|_________| \                  |          |
             \   _________    /| output 0 |
              \ |         |  / |__________|
 _________     \| complex | /
|         |     |         |/
| input 1 |---->| filter  |\
|_________|     |         | \   __________
               /| graph   |  \ |          |
              / |         |   \| output 1 |
 _________   /  |_________|    |__________|
|         | /
| input 2 |/
|_________|

通过-lavfi指定Complex filtergraphs,-lavfi是一个全局选项

标签:选项,__________,ffmpeg,_________,filter,文档,笔记,input
来源: https://www.cnblogs.com/codingbigdog/p/16344239.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有