首先补充一下,上面的文章说明:编译工程vfw.dsw,注意编译release版本的,否则会出问题。
昨天编译通过了,并不知道继续如何学习。使用命令行也对测试序列:foreman_qcif.yuv进行了编码和解码。如下:
编码:xvid_encraw.exe -w 176 -h 144 -i foreman_qcif.yuv -o kevin.mp4
得到xvid编码的kevin.mp4(后缀名随便)
解码: xvid_decraw.exe -w 176 -h 144 -i kevin.mp4
得到了300个如下命名的文件:dec00000.pgm-dec00299.pgm。
可以看出pgm就是将原始的序列(foreman_qcif.yuv300帧)分别进行存储。每个文件38,037字节,一共38,037*300=11411100字节。具体的文件格式可以慢慢分析。这样问题就很容易理解了。只要使用一个图片浏览器来查看这300个图片就是了。我使用的是imagej,可以在http://rsb.info.nih.gov/ij/download.html下载到。上面的windows部分的without java是适用于已经有了java虚拟机的,对于适用vc的朋友就要下前面的一个版本。然后查看。
这个是用imagej看的效果,它的宽高为176*216,宽是正常的,高是144+72,yuv分别存储。
适用yuv工具对原始视频的第3帧(从零帧开始)显示如下:
上面是用yuv参看工具(yuv viewer)查看yuv的效果。
下面就是需要编个程序了,将pgm按照时间顺序显示出来!
继续学习!
小技巧,在cmd中复制一段内容:
在cmd中敲入的命令不像windows编辑器那么友好,就像上面我复制的编码和解码的命令就需要点小技巧。
首先在cmd窗口的任意处右键-全选,此时窗口的背景变为白色,这时鼠标左键拖着你要复制的内容。(背景变为黑色,复制的变为白色,这个会让人有点担心,不用去管,继续就可以了。)选定完成后,放开左键(废话),在窗口的标题栏(最上面为蓝色的区域,和最大化,最小化同水平线)右键-编辑-复制,就可以在其他编辑器中粘贴了。