1.FFmpeg 的主要功能和特性:
- 格式转换:FFmpeg 可以将一个媒体文件从一种格式转换为另一种格式,支持几乎所有常见的音频和视频格式,包括 MP4、AVI、MKV、MOV、FLV、MP3、AAC 等。
- 视频处理:FFmpeg 可以进行视频编码、解码、裁剪、旋转、缩放、调整帧率、添加水印等操作。你可以使用它来调整视频的分辨率、剪辑和拼接视频片段,以及对视频进行各种效果处理。
- 音频处理:FFmpeg 可以进行音频编码、解码、剪辑、混音、音量调节等操作。你可以用它来提取音频轨道、剪辑和拼接音频片段,以及对音频进行降噪、均衡器等处理。
- 流媒体传输:FFmpeg 支持将音视频流实时传输到网络上,可以用于实时流媒体服务、直播和视频会议等应用场景。
- 视频处理效率高:FFmpeg 是一个高效的工具,针对处理大型视频文件和高分辨率视频进行了优化,可以在保持良好质量的同时提供较快的处理速度。
- 跨平台支持:FFmpeg 可以在多个操作系统上运行,包括 Windows、MacOS、Linux 等,同时支持多种硬件加速技术,如 NVIDIA CUDA 和 Intel Quick Sync Video
2.ffmpeg的安装(macos系统安装)
- ffmpeg的安装包的下载地址 http://ffmpeg.p2hp.com/download.html ,选择对应的系统下载
- 下载好zip压缩包之后解压,把对应的ffmpeg文件放入新建的ffmpeg文件夹中
- 点击ffmpeg文件执行安装
- 配置环境变量
- 在终端里输入 touch .zshrc
- 然后执行 open -e .zshrc (打开文件夹 )
- 输入指令 export PATH=$PATH:/Users/xxx/Downloads/ffmpeg (这里的路径就是ffmpeg所在的文件的位置)
- command + s 保存
- 最后输入指令 source .zshrc 刷新环境
问题: 如果不配置环境变量就会报错 zsh: command not found: ffmpeg
3.在nodejs内部使用ffmpeg
const { execSync } = require('child_process') // 子进程
execSync('ffmpeg -i movie.mp4 test.gif') // execSync同步执行shell指令,将movie.mp4文件转换为test.gif文件