今天在网上看到一国外牛人开发的一个小工具,可以将视频压缩后尺寸缩小92%,而且从其UI界面的左右两侧,压缩前和压缩后的视频对比来看,看不出明显的质量损失。
视频压缩工具
➡️https://tools.rotato.app/compress
实际测试
我马上打开这个工具,选择自己的视频做了个测试,第一个视频从168.5M缩小到了31.2M,缩小了76,第二个视频缩小了46%,表现还不错。
对比压缩前和压缩后的文件,可以看到视频的分辨率,帧率都没有变,但码率从2.5M减小到了0.6M。
实现原理分析
这个工具是个网页,就习惯性打开浏览器的调试界面,分析了下其代码,发现其使用了ffmpeg.wasm, 打开这个ffmpeg.wasm的官方网站一看,发现是将ffmpeg这个命令行工具包装成了wasm, 这样就可以让ffmpeg在浏览器中被Javascript调用执行了,这个脑洞开的有点大。 Ffmpeg能在浏览器中运行,我以前是不知道的,学到了。
WebAssembly(wasm)可以让c, c++, go, java, c#, python等高级语言代码在浏览器中高效运行, 适合游戏,图像处理,视频编辑等计算密集型的任务。以前有了解,但没有看到合适的杀手应用。
WebAssembly下载到浏览器中后,还是要通过javascript调用,点击源代码,到这里看,可以看到其调用ffmpeg所使用的命令。
-c:v libx264 -tag:v avc1 -movflags faststart -crf 30 -preset superfast
延伸
回到Rotato的首页,看到还有其他工具,你看这个视频编辑工具,可以在浏览器中,直接编辑制作视频,使用各种特效,最终下载保存视频。
➡️大神的视频创作工具:
https://video.rotato.app/edit/promo
看来以后可以自己实现一个比YouTube视频编辑更强的工具,而且是在本地浏览器运行的。我之前视频提到过avif动图的制作,其中一种方法就是用ffmpeg命令实现,看来可以做个有WebUI的avif制作工具。
标签:视频,浏览器,ffmpeg,视频压缩,92%,H5,wasm,工具 From: https://www.cnblogs.com/jopny/p/18335933/ffmpeg-webasm-js