怎么使用FFmpeg进行视频格式转换
小编给大家分享一下怎么使用FFmpeg进行视频格式转换,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
Fmpeg 是领先的多媒体框架,能够解码、编码、转码、混合、解密、流媒体、过滤和播放人类和机器创造的几乎所有东西。它支持最晦涩的古老格式,直到最尖端的格式。
flac 格式转 mp3
音频格式转换非常简单:
ffmpeg-iinput.flac-acodeclibmp3lameoutput.mp3
ffmpeg 将会使用 libmp3lame 解码器将 input.flac 文件转换为 mp3 格式的 output.mp3 文件。
批量格式转换
想要批量转换 flac 文件也是很常见的需求,我们可以结合 bash 命令来完成:
find.-name"*.flac"-execbash-c'ffmpeg-i"{}"-y"${0/.flac}.wav"'{}\;
webm 转 gif 格式
webm 是 Google 提出的多媒体文件格式,包含了 VP8 影片轨和 Ogg Vorbis 音轨,按照 BSD 格式开源。webm 能够提供更高质量的在线视频,但是其支持程度并不如存在已久的 mp4 和动态图片格式 gif,因此有时候会有将其转换为 gif 格式的需求。我们用到的命令是:
ffmpeg-iinput.webm-vf"scale=400:-1,fps=10"output.gif
其作用是将 input.webm 格式的视频转换为横向宽度为 400px,纵向宽度保持比例的每秒 10 帧的 output.gif 图片。
当然,也可以将 gif 转换为 webm 格式:
ffmpeg-ioutput.gif-c:vlibvpx-auto-alt-ref0input.webm
如果出现“Unknown encoder libvpx”的问题,需要重新在重新编译安装 ffmpeg 以支持 libvpx 编码器:
brewreinstallffmpeg--with-libvpx
转换为 mp4 格式:
ffmpeg-iinput.webm-vf"scale=trunc(iw/2)*2:trunc(ih/2)*2"output.mp4
这里 vf 参数的意义是,将视频的长宽强制转换为偶数,否则可能遇到“width not divisible by 2”的问题。
生成视频缩略图生成封面
使用视频的第一帧作为封面:
ffmpeg-iyour-video.mp4-ss00:00:00-vframes1thumb.png
每 xx 秒生成一个缩略图
每分钟一张:
ffmpeg-iyour-video.mp4-vffps=1/60your-video-%03d.png
再将其合并:
ffmpeg-iyour-video-%03d.png-filter_complexscale=-1:-1,tile=99x1:margin=10:padding=4output.png
这里的 tile 长度设定为 99,应当改为缩略图的总数。
一步到位:
ffmpeg-ss00:00:00-iyour-video.mp4-vf'select=not(mod(n\,24)),scale=-1:-1,tile=99*1'out.png
意思是从视频的 00:00:00 处开始,每 24 帧(一般动换都是 24 帧的)取一张图片,长宽不进行压缩,最后合成在 99*1 的方格中。
以上是“怎么使用FFmpeg进行视频格式转换”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。