LinMao's Blog
学习科研记录与分享!

ffmpeg常用命令

FFmpeg( Fast Forward Mpeg)是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。很多软件都是基于这个做的,在linux下面直接在命令行中就可以使用,平时处理视频图片很方便,网上很多博客里面的命令报错,所以整理一下一些常用的命令。

FFmpeg不是Ubuntu自带的工具,需要apt安装:

命令格式:

下面总结一些常用的ffmpeg音视频及图像处理命令

查看视频信息

另外下面命令可以预览播放视频音频,附带在命令行中显示信息

从视频中提取图像

-r – 设置帧速度。即,每秒提取帧到图像的数字。默认值是 25。

-f – 表示输出格式,即,在我们的实例中是图像。

%05d.jpg – 表明我们如何想命名提取的图像,图像可以其他的格式,比如.png。

将多张图片合成视频

带音频合成:

-threads 2:以两个线程进行运行, 加快处理的速度。

-y:对输出文件进行覆盖

-r 10:fps设置为10帧/秒

-absf aac_adtstoasc 编码音频格式,使之能在一些设备上能播放

不带音频合成:

-loop:1循环读输入, 0读完就不读了
-vcode:编码格式为libx264

从视频中截取一段视频

–ss – 表示视频剪辑的开始时间。在我们的示例中,开始时间是第 50 秒。

-t – 表示总的持续时间。

将视频切成几个片段

-t 00:00:30 表示从视频的开始到视频的第 30 秒创建一部分视频。

-ss 00:00:30 为视频的下一部分显示开始时间戳。这里表示第 2 部分将从第 30 秒开始,并将持续到原始视频文件的结尾。

拼合多个视频

先创建一个文件的描述文件join.txt

然后执行拼接命令:

上面这个命令也可以用来将图片拼接成视频,只不过将join.txt稍微修改

duration表示这张图播放时长,最后一个图要重复写一遍,但不用加duration。

设置视频宽高比

-aspect 设置一个视频文件的屏幕高宽比

裁剪视频区域

input.mp4:源视频文件
-filter:v:表示视频过滤器
crop :表示裁剪过滤器
w :想在源视频中裁剪的矩形的宽度
h :想在源视频中裁剪的矩形的高度
x :想在源视频中裁剪的矩形的 x 坐标
y :想在源视频中裁剪的矩形的 y 坐标

转换视频格式

更改视频分辨率

更改视频帧率

下面两种改变FPS的方式只是-r的位置不同,效果就不同。

改变FPS,视频质量不变,视频时长改变:

降低FPS,视频时长不变,视频质量变差:

更改视频播放速度

给视频添加字幕

音频文件相关

压缩音频:

常见音频比特率:96kbps、112kbps、128kbps、160kbps、192kbps、256kbps、320kbps;比特率越高音质越好。

添加海报图像到音频文件:

移除视频中的音频:

-an:表示没有音频录制

移除视频中的视频流(视频转音频):

-vn:表示没有视频录制

 

Reference:

给初学者的 20 多个 FFmpeg 命令示例

使用ffmpeg修改视频文件的分辨率

FFmpeg将多张图片合成视频

赞(0) 打赏
转载请注明出处:LinMao's Blog(林茂的博客) » ffmpeg常用命令

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

LinMao's Blog(林茂的博客)

了解更多联系我们

觉得文章有用就打赏一下作者吧~

支付宝扫一扫打赏

微信扫一扫打赏