FFmpeg是一款音视频编解码工具,为开发者提供了大量音视频处理接口。
FF指的是“Fast Forward”
2000年,法国天才Fabrice Bellard开发出第一代版本
2004年,Michael Nidermayer接手
2011年,FFmpeg其中的提交者对项目管理不满意,自立门户,创建了Libav
2015年,Michael Nidermayer移植了大量的代码到FFmpeg中,并辞职,希望两个项目可以共同发展,若能合并则更好
GitHub地址:https://github.com/FFmpeg/FFmpeg
ffmpeg是FFmpeg源代码编译后生成的可执行程序,可以作为命令行使用。
ffmpeg主要工作流程:
包含音频,视频参数,媒体容器的参数信息。
ffmpeg \
[global_options] \
[input_file_options] -i input_url \
[actions] \
[output_file_options] output_url
-y 表示直接覆盖已经存在的输出文件
-n 表示若某个输出文件已经存在则退出
ffmpeg -ss 00:00:20 -t 00:00:10 -i test.mp4 noneplus.mp4
-ss表示开始切割的时间,-t表示要切多少。上面就从20秒开始,切10秒钟出来。
ffmpeg -i noneplus.mp4 noneplus.avi
ffmpeg -i output.mp4 -acodec copy -vn output.aac
-acodec表示音频编码,copy表示不改变编解码器,只是改封装器
-vn 不将视频流写到输出文件中
ffmpeg -i noneplus.mp4 -vcodec copy -an noneplus.mp4
-an 不将音频流写到输出文件中
ffmpeg -i bgm.mp3 -i test.mp4 output.mp4
参数名 | 作用 |
---|---|
-i filename | 输入文件 |
ffmpeg -i test1.mp4 test2.avi
转换格式mp4为avi。
《FFmpeg从入门到精通》刘岐,赵文杰编著