2、ffmpeg系列学习——FFmpeg命令行工具

  1. FFmpeg命令行语法

FFmpeg命令行语法是指使用FFmpeg进行媒体处理时所使用的命令格式和语法规则。在使用FFmpeg时,需要按照一定的语法格式来输入命令,以指定媒体处理的具体操作。

下面是一些常用的FFmpeg命令行语法:

  1. 输入文件格式

指定要处理的媒体文件的格式和路径,例如:

ffmpeg -i input.mp4
  1. 输出文件格式

指定输出媒体文件的格式和路径,例如:

ffmpeg -i input.mp4 output.avi
  1. 视频编解码

指定视频编解码方式,例如:

ffmpeg -i input.mp4 -vcodec h264 output.mp4
  1. 音频编解码

指定音频编解码方式,例如:

ffmpeg -i input.mp4 -acodec aac output.mp4
  1. 视频转码

将视频文件转换为指定格式,例如:

ffmpeg -i input.mp4 -vcodec h264 -acodec aac output.mp4
  1. 视频剪切

剪切视频文件的指定时间段,例如:

ffmpeg -i input.mp4 -ss 00:00:10 -t 00:00:05 output.mp4
  1. 视频裁剪

裁剪视频文件的指定区域,例如:

ffmpeg -i input.mp4 -vf crop=640:360:0:0 output.mp4
  1. 视频旋转

将视频文件旋转指定角度,例如:

ffmpeg -i input.mp4 -vf rotate=90 output.mp4
  1. 视频水印

给视频添加水印,例如:

ffmpeg -i input.mp4 -i logo.png -filter_complex overlay=10:10 output.mp4
  1. 视频缩放

调整视频的尺寸大小,例如:

ffmpeg -i input.mp4 -vf scale=320:240 output.mp4

不同的媒体处理任务需要使用不同的命令语法。在使用FFmpeg时,需要结合实际情况选择合适的命令进行媒体处理。

  1. FFmpeg命令行参数详解

FFmpeg是一款功能强大的开源跨平台音视频处理工具,支持几乎所有主流的音视频格式和编解码器,包括H.264、H.265、MP4、AVI、FLV、MOV、AAC等。

下面是一些常用的FFmpeg命令行参数的详解:

  1. -i:指定输入文件路径,可以是本地文件路径或者网络路径,例如:ffmpeg -i input.mp4

  1. -f:指定输入/输出文件格式,例如:ffmpeg -f mp4 -i input.flv output.mp4

  1. -vcodec:指定视频编解码器,例如:ffmpeg -i input.mp4 -vcodec copy output.mp4

  1. -acodec:指定音频编解码器,例如:ffmpeg -i input.mp4 -acodec copy output.mp4

  1. -ss:指定起始时间,例如:ffmpeg -i input.mp4 -ss 00:01:00 -t 00:00:30 output.mp4,表示从第1分钟开始截取30秒。

  1. -t:指定持续时间,例如:ffmpeg -i input.mp4 -t 00:00:30 output.mp4,表示截取前30秒。

  1. -s:指定分辨率大小,例如:ffmpeg -i input.mp4 -s 640x360 output.mp4

  1. -r:指定帧率,例如:ffmpeg -i input.mp4 -r 24 output.mp4

  1. -b:v:指定视频码率,例如:ffmpeg -i input.mp4 -b:v 500k output.mp4,表示视频码率为500k。

  1. -b:a:指定音频码率,例如:ffmpeg -i input.mp4 -b:a 128k output.mp4,表示音频码率为128k。

  1. -filter_complex:指定复杂滤镜,例如:ffmpeg -i input.mp4 -filter_complex "[0:v]scale=640:360[v];[v]copy[v1];[v1]copy[v2]" -map "[v2]" output.mp4,表示将输入视频缩放为640x360,并复制为两份输出。

  1. -map:指定输入/输出流,例如:ffmpeg -i input.mp4 -map 0:v -map 0:a output.mp4,表示将输入文件中的视频和音频流都输出到输出文件中。

  1. 基本的音视频处理命令(转码、分离、合并、裁剪等)

FFmpeg 是一款功能强大的音视频处理工具,可以用于音视频的编码、解码、转码、剪切、合并、水印等处理操作。以下是一些常用的音视频处理命令:

  1. 转码命令

可以将一种格式的音视频文件转成另一种格式。

ffmpeg -i input.mp4 output.avi

上述命令将 MP4 格式的文件转换为 AVI 格式。

  1. 分离音视频命令

可以将视频文件中的音频和视频分离出来。

ffmpeg -i input.mp4 -vn -acodec copy audio.mp3
ffmpeg -i input.mp4 -an -vcodec copy video.mp4

上述命令将 MP4 格式的文件分离出音频和视频,一个命令只输出音频,另一个命令只输出视频。

  1. 合并音视频命令

可以将多个音频或视频文件合并成一个。

ffmpeg -i input1.mp4 -i input2.mp4 -i input3.mp4 -filter_complex "[0:v][0:a][1:v][1:a][2:v][2:a] concat=n=3:v=1:a=1" output.mp4

上述命令将三个 MP4 格式的文件合并成一个。

  1. 裁剪命令

可以将视频文件裁剪成指定的长度。

ffmpeg -i input.mp4 -ss 00:00:05 -t 00:00:10 -c copy output.mp4

上述命令将 MP4 格式的文件从第 5 秒开始裁剪,裁剪长度为 10 秒。

猜你喜欢

转载自blog.csdn.net/ayou_llf/article/details/129216549