FFmpeg使用 ffmpeg -i input.avi output.mp4

本文详细介绍了FFmpeg的基本使用方法,包括指定编码器(如H264和硬件加速)、调整转码速率、视频过滤(如缩放、裁剪和旋转)、剪切、合并视频、音频处理、GIF动图制作、屏幕录制以及音频和图片的转换。讲解了视频格式和编码格式的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基本使用 https://ffmpeg.org/

ffmpeg -i input.avi output.mp4
  • 输入 input.avi 输出 output.mp4

指定编码器 - 可以通过-c:v(video encoder) 去手动指定一个视频编码器,默认使用 H264

ffmpeg -i input.avi -c:v libx264 output.mp4  
ffmpeg -i input.avi -c:v h264_nvenc output.mp4
  • 这里的libx264就是FFmpeg默认提供的一个用纯软件实现的H264编码器
  • 如果你使用的是Nvidia显卡的话还可以用h264_nvenc进行硬件加速(显卡支持建议使用)  
  • 更多编码:H265(HEVC),VP9...。H264(最广泛)

转码速率

ffmpeg -i input.avi -preset ultrafast output.mp4
  • 速率升序 ultrfast > superfast > veryfast > faster > fast > medium(默认) > slow > slower > veryslow
  • 大小(质量)降序 ultrfast > superfast > veryfast > faster > fast > medium(默认) > slow > slower > veryslow

视频过滤器 - 对视频图像进行变换(改变尺寸,裁剪,旋转,添加滤镜...)

ffmpeg -i input.avi -c:v libx264 -vf "scale=256:-1,transpose=1" output.mp4

         - scale:缩放, -1表示自适应;transpose:旋转

ffmpeg -i input.avi -c:v libx264 -vf "crop=400:400:100:100" output.mp4
  • crop=w:h:x:y;w: 宽;h:高;x,y:左上角坐标
  • crop=iw/3:ih/3;将宽高设为原来的3/1。iw表示输入视频的宽度,ih表示输入视频的高度
  • 更多可以到官网查询...https://ffmpeg.org/ffmpeg-filters.html

剪切视频

ffmpeg -i input.avi -ss 00:00:03 -t 00:00:05 output.mp4
  • ss:视频起始位置,-t 剪切时长;这里时间也可以使用毫秒数
ffmpeg -i input.avi -ss 00:00:03 -to 00:01:05 output.mp4
  • to:结束位置

合并视频

file 'video1.mp4'
file 'video2.mp4'
file 'video3.mp4'
  • 将文件列表列举到一个文件(fileList.txt)里
ffmpeg -f concat -i fileList.txt -c copy output.mp4
  • -f concat 指定输入的文件是一个视频列表
  • -i 传入列表文件
  • -c copy 表示不希望重新编码而是直接拷贝原始文件

音频过滤器

ffmpeg -i input.mp4 -af "volume=1.5" output.mp4
  •  volume 调节音量大小
ffmpeg -i input.mp4 -af "loudnorm=1.5" output.mp4
  • loudnorm 统一视频音量
ffmpeg -i input.mp4 -af "equalizer=f=1000:width_type=h:width=200:g=-10" output.mp4
  • 添加高通、低通滤波器、甚至均衡器等等... 

ffmpeg -i input.mp4 -an output.mp4
ffmpeg -i input.mp4 -vn output.mp4
ffmpeg -i input.mp4 -sn output.mp4
ffmpeg -i input.mp4 -dn output.mp4
  • -an 删除音频轨
  • -vn 删除视频轨
  • -sn 删除字幕
  • -dn 删除数据流

其他功能

 ffmpeg -i input.mp4 -vf "fps=1/10,scale=-2:720" output-%03d.jpg
  • 视频缩略图 两个过滤器 fps指定输出文件的帧率,1/10表示十秒输出一帧画面,scale指定了输出画像的大小,%03d 编号,这个命令会在当前的目录下输出若干张视频的缩略图
ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=0:0" output.mp4
  • 视频水印功能 准备一张水印图片 将原视频和图片输入到FFmpeg 加上过滤器 overlay 用于将水印叠加在原始视频上
ffmpeg -i input.avi -ss 0 -t 3 -filter_complex [0:v]fps=15,scale=-1:256,split[a][b];[a]palettegen[p];[b][p]paletteuse output.gif
  • GIF动图 由于gif编码格式的限制,不适合较大较长的视频,所以先进行剪切,然后通过过滤器缩放并且降低帧率,最后由于gif自身256色的限制,需要单独创建一个调色板
ffmpeg -hide_banner -loglevel error -stats -f gdigrab -framerate 60 -offset_x 0 -offset_y 0 -video_size 1920x1080 -draw_mouse 1 -i desktop -c:v libx264 -r 60 -preset ultrafast -pix_fmt yuv420p -y output.mp4
  • 屏幕录制 使用Windows上的gdigrab设备来进行屏幕录制 

