最近想从264视频中提取运动向量(motion vector),ffmpeg的ffplay是可以显示运动向量在播放画面中的,但是具体怎么样将运动向量提取到文件中似乎没有给出解决办法,自己Google了半天才发现一个github的项目,发现其可以提取运动向量到文件中,也可以显示运动向量在播放的画面当中。具体的主页是:
https://github.com/vadimkantorov/mpegflow
其主要的功能也是十分简单:
./mpegflow examples/mpi_sintel_final_alley_1.avi > examples/alley_1.txt
还有一下几种模式可供选择:
在此不多解释。
然后主要是这个项目的编译,自己在windows下面编译似乎是通过了,但是在实际运用的过程中似乎存在问题,只能使用一种模式提取运动向量(--raw模式),其他的几种模式似乎都没有成功,所以索性放弃,在Ubuntu16.04下进行编译。
查看其编译说明是依赖于FFmpeg软件包的,所以在编译之前是要安装ffmpeg的,ffmpeg其官网上已经有源代码可供Linux编译,具体我也是没怎么去试,看到作者推荐使用他自己的另一个项目wigwam安装ffmpeg,也就没有多想,直接安装wigwam
wigwam的主页是:
http://wigwam.in/
在其主页上也很详细地写明了安装方法。
第一:
在~/.bashrc文件中末尾添加以下内容:
alias wigwam='python2.7 <($([ -z "$(which curl)" ] && echo "wget -nv -O -" || echo "curl -sS") https://raw.githubusercontent.com/vadimkantorov/wigwam/master/wigwam.py) --repo https://github.com/vadimkantorov/wigwam/tree/master/wigs'
讯享网
sudo vim ~/.bashrc

修改后保存退出,然后reload一下:
source ~/.bashrc
然后就是进行ffmpeg的安装:
wigwam init
wigwam install ffmpeg
其中安装ffmpeg的过程稍微久一点,十分钟左右。
安装完后进行mpegflow的编译,首先得让make发现你的ffmpeg在什么地方:
wigwam in
切换到mpegflow的目录编译:
make
有一些warning可以忽略,编译成功后会生成可执行文件mpegflow
最后可以在example文件夹下面验证以下mpegflow,切换到mpegflow文件夹下面运行bash脚本文件:
$ /\ $ bash extract_mpeg_flow.sh
然后就会生成4个txt文件,具体的命令可以查看extract_mpeg_flow.sh
注意:因为mpegflow是依赖于FFmpeg的,所以一定要在使用wigwam in命令进入wigwam环境后才能正常运行,不然会提示找不到
一些库:
../mpegflow: error while loading shared libraries: libavformat.so.57: cannot open shared object file: No such file or directory
../mpegflow: error while loading shared libraries: libavformat.so.57: cannot open shared object file: No such file or directory
../mpegflow: error while loading shared libraries: libavformat.so.57: cannot open shared object file: No such file or directory
../mpegflow: error while loading shared libraries: libavformat.so.57: cannot open shared object file: No such file or directory
终端输入exit可以退出wigwam环境。
2017/10/14补充:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/58321.html