FFmpeg命令行语法
FFmpeg命令行语法是指使用FFmpeg进行媒体处理时所使用的命令格式和语法规则。在使用FFmpeg时,需要按照一定的语法格式来输入命令,以指定媒体处理的具体操作。
下面是一些常用的FFmpeg命令行语法:
输入文件格式
指定要处理的媒体文件的格式和路径,例如:
ffmpeg -i input.mp4
输出文件格式
指定输出媒体文件的格式和路径,例如:
ffmpeg -i input.mp4 output.avi
视频编解码
指定视频编解码方式,例如:
ffmpeg -i input.mp4 -vcodec h264 output.mp4
音频编解码
指定音频编解码方式,例如:
ffmpeg -i input.mp4 -acodec aac output.mp4
视频转码
将视频文件转换为指定格式,例如:
ffmpeg -i input.mp4 -vcodec h264 -acodec aac output.mp4
视频剪切
剪切视频文件的指定时间段,例如:
ffmpeg -i input.mp4 -ss 00:00:10 -t 00:00:05 output.mp4
视频裁剪
裁剪视频文件的指定区域,例如:
ffmpeg -i input.mp4 -vf crop=640:360:0:0 output.mp4
视频旋转
将视频文件旋转指定角度,例如:
ffmpeg -i input.mp4 -vf rotate=90 output.mp4
视频水印
给视频添加水印,例如:
ffmpeg -i input.mp4 -i logo.png -filter_complex overlay=10:10 output.mp4
视频缩放
调整视频的尺寸大小,例如:
ffmpeg -i input.mp4 -vf scale=320:240 output.mp4
不同的媒体处理任务需要使用不同的命令语法。在使用FFmpeg时,需要结合实际情况选择合适的命令进行媒体处理。
FFmpeg命令行参数详解
FFmpeg是一款功能强大的开源跨平台音视频处理工具,支持几乎所有主流的音视频格式和编解码器,包括H.264、H.265、MP4、AVI、FLV、MOV、AAC等。
下面是一些常用的FFmpeg命令行参数的详解:
-i:指定输入文件路径,可以是本地文件路径或者网络路径,例如:ffmpeg -i input.mp4。
-f:指定输入/输出文件格式,例如:ffmpeg -f mp4 -i input.flv output.mp4。
-vcodec:指定视频编解码器,例如:ffmpeg -i input.mp4 -vcodec copy output.mp4。
-acodec:指定音频编解码器,例如:ffmpeg -i input.mp4 -acodec copy output.mp4。
-ss:指定起始时间,例如:ffmpeg -i input.mp4 -ss 00:01:00 -t 00:00:30 output.mp4,表示从第1分钟开始截取30秒。
-t:指定持续时间,例如:ffmpeg -i input.mp4 -t 00:00:30 output.mp4,表示截取前30秒。
-s:指定分辨率大小,例如:ffmpeg -i input.mp4 -s 640x360 output.mp4。
-r:指定帧率,例如:ffmpeg -i input.mp4 -r 24 output.mp4。
-b:v:指定视频码率,例如:ffmpeg -i input.mp4 -b:v 500k output.mp4,表示视频码率为500k。
-b:a:指定音频码率,例如:ffmpeg -i input.mp4 -b:a 128k output.mp4,表示音频码率为128k。
-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,并复制为两份输出。
-map:指定输入/输出流,例如:ffmpeg -i input.mp4 -map 0:v -map 0:a output.mp4,表示将输入文件中的视频和音频流都输出到输出文件中。
基本的音视频处理命令(转码、分离、合并、裁剪等)
FFmpeg 是一款功能强大的音视频处理工具,可以用于音视频的编码、解码、转码、剪切、合并、水印等处理操作。以下是一些常用的音视频处理命令:
转码命令
可以将一种格式的音视频文件转成另一种格式。
ffmpeg -i input.mp4 output.avi
上述命令将 MP4 格式的文件转换为 AVI 格式。
分离音视频命令
可以将视频文件中的音频和视频分离出来。
ffmpeg -i input.mp4 -vn -acodec copy audio.mp3
ffmpeg -i input.mp4 -an -vcodec copy video.mp4
上述命令将 MP4 格式的文件分离出音频和视频,一个命令只输出音频,另一个命令只输出视频。
合并音视频命令
可以将多个音频或视频文件合并成一个。
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 格式的文件合并成一个。
裁剪命令
可以将视频文件裁剪成指定的长度。
ffmpeg -i input.mp4 -ss 00:00:05 -t 00:00:10 -c copy output.mp4
上述命令将 MP4 格式的文件从第 5 秒开始裁剪,裁剪长度为 10 秒。