首页 > 代码库 > 消除视频抖动
消除视频抖动
听说 OpenCV 有消除视频抖动的功能,我安装了OpenCV
又下载了消除视频抖动的代码(http://nghiaho.com/?p=2093),结果编译成功,但运行就 crash 了
看 Microsoft的 MovieMaker (win8) 有消除抖动的功能,体验了一把效果很差劲,因为它把图像全部变模糊了
又找个开源工具 GstStabilizer, 结果没有运行起来 (https://github.com/guijemont/GstStabilizer, 关注他的人也非常少)
最后找了一个工具 vstab, 处理效果比较好,但是比较费时间 (http://vstab.sourceforge.net/)
看下一分钟的 1280x720 mp4 视频文件如何处理
处理步骤
1)下载 vstab 源文件, 编译得到可执行文件 vstab
2) 安装 ffmpeg
3) 把 h264 转化为 mjpeg 格式
ffmpeg -i d.mp4 -vcodec mjpeg -qmax 1 d_v_jpg.avi
4)用 vstab 处理 (vstab 只能处理mjpeg的视频, 处理时间比较长)
./vstab d_v_jpg.avi d_v_jpg_stab.avi
5)再把mjpeg转化为h264
ffmpeg -i d_v_jpg_stab.avi -vcodec libx264 d_v_jpg_stab.mp4
看下文件大小
-rw-rw-r-- 1 user user 81081583 Nov 20 18:22 d_v.mp4 (源文件 81M)
-r w-rw-r-- 1 user user 695030614 Nov 20 18:26 d_v_jpg.avi ( 转化为mjpeg后 690m)
-rw-rw-r-- 1 user user 1435525684 Nov 20 18:44 d_v_jpg_stab.avi ( 被vstab 处理后 1435m)-rw-rw-r-- 1 user user 45384930 Nov 20 19:19 d_v_jpg_stab.mp4 ( 在转化为mp4, 后 45m, 还变小了,cheers!)
消除视频抖动