点击上方蓝字 ● 关注Linux公社
1. 编解码器选项
1.1 转换为 MP4
linuxmi@linuxmi /home/linuxmi/linuxmi.com
⚡ ffmpeg -i linuxmi.mov -c:v libx264 -c:a aac linuxmi.con.mp4
libx264是最流行的 H.264 编码器之一。 libx264
+aac
组合支持 IE11。使用-crf
选项来控制输出质量。1.2 转换为 WebM
/home/linuxmi/linuxmi.com
ffmpeg -i linuxmi.mov \
-c:v libvpx-vp9 -crf 31 -b:v 1M \
-c:a libvorbis \
linuxmi.webm
-crf
代表恒定速率因子。libvpx没有默认的 CRF 值。-crf 31
用于 1080p 通常被认为足够好了,而它可以接受 0(无损)和 63(最差质量)之间的任何数字。供您参考,libx264的默认值为 28,范围从 0 到 51。-b:v
是比特率的一个选项。值1M
与1000k
相同。1.3 转换为 Ogg
/home/linuxmi/www.linuxmi.com
ffmpeg -i linuxmi.mov \
-c:v libtheora -q:v 5 \
-c:a libvorbis -q:a 5 \
linuxmi.ogg
-q:v
(视频)和-q:a
(音频)是可变比特率 (VBR) 质量级别的选项。取值范围是 1-31,其中 1 是最高质量,31 是最低质量。或者,它们分别与-qscale:v
和-qscale:a
相同。1.4 转换为 GIF
ffmpeg -i linuxmi.mov \
-vf " \
scale=960:-1, \
fps=16, \
split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse
\
-loop 0 \
linuxmi.gif
1.5 保持原始编码
ffmpeg -i linuxmi.mov -c copy linuxmi.com.mov
这会创建源文件的副本。 1.6 移除音轨
ffmpeg -i linuxmi.mov -c:v copy -an linuxmi.mp4
-an
用于删除音轨,同时通过-c:v copy
选项保留视频轨道。1.7 将第 99 帧导出为图像
ffmpeg -i linuxmi.mov \
-vf "select=eq(n\, 98)" -vframes 1 \
linuxmi.png
由于帧数从 0 开始,所以选项应该是 "select=eq(n\, 98)"
,而不是"select=eq(n\, 99)"
。1.8 5秒导出一帧到一张图片
ffmpeg -i linuxmi.mov -ss 00:05:00 -vframes 1 linuxmi.png
2.高级编辑功能
您可以将以下选项与上述任何编解码器设置结合使用。 2.1 从源文件中剪切特定范围
ffmpeg -i linuxmi.mov \
-ss 00:05:00 -t 12 \
linuxmi.mp4
输出文件将从源文件的 5 分钟开始,最大长度为 12 秒,这意味着如果源文件长于该时间,则输出视频将在源视频的 00:05:12 结束。 或者, -ss 00:05:00 -to 00:05:12
或-ss 300 -t 12
可用于相同的结果。-ss
可以不带-t
选项使用。2.2 调整视频大小
-
调整为 1920x1080
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com
⚡ ffmpeg -i linuxmi.mov \ -vf "scale=1920:1080" \ linuxmi.mp4
-
将宽度调整为 1920 保持源比率
ffmpeg -i linuxmi.mov \
-vf "scale=1920:-1" \
linuxmi.mp4
-
将宽度调整为 1920,但使用黑色填充将高度设置为 2160
ffmpeg -i linuxmi.mov \
-vf "scale=1920:-1, pad=1920:2160:-1:-1:color=black" \
linuxmi.mp4
2.3 改变视频播放速度
-
快 2 倍
ffmpeg -i linuxmi.mov \
-vf "setpts=PTS/2" \
-af "asetpts=PTS/2" \
linuxmi.mp4
-
1/2x 速度
ffmpeg -i linuxmi.mov \
-vf "setpts=PTS/.5" \
-af "asetpts=PTS/.5" \
linuxmi.mp4
PTS
代表演示时间戳。您可以通过分别在视频过滤器 (-vf
) 和音频过滤器 (-af
)上给出不同的数字来应用不同的视频和音频速度。2.4 设置每秒帧数(FPS)
ffmpeg -i linuxmi.mov -vf "fps=30" linuxmi.mp4
2.5 合并多个视频
ffmpeg -safe 0 -f concat \
-i <( \
for f in $PWD/*.@(mov|mp4); do \
printf "file ${f}\n"; \
done; \
) \
-c copy \
linuxmi.mov
上面的命令将当前目录中的所有 .mov 和 .mp4 文件合并并创建output.mov文件。所有视频必须具有相同的尺寸比以避免拉伸或变形。 2.6 设置画面组(GOP)
GOP(Group of Pictures)策略影响编码质量,所谓GOP,意思是画面组,一个GOP就是一组连续的画面。 ffmpeg -i linuxmi.mov -g 300 linuxmi.mp4
GOP 表示两个关键帧之间的距离。 2.7 复制源媒体的元数据
ffmpeg -i source.mov \
-map_metadata 0 -movflags use_metadata_tags \
linuxmi.mp4
由于某些视频存储自定义元数据,此命令可能无法正确复制所有数据。 如果要检查元数据,请安装exiftool并运行: exiftool -g1 -a -s -gps* linuxmi.mp4`
或者,您可以使用 exiftool 复制元数据,如下所示: exiftool -tagsFromFile linuxmi.mov -All:All linuxmi.mp4
Ok。现在有所收获吗? 来自:Linux迷链接:https://www.linuxmi.com/ffmpeg-shili.html
关注我们
长按或扫描下面的二维码关注
Linux公社
关注
Linux公社,添加“
星标
”
每天
获取
技术干货,让我们一起成长
合作联系:
文章评论