ffmpeg参数及常见视频文件编码格式

通用参数

参数说明示例
-i 指定输入文件的路径。可以有多个输入文件,用于复杂的合成等操作 ffmpeg -i input.mp4 output.avi
-y 覆盖输出文件,而不进行询问提示 ffmpeg -y -i input.mp4 output.mp4
-n 不覆盖输出文件,如果输出文件已存在则停止处理 ffmpeg -n -i input.mp4 output.mp4
-hide_banner 隐藏 FFmpeg 的启动信息和版权声明 ffmpeg -hide_banner -i input.mp4 output.mp4

视频编码参数

参数说明示例
-c:v-vcodec 指定视频编码器。如 libx264(H.264)、libx265(H.265)、mpeg4 ffmpeg -i input.mp4 -c:v libx264 output.mp4
-preset 设置编码速度和质量的平衡,仅适用于某些编码器(如 libx264libx265)。可选值有 ultrafastsuperfastveryfastfasterfastmediumslowslowerveryslow ffmpeg -i input.mp4 -c:v libx264 -preset fast output.mp4
-crf 恒定速率因子,用于控制视频质量,仅适用于某些编码器。值越小质量越高,文件越大,常见取值范围 18 - 28 ffmpeg -i input.mp4 -c:v libx264 -crf 23 output.mp4
-b:v 指定视频的比特率,如 1M 表示 1Mbps ffmpeg -i input.mp4 -c:v libx264 -b:v 1M output.mp4
-r 设置视频的帧率(FPS) ffmpeg -i input.mp4 -c:v libx264 -r 25 output.mp4
-s 设置视频的分辨率,格式为 宽度x高度 ffmpeg -i input.mp4 -c:v libx264 -s 1280x720 output.mp4

音频编码参数

参数说明示例
-c:a-acodec 指定音频编码器。如 aacmp3ac3 ffmpeg -i input.mp4 -c:a aac output.mp4
-b:a 指定音频的比特率 ffmpeg -i input.mp4 -c:a aac -b:a 128k output.mp4
-ar 设置音频的采样率,单位为 Hz ffmpeg -i input.mp4 -c:a aac -ar 44100 output.mp4
-ac 设置音频的声道数,如 1 表示单声道,2 表示立体声 ffmpeg -i input.mp4 -c:a aac -ac 2 output.mp4

滤镜参数

参数说明示例
-vf 应用视频滤镜,可用于裁剪、缩放、添加水印等操作 ffmpeg -i input.mp4 -vf "scale=1280:720" output.mp4(缩放视频) ffmpeg -i input.mp4 -vf "crop=640:480:100:100" output.mp4(裁剪视频) ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=10:10" output.mp4(添加水印)
-af 应用音频滤镜,如调整音量、降噪等 ffmpeg -i input.mp4 -af "volume=0.5" output.mp4(将音量降低一半)

输出格式参数

参数说明示例
-f 指定输出文件的格式,通常可省略,FFmpeg 会根据文件扩展名自动判断 ffmpeg -i input.mp4 -f avi output.avi
-movflags +faststart 将 MP4 文件的元数据移到文件开头,便于流式传输 ffmpeg -i input.mp4 -c:v libx264 -movflags +faststart output.mp4

其他参数

参数说明示例
-ss 从指定时间开始处理视频,格式为 hh:mm:ss秒数 ffmpeg -ss 00:01:00 -i input.mp4 output.mp4(从第 1 分钟开始处理)
-t 指定处理的时长,格式同 -ss ffmpeg -i input.mp4 -t 00:00:30 output.mp4(处理 30 秒)
-to 处理到指定时间结束,格式同 -ss ffmpeg -i input.mp4 -to 00:02:00 output.mp4(处理到第 2 分钟结束)
需要注意的是,以上只是 ffmpeg.exe 支持的部分常用参数,其完整的参数列表和详细说明可以通过在命令行中输入 ffmpeg -h full 查看,或者参考 FFmpeg 官方文档
 
 
各种类型的视频文件分别采用哪种编码格式
 
不同类型的视频文件可以采用多种编码格式,以下为你详细介绍常见视频文件类型及其常用的编码格式:

