type
status
date
slug
summary
tags
category
icon
password
一、命令基本格式及参数
一些参数:
参数 | 说明 |
-f fmt(输入 / 输出) | 强制输入或输出文件格式 |
-y(全局参数) | 覆盖输出文件而不询问 |
-n(全局参数) | 不要覆盖输出文件,如果指定的输出文件已经存在,请立即退出 |
-c:[stream_specifier] codec | 选择一个编码器或解码器,用于一个或多个流。codec 是编解码器的名称或 copy 指示流不被重新编码。例如:ffmpeg -i INPUT -map 0 -c:v libx264 -c:a copy OUTPUT |
-t duration n(输入 / 输出) | 用作输入选项时 (在 -i 之前),限制从输入文件读取的数据的持续时间。用作输出选项时 (在输出 url 之前),在到达持续时间之后停止输出 |
-vframes num(输出) | 设置要输出的视频帧的数量 |
-vcodec 编解码器 (输出) | 设置视频编解码器 |
-vf filtergraph(输出) | 创建由 filtergraph 指定的过滤器图,并使用它来过滤流 |
-acodec 编解码器 (输入 / 输出) | 设置音频编解码器 |
-sample_fmt[:stream_specifier] sample_fmt | 设置音频采样格式 |
-af filtergraph(输出) | 创建由 filtergraph 指定的过滤器图,并使用它来过滤流 |
二、基本信息查询命令
输出 f f m p e g 基本命令帮助信息,下面介绍下比较重要的配置选项 输出 ffmpeg 基本命令帮助信息,下面介绍下比较重要的配置选项
查询指定格式的相关解复用 / 复用信息: 查询指定格式的相关解复用 / 复用信息:
查询指定的编解码器信息: 查询指定的编解码器信息:
查看具体的 f f m p e g 命令分类所支持的参数,如: 查看具体的 ffmpeg 命令分类所支持的参数,如:
三、分解、复用
抽取音频流 抽取音频流
vn:v 代表视频,n 代表 no
抽取视频流 抽取视频流
转格式 转格式
转 f m p 4 转 fmp4
empty_moov:将导致输出 100%分段
音视频合并 音视频合并
四、处理原始数据
抽取 y u v 数据 抽取 yuv 数据
视频中提取图片 视频中提取图片
- r:每秒提取 30 帧
- t:取 t 秒时间的帧
截取视频中指定时间的某一帧图片 截取视频中指定时间的某一帧图片
- frames:v 后接张数
图片文件转成 Y U V 文件 图片文件转成 YUV 文件
Y U V 转 H 264 YUV 转 H264
提取 P C M 数据 提取 PCM 数据
P C M 转 W A V PCM 转 WAV
五、滤镜
添加水印 添加水印
vf: movie 指定 logo 位置,scale 指定大小 overlay 指定 logo 摆放的位置
删除水印 删除水印
先通过 ffplay 找到要删除 LOGO 的位置
删除水印
视频缩小 视频缩小
- vf scale 指定使用过滤器 scale,iw 指定按整型取视频宽度,-1 表示高度随宽度一起变化,视频缩小了一倍
视频裁剪 视频裁剪
倍速播放 倍速播放
视频
音频, atempo 取值 0.5-2.0
同步改变音视频播放速度 同步改变音视频播放速度
[0:v]表示第一个 (文件索引号是 0) 文件的视频作为输入
map:数据流选择,可用于处理复杂输出,如可将指定的多路流输出到一个输出文件,也可指定输出到多个文件。上面是将复杂滤镜输出的视频和音频输出到指定文件中
对称视频 对称视频
hfilp:水平翻转
vfilp:垂直翻转
画中画 画中画
视频顺时针旋转 90 ° 视频顺时针旋转 90°
transpose=2:逆时针旋转 90°
transpose=3:顺时针旋转 90°,再水平翻转
transpose=2:逆时针旋转 90°,水平翻转
六、拼接与裁剪
裁剪 裁剪
ss:指定开始时间
- t:被裁剪后的时长
视频合并 视频合并
inputs.txt 内容如下:
音频合并 音频合并
音频混音 音频混音
inputs:输入的数量,默认为 2
h l s 切片 hls 切片
- strict -2 指明音频使有 AAC
- f hls 转成 m3u8 格式
删除特定音频 删除特定音频
- map 0 选择一个输入文件中的所有数据(包括音频和视频)
- map -0 : a : 1 反向 map,忽略第二个音轨
为某视频添加音频 为某视频添加音频
- map 0:v:0 选择第 0 个输入文件的第 0 个轨道
- map 1:a:0 选择第 1 个输入文件的第 0 个轨道
从视频中替换音频 从视频中替换音频
拼接成四宫格 拼接成四宫格
四张图片合并 四张图片合并
七、直播
推流 推流
拉流保存 拉流保存
实时推流 实时推流
八、ffplay
播放 y u v 数据 播放 yuv 数据
播放 Y U V 中的 Y 平面 播放 YUV 中的 Y 平面
播放器打印输出调试日志 播放器打印输出调试日志
播放器打印详细调试日志 播放器打印详细调试日志
九、转码
调整音视频参数 调整音视频参数
- s:指定宽高 -r :帧率 -g:gop 图像组,多少帧有一个关键帧 -b:码率 -ac:声道数 -ar:采样率 -ab:采样位数
修改视频分辨率 修改视频分辨率
- vf scale 后面是宽: 高,如果某个值为 - 1,表示按原来的比例自动生成
十、其它
视频转 J P E G 视频转 JPEG
视频转 g i f 视频转 gif
图片转视频 图片转视频
m p 4 的 f a s t s t a r t 转写 mp4 的 faststart 转写
以 j s o n 形式展示视频信息 以 json 形式展示视频信息
获取视频每一帧的信息 获取视频每一帧的信息
设置日志级别及输出重定向 设置日志级别及输出重定向
- report:把 ffmpeg 命令行和终端的输出都记录到一个以时间戳命名的文件中
- loglevel “info”:也可以 - v 32,32 是 info 级别对应的数值
> output.txt 2>&1:将输出重定向到 output.txt 文件中
设置 h t t p 请求头 设置 http 请求头
t s 切片并生成 m 3 u 8 文件 ts 切片并生成 m3u8 文件
- segment_time: 表示隔几秒切一个文件
- Author:Vc工具箱
- URL:https://vvocc.com/article/1d9c642a-5f71-8038-9f3d-d549f88a1205
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
Relate Posts









.jpg?t=1d9c642a-5f71-810f-81c6-c4e3deae3fa5)