linux中ffmpeg全命令
-
FFmpeg是一个用于处理多媒体数据的开源跨平台解决方案。它既可以作为命令行工具使用,也可以作为库被其他应用程序所调用。以下是Linux中FFmpeg的全命令介绍。
1. ffmpeg:转码多媒体文件命令
用法:ffmpeg [参数] -i 输入文件 输出文件
示例:ffmpeg -i input.mp4 output.avi2. ffplay:播放多媒体文件命令
用法:ffplay [参数] 输入文件
示例:ffplay input.mp43. ffprobe:检测多媒体文件命令
用法:ffprobe [参数] 输入文件
示例:ffprobe input.mp44. -i:指定输入文件
示例:-i input.mp45. -y:覆盖已存在的输出文件
示例:-y6. -vcodec:指定视频编码器
示例:-vcodec h2647. -acodec:指定音频编码器
示例:-acodec aac8. -s:指定视频分辨率
示例:-s 1280×7209. -r:指定视频帧率
示例:-r 3010. -b:指定视频码率
示例:-b 1M11. -ab:指定音频码率
示例:-ab 128k12. -ar:指定音频采样率
示例:-ar 4410013. -ss:指定开始时间
示例:-ss 00:01:3014. -t:指定持续时间
示例:-t 6015. -vf:指定视频滤镜
示例:-vf “scale=640:480”16. -c:v:指定视频编码器
示例:-c:v libx26417. -c:a:指定音频编码器
示例:-c:a aac18. -map:指定输入文件的流
示例:-map 0:v -map 0:a以上是一些常用的Linux中FFmpeg的命令及参数介绍。使用这些命令可以实现多媒体文件的转码、播放和检测等功能。具体使用时,可以根据需要选择适当的命令和参数,并结合FFmpeg提供的丰富功能来完成相应的操作。
2年前 -
1. ffmpeg -i input.mp4 output.avi:将input.mp4文件转换为output.avi文件。-i参数用于指定输入文件,第一个文件名是要转换的输入文件,第二个文件名是要保存的输出文件。
2. ffmpeg -i input.mp4 -c:v copy output.mp4:将input.mp4文件复制到output.mp4文件中,不进行任何编码。-c:v参数用于指定视频编码器,copy表示直接复制,省去了重新编码的时间。
3. ffmpeg -i input.mp4 -vf “scale=640:480” output.mp4:将input.mp4文件的尺寸缩放为640×480,并将结果保存到output.mp4文件中。-vf参数用于指定视频过滤器,scale表示缩放,后面跟着要缩放的宽度和高度。
4. ffmpeg -i input.mp4 -b:v 1M output.mp4:将input.mp4文件转换为输出文件output.mp4,并将视频流的比特率设置为1 Mbps。-b:v参数用于指定视频比特率,1M表示1 Mbps。
5. ffmpeg -i input.mp4 -an output.mp4:将input.mp4文件转换为output.mp4文件,并去除音频流。-an参数表示去除音频流,只保留视频流。
6. ffmpeg -i input.mp4 -c:v libx264 -preset fast -crf 23 -c:a aac -b:a 128k output.mp4:将input.mp4文件转换为output.mp4文件,并使用libx264视频编码器和aac音频编码器进行重新编码。-preset参数用于指定编码速度和质量,fast表示快速编码,-crf参数用于指定视频质量,较低的数值表示更高的质量,-b:a参数用于指定音频比特率。
7. ffmpeg -i input.mp4 -r 24 output.mp4:将input.mp4文件转换为output.mp4文件,并将帧率设置为24帧/秒。-r参数用于指定输出文件的帧率。
8. ffmpeg -i input.mp4 -vf “eq=brightness=0.2:saturation=2” output.mp4:将input.mp4文件的亮度调整为0.2,饱和度调整为2,并将结果保存到output.mp4文件中。-vf参数用于指定视频过滤器,eq表示均衡器,后面可以跟着要调整的参数。
9. ffmpeg -i input.mp4 -ss 00:00:05 -t 00:00:10 output.mp4:从input.mp4文件中提取第5秒后的10秒视频,并将结果保存到output.mp4文件中。-ss参数用于指定开始时间,-t参数用于指定持续时间。
10. ffmpeg -f concat -i input.txt -c copy output.mp4:将input.txt文件中列出的多个视频文件按顺序合并为一个output.mp4文件。-f参数用于指定输入文件格式,concat表示合并操作。
2年前 -
FFmpeg 是一个开源的多媒体框架,包含了一系列用于处理视频、音频和流媒体的工具和库。它能够在多种平台上进行跨平台操作,包括 Linux、Windows 和 macOS 等。FFmpeg 提供了一个非常完整、灵活的命令行工具集,可以用来处理音视频文件、转码、剪辑、合并和提取媒体信息等。
下面是 Linux 中 FFmpeg 的全命令列表:
## 安装 FFmpeg 提供的命令行工具
“`shell
sudo apt update
sudo apt install ffmpeg
“`## 基本用法
### 1. 通过指定输入和输出文件来进行基本的转码
“`shell
ffmpeg -i input.mp4 output.avi
“`
上面的命令将把 `input.mp4` 文件转码为 `output.avi`。### 2. 视频转码参数
– 指定输出的视频比特率:
“`shell
ffmpeg -i input.mp4 -b:v 1M output.mp4
“`
上面的命令中 `-b:v 1M` 指定了输出视频的比特率为 1M。– 指定输出的视频尺寸:
“`shell
ffmpeg -i input.mp4 -s 1280×720 output.mp4
“`
上面的命令中 `-s 1280×720` 指定了输出视频的尺寸为 1280×720。– 视频编码器参数:
“`shell
ffmpeg -i input.mp4 -c:v libx264 output.mp4
“`
上面的命令中 `-c:v libx264` 指定了使用 libx264 编码器进行视频编码。### 3. 音频转码参数
– 指定输出的音频比特率:
“`shell
ffmpeg -i input.mp4 -b:a 128k output.mp4
“`
上面的命令中 `-b:a 128k` 指定了输出音频的比特率为 128k。– 指定输出的音频采样率:
“`shell
ffmpeg -i input.mp4 -ar 44100 output.mp4
“`
上面的命令中 `-ar 44100` 指定了输出音频的采样率为 44100。– 音频编码器参数:
“`shell
ffmpeg -i input.mp4 -c:a aac output.mp4
“`
上面的命令中 `-c:a aac` 指定了使用 AAC 编码器进行音频编码。## 媒体处理和编辑
### 1. 视频剪辑
– 指定视频开始时间和持续时间进行剪辑:
“`shell
ffmpeg -i input.mp4 -ss 00:01:00 -t 00:00:30 output.mp4
“`
上面命令中 `-ss 00:01:00` 指定了开始时间为 1 分钟,`-t 00:00:30` 指定了持续时间为 30 秒,将从 `input.mp4` 中提取从第 1 分钟开始的 30 秒时长的视频保存为 `output.mp4`。### 2. 视频合并
– 合并多个视频文件:
“`shell
ffmpeg -i input1.mp4 -i input2.mp4 -filter_complex concat+n=2:v=1:a=0 output.mp4
“`
上面的命令中 `concat+n=2:v=1:a=0` 指定了需要合并两个视频文件,`v=1` 表示将视频流合并为一个,`a=0` 表示不包含音频。### 3. 提取音频
“`shell
ffmpeg -i input.mp4 -vn -acodec copy output.m4a
“`
上面的命令中 `-vn` 表示禁止视频流的处理,`-acodec copy` 表示直接拷贝音频流。将从 `input.mp4` 中提取音频保存为 `output.m4a`。## 媒体信息提取
### 1. 查看视频文件的元数据信息
“`shell
ffprobe -i input.mp4 -show_entries format=duration,size -v quiet -of csv=”p=0″
“`
上面的命令将会输出 `input.mp4` 的时长和文件大小。### 2. 查看视频文件的音频流和视频流信息
“`shell
ffprobe -i input.mp4 -show_streams
“`
上面的命令将会输出 `input.mp4` 的音频流和视频流的详细信息。以上只是 FFmpeg 中一小部分常用的命令,还有很多功能强大的命令没有一一列出。FFmpeg 的命令集非常丰富,可以根据具体需求进行灵活使用。
2年前