FFmpeg Per-file main options

  1. -f fmt

强制设置输入或输出文件的格式;对于输入文件来说,格式是自动检测的;输出文件则是根据文件后缀推测格式的;因此该选项多数情况下是不需要的。

-c[:stream_specifier] codec (input/output,per-stream)

-codec[:stream_specifier] codec (input/output,per-stream)

选择一个编码器(在输出文件之前使用)或解码器(在输入文件之前使用),用于一个或多个流。codec 是解码器/编码器的名称,或者是一个特殊值 copy(仅用于输出),表示该流不会被重新编码。该选项与-codec codec功能相同。

stream_specifier:有两种表示方式,c:v表示视频流,c:a表示音频流。

示例:

ffmpeg -i in.mp4 -c:v libx264 -c:a copy out.mp4

所有的视频使用libx264进行编码,并复制音频。

-c:v libx264表示输出流中的视频用libx264进行编码

-c:a copy 表示复制输入流中的音频到输出流

  1. -t duration (input/output)

当作为输入选项(在-i 之前使用)时,限制从输入文件读取数据的持续时间。当作为输出选项(在输出 URL 之前使用)时,在输出持续时间达到指定的时间后停止写入输出。duration 必须是一个时间持续期的规范。-to 和 -t 选项是互斥的,且 -t 选项更优先。

示例:

ffmpeg -t 10 -i 1.mp4 cut.mp4

截取1.mp4中前10秒的视频

  1. -to position (input/output)

在指定位置停止写入或读取。position 表示时长。-to 和 -t 选项是互斥的,且 -t 选项更优先。

ffmpeg -to 02:00 -i video.mp4 -c copy cut.mp4

ffmpeg -i video.mp4 -to 02:00 -c copy cut.mp4

上面两条命令均表示,截取从开始到2分钟的视频

  1. -ss position (input/output)

当作为输入选项(在 -i 之前使用)时,在输入文件中寻找到指定的位置。请注意,在大多数格式中,无法精确寻找到指定的位置,因此 ffmpeg 将寻找到位置之前的最近寻址点。在转码时,如果启用了 -accurate_seek(默认情况下启用),那么从寻址点到指定位置之间的额外片段将被解码并丢弃。当进行流复制或使用 -noaccurate_seek 时,这段额外的片段将被保留。

当作为输出选项(在输出 URL 之前使用)时,将解码输入但直到时间戳达到指定位置之前的数据将被丢弃。position 表示时长。

ffmpeg -ss 02:00 -i video.mp4 -c copy cut.mp4

表示截取从2分钟处到结束的视频,-c copy表示不进行重新编码,直接进行复制。

  1. -sseof position (input)

类似于 -ss 选项,但是相对于文件的"末尾"。也就是说,负值表示文件中的更早位置,0 表示文件的末尾。

ffmpeg -sseof -02:00 -i video.mp4 -c copy cut.mp4

截取视频最后2分钟的视频,-c copy表示不编码,直接复制。

  1. -frames[:stream_specifier] framecount (output,per-stream)

设置输出的帧数

ffmpeg -i video.mp4 -frames 90 -c copy cut.mp4

输出前90帧视频

  1. -filter[:stream_specifier] filtergraph (output,per-stream)

创建由 filtergraph 指定的滤镜图,并利用它对数据进行过滤。filtergraph 是对流应用滤镜图的描述,它必须有一个与流类型相同的单输入和单输出。在滤镜图中,输入与"in"标签关联,输出与"out"标签关联。关于滤镜图语法的更多详细信息,请参考 ffmpeg-filters 手册。

-filter:v 指定视频滤镜

-filter:a 指定音频滤镜

可以同时应用多个滤镜,用逗号分隔。例如:-filter:v "scale=640x480,transpose=1"

ffmpeg -i video.mp4 -filter:v "scale=640x480" cut.mp4

表示调整视频大小到 640x480

相关推荐
Evonso2 天前
静态编译的ffmpeg用法
ffmpeg
_chirs3 天前
编译不依赖动态库的FFMPEG(麒麟国防 V10)
arm开发·ffmpeg
熊猫钓鱼>_>3 天前
从零到一:打造“抗造” Electron 录屏神器的故事
前端·javascript·ffmpeg·electron·node·录屏·record
UpYoung!3 天前
【格式转换工具】专业级多媒体格式转换解决方案——Freemake Video Converter 完全指南:轻量化视频剪辑媒体格式转换
ffmpeg·短视频·实用工具·开源工具·多媒体格式转换·运维必备·视频转换格式
试剂小课堂 Pro4 天前
Ald-PEG-Ald:丙醛与聚乙二醇两端连接的对称分子
java·c语言·c++·python·ffmpeg
MaoSource5 天前
Debian 12 安装 FFmpeg 命令
服务器·ffmpeg·debian
白云千载尽5 天前
交换空间扩容与删除、hugginface更换默认目录、ffmpeg视频处理、清理空间
python·ffmpeg·控制·mpc·navsim
xmRao5 天前
Qt+FFmpeg 实现 PCM 转 WAV
qt·ffmpeg·pcm
eWidget5 天前
Shell循环进阶:break/continue,循环嵌套与优化技巧
运维·开发语言·ffmpeg·运维开发
Knight_AL5 天前
Java + FFmpeg 实现视频分片合并(生成 list.txt 自动合并)
java·ffmpeg·音视频