【FFmpeg是一个用于录制、转换、流式传输视频和音频文件的开源工具库。创建于2000年,是一个强大的命令行工具,可以在Linux、Windows和Mac等操作系统上运行。本文收集了ff】【转载】

FFmpeg是一个用于录制、转换、流式传输视频和音频文件的开源工具库。创建于2000年,是一个强大的命令行工具,可以在Linux、Windows和Mac等操作系统上运行。

本文收集了ffmpeg的常用命令,介绍了视频文件转换、音频文件声音提取、将视频转换为GIF文件、pdf转为视频文件等。还有许多并未列举的内容可以参考官方文档:

https://ffmpeg.org/documentation.html

ffmpeg的下载地址为:

https://ffmpeg.org/download.html

以下是FFmpeg命令行的一些例子:

01

视频信息

ffmpeg -i video.mp4

02

视频格式转换

# 查看支持的格式列表ffmpeg -formats
# 格式转换ffmpeg -i video.mp4 video.avi
ffmpeg -i video.flv video.mpeg
ffmpeg -i input.webm -qscale 0 output.mp4

avi转flv​​​​​​​

ffmpeg -i original_video.avi -ab 56 -ar 44100 -b 200 -r 15 -s 320x240 -f flv final_video.flv

03

视频转换为音频

ffmpeg -i input.mp4 -vn output.mp3

也可以使用各种音频编码参数

ffmpeg -i input.mp4 -vn -ar 44100 -ac 2 -ab 320 -f mp3 output.mp3

04

修改视频分辨率​​​​​​​

ffmpeg -i input.mp4 -filter:v scale=1280:720 -c:a copy output.mp4
# 或者ffmpeg -i input.mp4 -s 1280x720 -c:a copy output.mp4

05

压缩视频文件

下面的命令将压缩并减少输出文件的大小。​​​​​​​

ffmpeg -i input.mp4 -vf scale=1280:-1 -c:v libx264 -preset veryslow -crf 24 output.mp4

减小视频文件的大小,将损失视频质量。也可以通过下面的选项来转换编码降低音频比特率,使其有立体声感,从而减小大小。

-ac 2 -c:a aac -strict -2 -b:a 128k

06

压缩音频

可以使用 -ab 标志压缩音频文件,各种压缩比特率为:96kbps、112kbps、128kbps、160kbps、192kbps、256kbps、320kbps。

ffmpeg -i input.mp3 -ab 128 output.mp3

07

视频文件删除音频

ffmpeg -i input.mp4 -an output.mp4

08

从视频文件删除视频

ffmpeg -i input.mp4 -vn output.mp3

使用-ab参数指定比特率。

ffmpeg -i input.mp4 -vn -ab 320 output.mp3

09

提取视频中的图像

ffmpeg -i input.mp4 -r 1 -f image2 image-%2d.png
  • 其中:
    -r – 设置帧速度。即,每秒提取帧到图像的数字。默认值是 25。

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

  • image-%2d.png 表明我们如何命名提取的图像。在这个实例中,命名应该像这样image-01.png、image-02.png、image-03.png 等等开始。如果你使用 %3d,那么图像的命名如:image-001.png、image-002.png 等等开始。

10

裁剪视频

ffmpeg -i input.mp4 -filter:v "crop=w:h:x:y" output.mp4

其中:

  • input.mp4 :输入视频文件。

  • -filter:v : 表示视频过滤器。

  • crop:表示裁剪过滤器。

  • w:视频中裁剪的矩形的宽度。

  • h:矩形的高度。

  • x:视频中裁剪的矩形的 x 坐标 。

  • y:矩形的 y 坐标。

例如:

要从一个具有 640 像素宽度和 480 像素高度的视频,裁剪当中的位置 (200,150),命令如下:

ffmpeg -i input.mp4 -filter:v "crop=640:480:200:150" output.mp4

11

指定特定位置转换视频格式

视频input.mp4 文件的开始 10 秒转为 .avi 格式

ffmpeg -i input.mp4 -t 10 output.avibr

12

视频高宽比

你可以使用 -aspect 标志设置一个视频文件的屏幕高宽比。

ffmpeg -i input.mp4 -aspect 16:9 output.mp4br

通常使用的高宽比是:

  • 16:9

  • 4:3

  • 16:10

  • 5:4

  • 2:21:1

  • 2:35:1

  • 2:39:1

13

添加海报图像到音频文件

添加海报图像到你的文件,以便图像将在播放音频文件时显示。

ffmpeg -loop 1 -i inputimage.jpg -i inputaudio.mp3 -c:v libx264 -c:a aac -strict experimental -b:a 192k -shortest output.mp4

14

使用开始和停止时间剪下一段媒体文件

ffmpeg -i input.mp4 -ss 00:00:50 -codec copy -t 50 output.mp4

其中:

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

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

 也可以使用下面命令剪下音频。

ffmpeg -i audio.mp3 -ss 00:01:54 -to 00:06:53 -c copy output.mp3

15

切分视频文件为多个部分

ffmpeg -i input.mp4 -t 00:00:30 -c copy part1.mp4 -ss 00:00:30 -codec copy part2.mp4

其中:

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

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

16

合并多个视频

创建一个join.txt文件,文件内容包含你想合并的视频文件路径。所有的文件都必须是相同的格式(相同的编码格式)。像下面这样逐个列出所有文件。​​​​​​​

file /home/sk/myvideos/part1.mp4file /home/sk/myvideos/part2.mp4file /home/sk/myvideos/part3.mp4file /home/sk/myvideos/part4.mp4

执行命令:

ffmpeg -f concat -safe 0 -i join.txt -c copy output.mp4

17

添加字幕到视频

fmpeg -i input.mp4 -i subtitle.srt -map 0 -map 1 -c copy -c:v libx264 -crf 23 -preset veryfast output.mp4

18

预览视频、音频​​​​​​​

ffplay video.mp4
ffplay audio.mp3

19

调整视频速度

提高速度

ffmpeg -i input.mp4 -vf "setpts=0.5*PTS" output.mp4

降低速度

ffmpeg -i input.mp4 -vf "setpts=4.0*PTS" output.mp4

20

视频转GIF

首先需要安装FFmpeg和ImageMagick。

以Ubuntu  linux为例:

sudo apt-get install ffmpeg imagemagick

执行转换命令

ffmpeg -ss 00:00:20 -i sample.mp4 -to 10 -r 10 -vf scale=200:-1 cutekid_cry.gif

其中:

  • -ss:表示GIF的起始点

  • -i:输入文件

  • sample.mp4:视频文件名

  • -to:GIF文件的结束位置

  • -r:帧速率。您可以增加该值以获得更高质量的GIF文件

  • -vf:过滤器,将GIF图像缩放到所需大小。

21

将PDF转为视频

将一堆 PDF 文件转为一个视频,以便于在大屏幕投放。

首先需要安装ffmpeg和ImageMagick

以Ubuntu  linux为例:

sudo apt-get install imagemagick

将PDF转为图片

convert -density 400 input.pdf picture.png

将图片转为mp4

ffmpeg -r 1/10 -i picture-%01d.png -c:v libx264 -r 30 -pix_fmt yuv420p video.mp4

其中:

-density 400 指定输出图像文件的水平分辨率。

帮助命令

帮助命令用于查看ffmpeg的介绍。

man ffmpeg

原文链接:

 

21个FFmpeg命令示例,做多媒体技术建议收藏 

  • 19
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值