FFmpeg音、视频处理工具

使用FFmpeg的命令可以根据不同的需求进行多种操作,以下是一些常见的FFmpeg命令示例及其说明:

提取MP4文件中的音频数据并保存为AAC格式

bash 复制代码
ffmpeg -i input.mp4 -vn -acodec copy output.aac

这条命令中:

  • -i input.mp4 指定输入文件名为input.mp4
  • -vn 表示禁用视频流的处理,只处理音频流。
  • -acodec copy 表示使用"copy"编解码器直接复制音频流,而不进行重新编码。
  • output.aac 是输出的文件名。

将MP4文件转换为GIF动画

bash 复制代码
ffmpeg -i input.mp4 -vf "fps=10,scale=320:-1:flags=lanczos" output.gif

这条命令将input.mp4文件转换为每秒10帧的GIF动画,分辨率为320x240(高度自动计算以保持原始宽高比)。

除了上述命令,FFmpeg还支持更多的功能,如视频裁剪、合并、添加滤镜等。要获取更详细的指令和更多功能介绍,可以访问FFmpeg的官网或使用-h参数查看帮助信息。例如:

  • ffmpeg -h 查看FFmpeg的总体帮助信息。
  • ffmpeg -h full 查看更详细的帮助信息。

除了转换为GIF,你还可以将视频转换为其他格式,如MKV、AVI等。以下是一个将MP4转换为MKV的示例:

bash 复制代码
ffmpeg -i input.mp4 -c:v copy -c:a copy output.mkv

这里 -c:v copy-c:a copy 分别表示复制视频流和音频流,不进行重新编码。

视频裁剪

你可以使用FFmpeg裁剪视频文件的特定部分。例如,要裁剪一个视频的前10秒,你可以使用以下命令:

bash 复制代码
ffmpeg -i input.mp4 -t 10 -c copy output.mp4

这里 -t 10 指定输出视频的长度为10秒,-c copy 表示直接复制流而不重新编码。

视频合并

你可以使用concat协议或者concat滤镜来合并多个视频文件。以下是一个使用concat协议的示例:

首先,创建一个文本文件(例如filelist.txt),其中包含要合并的视频文件的列表:

复制代码
file 'video1.mp4'
file 'video2.mp4'
file 'video3.mp4'

然后,运行以下命令:

bash 复制代码
ffmpeg -f concat -safe 0 -i filelist.txt -c copy output.mp4

添加滤镜

FFmpeg内置了许多滤镜,可以用于调整视频的颜色、亮度、对比度等属性。以下是一个添加滤镜的示例,用于调整视频的亮度:

bash 复制代码
ffmpeg -i input.mp4 -vf "eq=brightness=0.2" output.mp4

这里 -vf 表示视频滤镜,eq=brightness=0.2 将亮度增加0.2。

调整视频分辨率

你可以使用scale滤镜来调整视频的分辨率。以下是一个将视频分辨率调整为640x480的示例:

bash 复制代码
ffmpeg -i input.mp4 -vf "scale=640:480" output.mp4

转换音频格式

将MP3音频文件转码为AAC格式

bash 复制代码
ffmpeg -i input.mp3 -acodec aac -b:a 128k output.aac

这条命令将input.mp3音频文件转码为AAC格式,并设置音频码率为128kbps,保存为output.aac文件。

将WAV转换为MP3

bash 复制代码
ffmpeg -i input.wav -c:a libmp3lame output.mp3

这里 -c:a libmp3lame 指定使用libmp3lame编解码器来编码音频为MP3格式。

这些只是FFmpeg功能的一小部分示例。由于FFmpeg非常强大且灵活,它几乎可以处理任何与音视频相关的任务。为了充分利用其功能,建议查阅官方文档或相关教程以获取更详细的信息和示例。

示例批处理命令文件 video_to_acc_and_resize_w-h_frames_to_png.bat

bash 复制代码
@echo off
ffmpeg -i input.mp4 -vf "scale=640:480" output.mp4
ffmpeg -i input.mp4 -vn -acodec copy output.aac
ffmpeg -i input.mp4 outputs\output_%%03d.png  
ffmpeg -i input.mp4 -vf "fps=10,scale=320:-1:flags=lanczos" output_mp4-gif.gif
ffmpeg -i input.mp4 -c:v copy -c:a copy output_mp4-mkv.mkv
ffmpeg -i input.mp4 -vf "eq=brightness=0.2" output_brightness.mp4
ffmpeg -f concat -safe 0 -i filelist.txt -c copy output_merge.mp4
ffmpeg -i output_merge.mp4 -t 10 -c copy output_cut10s.mp4

ffmpeg -i output.aac -c:a libmp3lame output_acc-mp3.mp3
ffmpeg -i output_acc-mp3.mp3 -acodec aac -b:a 128k output_mp3-acc.aac

pause

结果展示:

相关推荐
_chirs13 小时前
编译不依赖动态库的FFMPEG(麒麟国防 V10)
arm开发·ffmpeg
给算法爸爸上香14 小时前
yolo目标检测线程池高性能视频tensorrt推理(每秒1000+帧)
yolo·目标检测·音视频·线程池·tensorrt
大学生小郑14 小时前
sensor成像的原理
图像处理·音视频·视频
熊猫钓鱼>_>16 小时前
从零到一:打造“抗造” Electron 录屏神器的故事
前端·javascript·ffmpeg·electron·node·录屏·record
AI浩18 小时前
学习语言驱动的序列级别模态不变表示用于视频可见光-红外行人重识别
学习·音视频
UpYoung!19 小时前
【格式转换工具】专业级多媒体格式转换解决方案——Freemake Video Converter 完全指南:轻量化视频剪辑媒体格式转换
ffmpeg·短视频·实用工具·开源工具·多媒体格式转换·运维必备·视频转换格式
老陈聊架构20 小时前
『AI视频创作』Remotion Skills 完全指南:用自然语言创作视频的革命
人工智能·音视频·skill·remotion
视频技术分享20 小时前
2026年实时音视频服务选型深度解析
音视频·实时音视频·视频
三十_A2 天前
前端技术分享:基于 Canvas 实现视频帧截取与下载方案
前端·音视频
地狱为王2 天前
Unity使用NovaSR将沉闷的16kHz音频升频成清晰的48kHz音频
unity·游戏引擎·音视频·novasr