量产工具qcsetting ()

对于ffmpeg使用命令行 之前一直是通过百度(羞耻),一边找 一边用 感觉写起来很麻烦 就在这个记录下 以后复习方便

众所周知,有三个程序可以从官网直接运行。 一个是ffmpeg.exe ffplay.exe ffprobe.exe

关于ffmpeg的官网里边 一般提供三种(static shared dev)

第一个static之前提供的三个程序 而别人把每一个都放在一起dll集成了进去 程序的大小相对较大

第二个shared 这三个程序也程序 只是大小要小得多 因为它也提供了各种各样的东西dll

第三个完全适用于开发人员 提供了lib以及头文件

在这里,我们将直接讨论如何使用提供的三个程序(直接点是无用的,哈哈 直接在命令行使用)

ffmpeg用于转码的工具 ffplay用于播放 ffprobe用于查看文件格式

**************************************************************************************************************************************

首先我们来看看ffmpeg

http://ffmpeg.org/ffmpeg.html 官方说明

我自己输入 ffmpeg -h

首先会显示ffmpeg的版本 编译这个用的GCC的版本 编译前configure的选项 之后依赖各种库的版本

显示基本信息后 告诉你怎么用

usage: ffmpeg[options][[infile options]-i infile]...{[outfile options]outfile}...

当然,我们也可以活用help信息

Getting help:

-h -- print basic options 打印基本选项

-h long -- print more options 打印更多选项

-h full -- print all options (including all format and codec specific options, very long) 打印所有选项(包括编解码器的所有格式和特定选项,很长)

-h type=name -- print all options for the named decoder/encoder/demuxer/muxer/filter 可打印指定选项

See man ffmpeg for detailed description of the options. 当然,你想仔细看。 详细描述选项,请参阅man ffmpeg。

让我们来看看每个选项(然后一个接一个地尝试)

Print help / information / capabilities:

-L show license

-h topic show help

-? topic show help

-help topic show help

--help topic show help

-version show version

-buildconf show build configuration

-formats show available formats 显示支持的格式

-muxers show available muxers 显示所有可用的封装格式

-demuxers show available demuxers 显示所有可用的解封格式

-devices show available devices 显示支持设备(这里只显示很大范围) 具体设备不会显示 比如我输入ffmpeg -devices 就像下面的输出一样)

Devices:

D. = Demuxing supported 可以理解为输入设备(我们可以理解) 解封装是获取流 其实这个设备做的也是获取流的事)

.E = Muxing supported 可理解为输出设备(同理) 输出设备采用流量 类似于包装)

--

E caca caca (color ASCII art) output device

D dshow DirectShow capture

D lavfi Libavfilter virtual input device

E sdl,sdl2 SDL2 output device

D vfwcap VfW video capture

-codecs show available codecs 显示支持的编解码器(看清楚 编解码器)

需要注意的是的是什么? D,E,V,A,S,I,L,S一种意思

D... = Decoding supported 解码

.E... = Encoding supported 编码

..V... = Video 电脑 codec 视频

..A... = Audio codec 音频

..S... = Subtitle codec 字幕

...I.. = Intra frame-only codec 帧内编解码器

...L. = Lossy compression 有损

...S = Lossless compression 无损

-decoders show available decoders 显示支持的解码器

-encoders show available encoders 显示支持的编码器

-bsfs show available bit stream filters 比特流过滤器特流过滤器

-protocols show available protocols 显示支持协议

-filters show available filters 显示可用过滤器(请注意以下含义) 现在还是不明白什么意思。 找代码看看)

Filters:

T.. = Timeline support

.S. = Slice threading

..C = Command support

A = Audio input/output

V = Video input/output

N = Dynamic number and/or type of input/output

| = Source or sink filter

-pix_fmts show available pixel formats 显示可用像素格式

Pixel formats:

I... = Supported Input format for conversion 输入格式支持转换

.O... = Supported Output format for 电脑 conversion 支持转换输出格式

..H.. = Hardware accelerated format 硬件加速格式

...P. = Paletted format 调色格式

...B = Bitstream format 位流格式

以下是输出格式

FLAGS NAME (标志名称)NB_COMPONENTS (组成数量 yuv420 有三个组成部分) BITS_PER_PIXEL(每个像素占位数)

-layouts show standard channel layouts 显示标准通道布局

-sample_fmts show available audio sample formats 显示可用的音频示例格式

-colors show available color names 显示可用的颜色名称

-sources device list sources of the input device 列出输入设备的源(此) 还不清楚怎么用 到时看官方文档)

-sinks device list sinks of the output device 列出输出设备的接收器

-hwaccels show available HW acceleration methods 显示可用的硬件加速方法

Global options (affect whole program instead of just one file: 全局选项-影响整个程序,而不仅仅是一个文件:

-loglevel loglevel set logging level 设定log等级 \\"quiet\\" \\"panic\\" \\"fatal\\" \\"error\\" \\"warning\\" \\"info\\" \\"verbose\\" \\"debug\\" \\"trace\\"

补充说明: 电脑 Flags can also be used alone by adding a ’ ’/’-’ prefix to set/reset a single flag without affecting other flags or changing loglevel. When setting both flags and loglevel, a ’ ’ separator is expected between the last flags value and before loglevel.

意思是也可以单独使用标志,添加‘ 在不影响其他标志或更改日志级别的情况下,设置/重置单个标志。在设置标志和日志级别时,需要在最后一个标志值和日志级别之间使用。

eg:ffmpeg -loglevel repeat level verbose -i input output

-v loglevel set logging level 和上面一样

-report generate a report 生成报表

-max_alloc bytes set maximum size of a single allocated block 设置单个分配块的最大尺寸

-y overwrite output files 覆盖输出文件

-n never overwrite output files 永远不要覆盖输出文件

-ignore_unknown Ignore unknown stream types 忽略未知流类型

-filter_threads number of non-complex filter threads 非复杂过滤线程数 (后面要加数字)

-filter_complex_threads number of threads for -filter_complex 过滤器复合体的线程数 (后边要加 数字


电脑