这是我参与「第五届青训营 」伴学笔记创作活动的第 10 天
ffmpeg使用以及学习 FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。
FFmpeg在Linux平台下开发,是Linux的强大的视频处理命令行工具,具有高效的视频转码功能,但它同样也可以在其它操作系统环境中编译运行,包括Windows、Mac OS X等。这个项目最早由Fabrice Bellard发起,2004年至2015年间由Michael Niedermayer主要负责维护。许多FFmpeg的开发人员都来自MPlayer项目,而且当前FFmpeg也是放在MPlayer项目组的服务器上。项目的名称来自MPEG视频编码标准,前面的"FF"代表"Fast Forward"。FFmpeg编码库可以使用GPU加速。 在本次的青训营中,我们决定使用ffmpeg这个工具来进行视频某一帧的提取,并且将提取的帧作为视频的封面。
进行ffmpeg的安装
sudo apt-get install ffmpeg
-i代表输入文件 可以查看文件属性 -hide_banner可隐藏文件无关信息
ffmpeg -i xx.mp4
可进行文件格式转换
ffmpeg -i video_input.mp4 video_output.avi
ffmpeg -formats 查看ffmepg支持的文件格式
-vn参数 从视频中提取音频
ffmpeg -i video.mp4 -vn audio.mp3
-an参数 对视频进行消音
ffmpeg -i video_input.mp4 -an -video_output.mp4
-r代表帧率(不指定默认25) -f代表输出格式 image2序列 %3d代表有3位数字 001 002这样
ffmpeg -i video.mp4 -r 1 -f image2 image-%3d.png
-s参数进行缩放视频 -c:a保证音频编码正确 -aspect 4:3改变长宽比
ffmpeg -i video_input.mov -s 1024x576 -c:a video_output.mp4
为音频增加封面图片
ffmpeg -loop 1 -i image.jpg -i audio.wav -c:v libx264 -c:a aac -strict experimental -b:a 192k -shortest output.mp4