菜鸟初学H.264--VC6下调试T264编解码器全过程

菜鸟初学H.264--VC6下调试T264编解码器全过程
2007-10-12 10:24
菜鸟初学H.264--VC6下调试T264编解码器全过程
2007-04-10 11:03:08

菜鸟初学H.264--VC6下调试T264编解码器全过程,错误之处请各位老师指正,谢谢^_^

参考1/

x264-060805Peter Lee http://x264decoder.zj.com/ 2005.05.30的《如何在vc6下编译x264.pdf》

参考2/六光子264视频压缩狂人老师的博客

http://hi.baidu.com/liuguangzi/blog/item/e55bc924dfbd0c014c088df5.html

 

一、VC与必要补丁安装
1、 安装VC6.0
      最好采用Microsoft Visual C++ 6.0 简体中文企业版,选择语言的时候要选英文版,以方便之后打补丁。
2、在
http://sourceforge.net/projects/nasm下载nasm-0.98.36-win32.rar:解压之后,把nasmw.exe重命名为nasm.exe,然后复制到C:/Program Files/Microsoft Visual Studio/VC98/Bin目录下
3、在
http://msdn.microsoft.com/vstudio/downloads/tools/ppack/default.aspx下载Visual C++ 6.0 Processor Pack,即vcpp5,安装到默认路径下即可。
4、 在校网上下载Service Pack 5 for Visual Studio 6即vs6sp5.exe,解压后运行setupsp5.exe,安装到默认路径。
5、 至于DirectX 9.0 SDK即dxsdk_feb2007我没有安装,但是仍然可以在VC下调试成功,不知道以后会不会遇到问题,准备遇到问题时再装了。

二、VC下编译T264代码
1、下载T264代码(http://sourceforge.net/project/showfiles.php?group_id=119399)
2、 用VC的Open Workspace...打开T264_050618/t264-src-0.14/avc-src-0.14/avc/build/vc6目录下的t264.dsw文件,Build->Rebuild All,编译无错误,编译完成后会在build目录下生成bin文件夹,bin下即有T264.exe,T264.pdb和t264lib.lib

三、进行参数设置和T264编码
1、下载foreman.qcif.rar,解压后重命名为.yuv文件,我把它放到了T264.exe所在文件夹下,其实路径是无所谓的,只要设置参数时保持一致就行
2、 开始->运行,输入cmd,打开命令行
      因为我将T264代码中的avc文件夹重命名为T264right放在d盘下,所以首先输入d:进入d盘,然后输入cd/T264right/build/bin语句进入T264.exe所在目录
3、 到T264right的encoder中找到enconfig-goodqulity baseline.txt复制到T264right/build/bin下,因为dos命令中文件名不能使用空格,所以将它重命名为enconfig.txt。
      打开这个文件最后三行为
      H:/Downloads/TestSeq/foreman_cif.yuv         # src file
      H:/Downloads/TestSeq/test1.264               # out file
      H:/Downloads/TestSeq/1.yuv                   # rec file
      第一个是要编码的源视频文件,第二个是编码输出的测试文件,第三个是重建的参考帧。
      将这三行语句修改为
      D:/T264right/build/bin/foreman_cif.yuv # src file
      D:/T264right/build/bin/test.264           # out file
      D:/T264right/build/bin/1.yuv    # rec file
4、设置要编码的帧数,帧数等参数也在enconfig.txt参数文件中设置。
      因为我采用的编码源视频文件是100帧的(用YUVPlayer.exe播放时可以看到它的帧数),所以将编码参数设置为100帧将enconfig.txt文件中的第6、7、8行
      300 # total frame number
      300 # i intervals
      300 # idr intervals
      改为
      100 # total frame number
      100 # i intervals
      100 # idr intervals
      (如果不进行修改的话那么在dos下运行编码程序会提示找不到后200帧,编码后的文件虽然是300帧但是后200帧图像就都是重复第100帧,看起来到了后200帧图像是静止的)
5、 在命令行中输入t264 -e enconfig.txt或者t264.exe -e enconfig.txt就可以在T264right/build/bin下生成test.264和1.yuv了。

四、进行T264解码
      由于T264解码器只能解T264编码器生成的.264文件,所以下面的解码工作一定要在前面的步骤全部成功生成test.264文件之后才能进行。
1、 在命令行下继续输入命令:
      t264 -d test.264 dec.yuv或t264.exe -d test.264 dec.yuv
      dec.yuv为解码后的文件名,运行后就可以在T264right/build/bin下看到解码后的文件dec.yuv了。
2、用YUVPlayer.exe播放dec.yuv就可以看到解码后的图像了,解码出的图像也是100帧,看上去与源视频文件没有差异。但是该编解码过程是有损过程,所以解码后的文件比源视频文件的14.85M小了一些。

你可能感兴趣的:(File,dos,Microsoft,service,h.264,Intervals)