ffmpeg 常用命令

基本知识

ffmpeg 模块简介

模块 说明
libavcodec 提供了一系列编码器的实现
libavformat 实现在流协议,容器格式及其IO访问
libavutil 包括了hash器,解码器和各种工具函数
libavfilter 提供各种音视频过滤器
libavdevice 提供了访问捕获设备和回访设备的接口
libswresample 实现了混音和重采样
libswscale 实现了色彩转换和缩放功能

命令语法

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

在没有特定输出文件的任何映射选项的情况下,ffmpeg将检查输出格式,以检查可以在其中包含哪种类型的流。视频,音频和/或字幕。对于每种可接受的流类型,ffmpeg将从所有输入中选择一个流。
数据或附件流不会自动选择,需要通过-map 手动选择,2:3是指第三个输入文件中的第四个流

参数说明

参数 说明
-f fmt (输入/输出) 强制输入或输出文件格。通常激动检测输入文件,并从输出文件的扩展名中猜测出来,所有大多数情况不需要该参数
-i url (输入) 输入文件的网址
-y (全局参数) 覆盖输出文件而不询问
-n (全局参数) 不要覆盖输出文件,如果指定输出文件已经存在,请立即退出
-c[:stream_specifier] codec (输入/输出,每一个流) 选择一个编码器当输出文件之前使用或解码器(当在输入文件之前使用)用于一个或多个流。codec 是解码器/编码器的名称或copy(仅输出)以指示该流不被重新编码。如:ffmpeg -i input -map 0 -c:v libx264 -c :a copy output
-codec [: stream_specifier]编解码器(输入/输出,每个流) 同 -c
-t duration (输入/输出) 当用作输入选项时,限制从输入文件读取的数据持续时间。当作用在输出是,在持续时间到达时停止输出
-ss 位置(输入/输出) 当作用输入选项是,在输入文件寻找位置,有一定误差。当用作输出选项是,解码但丢弃输入,指导时间戳到达位置
-frames[:stream_specifier] framecount (output,per-stream) 停止在帧之后写入流
-filter[:stream_specifier] filtergraph (output,per-stream) 创建由filtergraph指定的过滤器图,并使用它来过滤流。filtergraph是应用于流的filtergraph的描述,并且必须具有相同类型的流的打个出入和单个输出。在过滤器图形中,输入与标签中的标签相关联,标签中的输出与标签相关联。有关filtergraph语法的更多信息,请参阅ffmpeg-filters手册

mov效果使用

ffmpeg -loop 1 -i "tu\mov\2019-11-18 215407.jpg"  -i "tu\mov\LeaksN FlaresTrans_003.mov" -filter_complex "[1:v]chromakey=0x70de77:0.01:1.0[ckout];[0:v][ckout]overlay,lutyuv=y=val*1.2[out]" -map "[out]" -t 10  -y tu\mov\out-chromakey.mp4

你可能感兴趣的:(ffmpeg 常用命令)