ffmpeg.exe命令行参数的简单介绍

关于ffmpeg.exe

ffmpeg.exe 是一个开源的多媒体处理工具,广泛应用于音视频的录制、转换、流媒体处理等领域。它由FFmpeg项目开发,支持多种音视频格式,并提供了丰富的命令行选项,使其功能强大且灵活。

功能应用

格式转换:支持几乎所有常见的音视频格式之间的转换。
视频录制:可以从摄像头或屏幕录制视频。
音频提取:可以从视频文件中提取音频,并保存为单独的音频文件。
视频剪辑:可以对视频进行剪辑,截取特定时间段的内容。
视频合并:可以将多个视频文件合并成一个文件。
视频转码:支持视频编码格式的转换,如H.264、H.265等。
流媒体处理:支持实时流媒体处理,如直播推流、拉流等。
滤镜处理:提供丰富的视频滤镜,如模糊、锐化、旋转、裁剪等。

应用举例

将当前目录下mp4封装的input.mp4文件转为ts封装格式的output.ts文件

ffmpeg -i input.mp4 -codec copy output.ts

参数介绍

信息查询选项

-L	打印许可证

-h	帮助信息

-?	帮助信息

-version		版本信息

-buildconf		编译配置

-formats		支持的封装格式,包括音频和视频,封装和解封装

-muxers			支持的封装器

-demuxers		支持的解封装器

-devices		支持的所有输入输出设备,包括可以直接通过 FFmpeg 访问的硬件设备,如摄像头、麦克风、显示器等

-codecs			支持的编解码器,包含音频、视频、字母、有损/无损压缩、仅帧内压缩等

-decoders		支持的解码器

-encoders		支持的编码器

-bsfs			支持的比特流滤镜

-protocols		支持的数据传输协议,如file、rtsp、rtmp、http等

-filters		支持的滤镜,用于对音视频进行裁剪、缩放、旋转、叠加、音频均衡等处理

-pix_fmts		支持的像素格式

-layouts		支持的所有音频通道布局(channel layouts)。音频通道布局定义了音频信号如何分布在不同的通道上,例如立体声(stereo)、5.1环绕声(5.1 surround)等

-sample_fmts	支持的所有音频采样格式(sample formats)。音频采样格式定义了音频数据在内存中的存储方式,包括每个样本的位深度(bit depth)和存储类型(如整数或浮点数)

-colors			支持的颜色名称,如Red、Green、Blue、Gray等

-sources		可用的输入设备

-sinks			可用的输出设备

-hwaccels		支持的所有硬件加速(hardware acceleration)方法

公共操作参数选项

-loglevel		设置日志等级,日志级别决定了 ffmpeg 输出的信息详细程度

-v				同上

-report			生成 ffmpeg 运行时的详细报告文件。这个报告文件包含了 ffmpeg 运行过程中的各种信息,包括命令行参数、配置选项、日志信息、性能统计等

-max_alloc		设置 ffmpeg 在运行时可以分配的最大内存块大小。这个选项主要用于限制 ffmpeg 在处理大文件或复杂任务时可能分配的内存量,以避免内存不足或系统资源耗尽的问题

-y				覆盖现有文件

-n				不覆盖现有文件

-ignore_unknown	指示 ffmpeg 在处理输入文件时忽略未知类型的流

-filter_threads	设置 ffmpeg 在处理滤镜(filters)时使用的线程数。通过增加线程数,可以提高滤镜处理的并行度,从而加快处理速度,特别是在多核处理器上

-filter_complex_threads	设置 ffmpeg 在处理复杂滤镜图(complex filtergraph)时使用的线程数

-stats			启用 ffmpeg 在运行时的统计信息输出。启用统计信息输出后,ffmpeg 会在处理音视频文件时定期输出进度和性能统计信息,帮助你了解处理进度和性能状况

-max_error_rate	设置 ffmpeg 在处理音视频文件时允许的最大错误率。错误率是指在处理过程中出现的错误帧数与总帧数的比率 (0.0: no errors, 1.0: 100% errors)

-bits_per_raw_sample	设置 ffmpeg 在处理音视频文件时每个原始样本(raw sample)的位数

-vol			设置音频流的音量,值为 256 表示音量不变,值为 512 表示音量增加一倍,值为 128 表示音量减半

文件操作参数选项

-f			指定输入或输出文件的格式,包含音频、视频、图像、流媒体、原始数据等

-c			指定编码器,如-c:a指定音频编码器,-c:v指定视频编码器

-codec		同上