1. MP4

  • 视频编码
    • H.264(AVC):这是目前应用最广泛的视频编码标准之一。它具有较高的压缩比和良好的兼容性,能在保证视频质量的前提下有效减小文件大小。大多数在线视频平台(如 YouTube、腾讯视频等)都广泛使用 H.264 编码的 MP4 文件。
    • H.265(HEVC):作为 H.264 的下一代编码标准,H.265 能提供更高的压缩效率,在相同视频质量下,文件大小可比 H.264 减少一半左右。不过,其编码和解码的计算复杂度相对较高,对设备性能有一定要求。
    • VP9:由 Google 开发的开源视频编码格式,旨在提供与 H.265 相当的压缩性能,且无需支付专利费用。在一些支持 WebM 格式的网站以及 Google 的相关服务中较为常用。
  • 音频编码
    • AAC:高级音频编码,具有高音质、低比特率的特点,是 MP4 文件中最常用的音频编码格式。
    • MP3:虽然是一种较老的音频编码格式,但由于其广泛的兼容性,仍然在部分 MP4 文件中被使用。

2. AVI

  • 视频编码
    • DivX:是一种基于 MPEG - 4 标准的视频编码格式,具有较高的压缩比和较好的视频质量,在早期的视频文件中较为常见。
    • XviD:同样基于 MPEG - 4 标准,是 DivX 的开源替代品,也广泛应用于 AVI 文件中。
    • MJPEG(Motion JPEG):将视频的每一帧都作为独立的 JPEG 图像进行编码,优点是解码简单、兼容性好,但文件大小相对较大。
  • 音频编码
    • MP3:是 AVI 文件中常用的音频编码格式之一,因其广泛的兼容性和较好的音质而被广泛采用。
    • AC3(Dolby Digital):常用于支持环绕声的 AVI 文件,能提供较好的音频效果。

3. MKV

  • 视频编码
    • H.264:由于其广泛的兼容性和良好的压缩性能,H.264 也是 MKV 文件中常用的视频编码格式。
    • H.265:随着设备性能的提升,H.265 编码的 MKV 文件也越来越常见,能在更小的文件体积下提供更高的视频质量。
    • VP9:在一些注重开源和免费的场景中,VP9 编码的 MKV 文件也有一定的应用。
  • 音频编码
    • AAC:与 MP4 文件类似,AAC 也是 MKV 文件中常用的音频编码格式。
    • FLAC:无损音频编码格式,能提供高质量的音频还原,适合对音频质量要求较高的用户。
    • DTS:常用于支持多声道环绕声的 MKV 文件,能提供出色的音频效果。

4. FLV

  • 视频编码
    • Sorenson Spark:早期 FLV 文件常用的视频编码格式,主要用于 Adobe Flash Player 播放。
    • VP6:由 On2 Technologies 开发的视频编码格式,在 FLV 文件中也有一定的应用,后来逐渐被 H.264 取代。
    • H.264:目前 FLV 文件最常用的视频编码格式,结合了 Flash Player 的广泛支持和 H.264 的高效压缩性能。
  • 音频编码
    • MP3:是 FLV 文件中最常用的音频编码格式,具有良好的兼容性和音质。
    • AAC:也逐渐在 FLV 文件中得到应用,能提供更高的音频质量。

5. WMV

  • 视频编码
    • WMV(Windows Media Video):微软开发的视频编码格式,有多个版本,如 WMV7、WMV8、WMV9 等。WMV 格式在 Windows 系统中具有较好的兼容性。
  • 音频编码
    • WMA(Windows Media Audio):微软开发的音频编码格式,与 WMV 视频编码配合使用,能提供较好的音频效果。

6. MPEG

  • 视频编码
    • MPEG - 1:主要用于 VCD 光盘,具有较低的视频质量和文件大小,适合在早期的设备上播放。
    • MPEG - 2:广泛应用于 DVD 光盘、数字电视广播等领域,能提供较高的视频质量。
    • MPEG - 4:是一个系列的视频编码标准,包括多种编码格式,如 DivX、XviD 等,具有较高的压缩比和良好的视频质量。
posted @   rf8862  阅读(70)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 我与微信审核的“相爱相杀”看个人小程序副业
点击右上角即可分享
微信分享提示