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

http://blog.sina.com.cn/u/4aed7b5b010008i2  

菜鸟初学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小了一些。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值