-pre		指定编码器的预设参数,用于控制编码速度和输出质量之间的平衡

-map_metadata 指定输入或输出文件的元数据映射方式。元数据包含了文件的附加信息,如标题、作者、专辑、日期等

-t			指定输入文件的处理时长(整数,秒),例如可以从输入文件中提取从起始时间(默认00:00:00)开始持续 10 秒的视频保存到输出文件

-to			指定输入文件的处理结束时间(00:00:10),例如可以从输入文件中提取从起始时间(默认00:00:00)到00:00:10的视频保存到输出文件

-fs			指定输出文件的最大文件大小(整数,字节)

-ss			指定输入文件的处理起始时间(00:00:00),例如可以从输入文件中提取从起始时间到结束时间或者持续时长的视频保存到输出文件

-sseof		指定输入文件的处理起始时间(整数,秒),与 -ss 选项不同,-sseof 是从文件的末尾开始计算时间,例如从文件的末尾开始往前10秒的位置

-seek_timestamp	启用或禁用基于时间戳的精确查找(seek)功能,1启用,0禁用。默认情况下,ffmpeg 使用基于帧的查找方式。

-timestamp	指定输出文件的时间戳。时间戳是指文件的创建时间或修改时间

-metadata	设置或修改输出文件的元数据(如标题、作者、专辑、日期等)

-program	创建和管理输出文件中的节目

-target		指定输出文件的目标格式("vcd", "svcd", "dvd", "dv" or "dv50" )

-apad		用于在音频流中添加填充数据

-frames		指定输出文件的帧数量,-frames:a指定音频帧数,-frames:v指定视频帧数

-filter		应用滤镜到输入文件的流中,如裁剪、缩放、旋转、叠加、音频均衡等

-filter_script 指定一个外部滤镜脚本文件,将复杂的滤镜配置保存到一个单独的文件中,从而简化命令行参数,提高可读性和可维护性

-reinit_filter 在处理过程中重新初始化滤镜图,动态地更改滤镜配置

-discard	用于丢弃输入文件中的某些流

-disposition 设置或修改输出文件中流的处置方式

视频操作参数选项

-vframes		指定输出视频的帧数
-r				指定输出视频的帧率
-s				指定输出视频的帧大小,width、height
-aspect			设置视频的宽高比 (4:3, 16:9 or 1.3333, 1.7777)
-bits_per_raw_sample 设置 ffmpeg 在处理音视频文件时每个原始样本(raw sample)的位数
-vn				禁用视频流,即只处理音频流。通常用于音频提取或音频转换
-vcodec			指定视频编解码器(“copy”代表直接拷贝,不做编码)
-timecode		指定视频的时间码(timecode)。时间码是一个用于标识视频帧的时间戳,通常用于精确控制视频的开始时间和同步
-pass			启用两遍编码模式。两遍编码模式通常用于生成高质量的视频,特别是在需要精确控制比特率的情况下
-vf				指定视频滤镜
-ab				指定音频比特率,即码率(please use -b:a)
-b				指定视频比特率,即码率(please use -b:v)
-dn				在处理视频时禁用数据流(data stream)。数据流通常包含一些附加信息,如字幕、元数据等

音频操作参数选项

-aframes			指定输出音频的帧数
-aq					指定输出音频的质量,并不是 ffmpeg 的标准选项,例如对于 AAC 编码器,通常使用 -q:a 或 -b:a 来设置音频质量或比特率
-ar					指定音频的采样率
-ac					指定音频的通道(即声道)数量
-an                 禁用音频流,即只处理视频流,通常用于视频提取或视频转换
-acodec				指定音频编解码器(“copy”代表直接拷贝,不做编码)
-vol				指定音频流的音量,值为 256 表示音量不变,值为 512 表示音量增加一倍,值为 128 表示音量减半
-af					指定音频滤镜

字幕操作参数选项

-s					指定帧大小(?不太理解,但是-h却给出了这个选项)
-sn					禁用字幕流
-scodec				指定字幕编解码器(“copy”代表直接拷贝,不做编码)
-stag fourcc/tag    force subtitle tag/fourcc
-fix_sub_duration	修复字幕的持续时间,使其与视频的帧率匹配。字幕的持续时间是指字幕显示的时间长度,有时字幕文件中的持续时间可能不正确,导致字幕显示时间过长或过短
-canvas_size size   set canvas size (WxH or abbreviation)
-spre preset        set the subtitle options to the indicated preset

你可能感兴趣的:(FFmpeg命令行,ffmpeg,ffmpeg命令行,ffmpeg音视频,ffmpeg.exe)