转码
指令
ffmpeg -i input.mp4 output.avi
这个指令是使用FFmpeg工具对视频进行格式转换的命令。
其中,"-i input.mp4"表示指定输入文件为"input.mp4",而"output.avi"则是指定输出文件名,并将视频转码成AVI格式。通过这个指令,你可以将一个视频文件(input.mp4)转码成AVI格式并保存为output.avi文件。
ffmpeg -i input.mp4 output.avi
这个指令是使用FFmpeg工具对视频进行格式转换的命令。
其中,"-i input.mp4"表示指定输入文件为"input.mp4",而"output.avi"则是指定输出文件名,并将视频转码成AVI格式。通过这个指令,你可以将一个视频文件(input.mp4)转码成AVI格式并保存为output.avi文件。
转码过程
FFmpeg工具进行转码包括以下几个过程:
-
输入解析:FFmpeg会读取输入文件的媒体信息,并解析出视频、音频和字幕等数据。
-
解码:根据输入文件的编码格式,FFmpeg会将视频、音频等数据进行解码,将其转换成原始的未压缩数据。
-
滤镜处理:可选的步骤。FFmpeg支持一系列滤镜功能,如色彩调整、尺寸调整、旋转、剪裁等。可以通过添加滤镜来处理视频效果。
-
编码:根据所需的输出格式,FFmpeg会将解码后的数据重新编码,压缩文件大小并采用目标格式及编码参数来保留所需的视频质量和音频质量。
-
封装:将编码后的视频、音频等数据进行封装,生成目标格式的多媒体文件。封装过程中还包括生成容器格式(如MP4、AVI、MKV等)以及添加元数据(如时长、标题、作者等)。
-
输出保存:将最终的多媒体文件保存到指定的输出文件中。
通过这些过程,FFmpeg能够实现视频转码的功能,满足不同格式需求或者优化文件大小和质量的要求。
播放音视频
指令
ffplay -i input.mp4
"ffplay -i input.mp4"是使用FFmpeg工具的ffplay命令进行视频播放的指令。
该指令的作用是使用FFmpeg提供的ffplay播放器,打开并播放名为"input.mp4"的视频文件。通过执行这个指令,你可以在终端或命令行界面中直接播放指定的视频文件,而无需使用其他视频播放软件。ffplay能够支持多种音视频格式,并提供一些基本控制功能,如播放、暂停、快进、快退等。
播放过程
使用FFmpeg的ffplay工具进行音视频播放包括以下几个过程:
-
输入解析:ffplay会读取输入文件的媒体信息,并解析出音频、视频和字幕等数据。
-
解码:根据输入文件的编码格式,ffplay会将音频和视频数据进行解码,将其转换成原始的未压缩数据。
-
播放控制:ffplay会创建一个窗口或画布,并根据视频的帧率开始展示解码后的视频帧。同时,ffplay会根据音频的采样率开始播放解码后的音频样本。
-
音视频同步:ffplay会根据音频和视频的时间戳进行同步操作,确保音频和视频的播放保持一致。
-
播放渲染:ffplay会使用计算机的图形或音频设备对解码后的数据进行渲染和输出,让用户能够观看和听到实际的音视频内容。
通过这些过程,ffplay能够实现音视频文件的播放功能,让用户能够直接在终端或命令行界面中播放音视频文件,无需使用其他播放器软件。
播放控制
ffplay工具提供了一些基本的播放控制功能,包括:
-
播放和暂停:按下空格键可以切换播放和暂停状态。
-
快进和快退:使用方向键右和左可以进行快进和快退操作。每按一次方向键,快进或快退的速度将加倍。
-
跳转到指定时间:按下键盘上的数字键可以跳转到视频或音频文件中的指定时间点。例如,按下"2"会将当前位置跳转到文件的 20% 处。
-
增加和降低音量:按下 "+" 和 "-" 可以增加或降低音量。
-
静音:按下 "m" 可以在静音和非静音状态之间切换。
-
全屏模式:按下 "f" 可以切换全屏模式。
-
退出播放:按下 "q" 或者关闭播放窗口即可退出播放。
要操作这些播放控制功能,只需在打开视频时,将视频文件拖拽到ffplay的命令行界面并按下回车键。然后,通过键盘按键来实现相应的播放控制操作。
文件信息
指令
ffprobe -i input.avi
具体来说,"-i input.mp4" 表示指定要分析的输入文件为 "input.mp4"。
输出内容
通过执行这个命令,可以得到以下信息:
-
视频信息:包括编码格式、分辨率、帧率、比特率等。
-
音频信息:包括编码格式、声道数、采样率等。
-
流信息:如果视频文件中包含多个音频或视频流,将显示每个流的相关信息,如流索引、类型、时长等。
-
元数据信息:包括视频文件的标题、作者、创建日期等元数据。
ffprobe 的输出结果以文本形式呈现,可供用户对视频文件进行更深入的分析和了解。
FFmpeg 的命令语法
ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...
具体来说,该命令的作用是通过指定不同的选项和参数组合,将一个或多个输入文件进行处理,并生成一个或多个输出文件。
命令的结构如下:
-
"ffmpeg": 执行 FFmpeg 工具。
-
"[options]": 可选的全局选项,用于配置一些通用设置,例如选择编码器、调整时间戳等。
-
"[[infile options] -i infile]...": 输入文件选项和输入文件的说明。可以指定一个或多个输入文件,每个输入文件可以附带特定的选项。
-
"{[outfile options] outfile}...": 输出文件选项和输出文件的说明。可以指定一个或多个输出文件,每个输出文件可以附带特定的选项。
通过在命令中使用不同的选项和参数组合,您可以实现各种音视频处理操作,例如转码、剪切、拼接、加速/减速、添加字幕、调整音频音量等。
需要注意的是,FFmpeg 是一个功能强大且复杂的工具,命令行参数和选项非常丰富。正确使用和理解这些参数和选项需要一定的学习和实践。建议参考 FFmpeg 的官方文档或其他资源以深入了解其功能和使用方法。
查看是否支持某种格式
ffmpeg -h muxer=flv
ffmpeg -h demuxer=flv
ffmpeg -h encoder=h264
ffmpeg -h decoder=h264
FFmpeg 的命令参数
指令
ffmpeg -h long
输出
主要包括以下几类:ffmpeg公共信息查询;公共操作参数;文件主要操作部分;视频操作参数部分;音频操作参数部分;字幕操作参数部分;