首页 > 代码库 > 消除视频抖动

消除视频抖动

听说 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!)

消除视频抖动