转换音频

ffmpeg -i input.wav output.mp3

转换图片

ffmpeg -i input.mp4 -vf "fps=1/10, scale=2:720" output.jpg

附加内容

        视频格式: 可以理解为是视频文件的一种封装格式或者容器格式。它里面包含了视频流、音频流甚至包括字幕、章节和一些其他的元数据,而其中的音频、视频流又可以采用不同的编码格式。

        编码格式:编码是用来解决如何将没一帧的画面存储成二进制数据,然后保存在硬盘或者通过网络传输到服务器。不同的编码对于视频的质量和压缩率有很大的影响。对于mp4文件,目前最广泛的视频编码是H264。

<think>嗯,用户遇到了问题,在CMD里输入ffmpeg命令时提示“不是内部或外部命令”。之前已经介绍过FFmpeg是通过命令行控制的,现在用户可能在安装或配置环境变量时出错了。首先需要确认用户是否正确安装了FFmpeg,如果没有安装,应该指导他们下载安装。如果安装了但命令不可用,可能是环境变量没有配置好。 用户可能不太清楚如何检查安装情况,需要分步骤说明。比如让他们在命令行输入ffmpeg -version看看是否有输出。如果提示错误,说明没安装或路径不对。这时候需要安装FFmpeg,并确保安装路径添加到系统环境变量中。 另外,用户可能不知道如何配置环境变量,尤其是Windows系统。需要详细说明步骤,比如找到安装目录,复制路径,然后通过系统属性设置环境变量。可能需要提醒用户注意安装时的选项,比如是否自动添加路径,或者是否需要手动添加。 还有可能用户下载了FFmpeg但没有解压,或者解压到了错误的目录。这时候要建议他们检查下载的文件是否为压缩包,是否需要解压,并确保解压后的路径正确。 最后,可能需要给出验证安装是否成功的步骤,比如再次运行ffmpeg命令,看是否显示版本信息。如果用户还是有问题,可能需要进一步排查,比如路径是否正确,是否有拼写错误等。</think>出现 `'ffmpeg' 不是内部或外部命令` 的错误,是因为 **系统无法找到 FFmpeg 程序**。以下是解决方法: --- ### **原因分析** 1. **未安装 FFmpeg** 你的电脑尚未安装 FFmpeg,或安装不完整。 2. **未配置环境变量** 安装了 FFmpeg,但未将它的路径添加到系统环境变量中。 --- ### **解决方法** #### **第一步:安装 FFmpeg** 1. **Windows 用户** - 前往 [FFmpeg 官网下载页](https://ffmpeg.org/download.html),选择 Windows 版本(推荐通过 [官方构建包](https://www.gyan.dev/ffmpeg/builds/) 下载)。 - 下载后解压压缩包(例如解压到 `C:\ffmpeg`)。 2. **macOS/Linux 用户** - macOS:用 Homebrew 安装: ```bash brew install ffmpeg ``` - Linux(Debian/Ubuntu): ```bash sudo apt install ffmpeg ``` --- #### **第二步:配置环境变量(Windows 必做)** 1. **找到 FFmpeg 的安装路径** - 例如解压到 `C:\ffmpeg`,则 FFmpeg 的可执行文件路径是 `C:\ffmpeg\bin`。 2. **添加到系统环境变量** - 按下 `Win + S` 搜索 **“编辑系统环境变量”** → 打开后点击 **“环境变量”**。 - 在 **“系统变量”** 中找到 `Path` → 点击 **“编辑”** → 点击 **“新建”** → 输入 `C:\ffmpeg\bin`(替换为你的实际路径)。 - 确认所有窗口后重启命令行工具。 --- #### **第三步:验证是否成功** 1. 打开新的 CMD/PowerShell 窗口,输入: ```bash ffmpeg -version ``` - 若显示版本信息(如下图),则配置成功! ![FFmpeg 验证成功](https://i.imgur.com/6jKzQ6l.png) 2. 若仍失败,检查: - FFmpeg 的 `bin` 目录是否包含 `ffmpeg.exe`。 - 环境变量路径是否输入正确(注意大小写和斜杠方向)。 --- ### **替代方案(无需安装)** 如果不想配置环境变量,可以直接将 `ffmpeg.exe` 放在你的视频文件目录中,然后在该目录打开命令行并运行: ```bash .\ffmpeg -i input.mp4 output.avi ``` --- ### **常见问题** - **下载后无法解压?** 确保下载的是完整压缩包(推荐使用 7-Zip 解压)。 - **路径中有空格?** 安装路径避免包含空格(例如不要放在 `Program Files` 目录下)。 - 仍有问题?欢迎告诉我你的操作系统和安装步骤,我可以进一步排查! 😊
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值