VC6下调试T264编解码器全过程
http://blog.163.com/laorenyuhai126@126/blog/static/193507792010339190486/
http://blog.csdn.net/wutong_login/article/details/4349957
H.264--VC6下调试
T264编解码器全过程,
一、VC与必要补丁安装
1、 安装VC6.0
最好采用Microsoft Visual C++ 6.0 简体中文企业版,选择语言的时候要选英文版,以方便之后打补丁。
2、在下载nasm-0.98.36-win32.rar:解压之后,把nasmw.exe重命名为nasm.exe,然后复制到C:\ProgramFiles\Microsoft Visual Studio\VC98\Bin目录下
3、下载Visual C++ 6.0 Processor Pack,即vcpp5,安装到默认路径下即可。
4、 在校网上下载Service Pack 5 for Visual Studio6即vs6sp5.exe,解压后运行setupsp5.exe,安装到默认路径。
5、 至于DirectX 9.0SDK即dxsdk_feb2007我没有安装,但是仍然可以在VC下调试成功,不知道以后会不会遇到问题,准备遇到问题时再装了。
二、VC下编译T264代码
1、下载T264代码([url=http://sourceforge.net/project/showfiles.php?group_id=119399]http://sourceforge.net/project/showfiles.php?group_id=119399[/url])
2、 用VC的OpenWorkspace...打开T264_050618\t264-src-0.14\avc-src-0.14\avc\build\vc6目录下的t264.dsw文件,Build->RebuildAll,编译无错误,编译完成后会在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-goodqulitybaseline.txt复制到T264right\build\bin下,因为dos命令中文件名不能使用空格,所以将它重命名为enconfig.txt。
打开这个文件最后三行为
H:\Downloads\TestSeq\foreman_cif.yuv # srcfile
H:\Downloads\TestSeq\test1.264 # outfile
H:\Downloads\TestSeq\1.yuv # recfile
第一个是要编码的源视频文件,第二个是编码输出的测试文件,第三个是重建的参考帧。
将这三行语句修改为
D:\T264right\build\bin\foreman_cif.yuv # srcfile
D:\T264right\build\bin\test.264 # outfile
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 -eenconfig.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.264dec.yuv
dec.yuv为解码后的文件名,运行后就可以在T264right\build\bin下看到解码后的文件dec.yuv了。
2、用YUVPlayer.exe播放dec.yuv就可以看到解码后的图像了,解码出的图像也是100帧,看上去与源视频文件没有差异。但是该编解码过程是有损过程,所以解码后的文件比源视频文件的14.85M小了一些。
1、 安装VC6.0
最好采用Microsoft Visual C++ 6.0 简体中文企业版,选择语言的时候要选英文版,以方便之后打补丁。
2、在下载nasm-0.98.36-win32.rar:解压之后,把nasmw.exe重命名为nasm.exe,然后复制到C:\ProgramFiles\Microsoft Visual Studio\VC98\Bin目录下
3、下载Visual C++ 6.0 Processor Pack,即vcpp5,安装到默认路径下即可。
4、 在校网上下载Service Pack 5 for Visual Studio6即vs6sp5.exe,解压后运行setupsp5.exe,安装到默认路径。
5、 至于DirectX 9.0SDK即dxsdk_feb2007我没有安装,但是仍然可以在VC下调试成功,不知道以后会不会遇到问题,准备遇到问题时再装了。
二、VC下编译T264代码
1、下载T264代码([url=http://sourceforge.net/project/showfiles.php?group_id=119399]http://sourceforge.net/project/showfiles.php?group_id=119399[/url])
2、 用VC的OpenWorkspace...打开T264_050618\t264-src-0.14\avc-src-0.14\avc\build\vc6目录下的t264.dsw文件,Build->RebuildAll,编译无错误,编译完成后会在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-goodqulitybaseline.txt复制到T264right\build\bin下,因为dos命令中文件名不能使用空格,所以将它重命名为enconfig.txt。
打开这个文件最后三行为
H:\Downloads\TestSeq\foreman_cif.yuv # srcfile
H:\Downloads\TestSeq\test1.264 # outfile
H:\Downloads\TestSeq\1.yuv # recfile
第一个是要编码的源视频文件,第二个是编码输出的测试文件,第三个是重建的参考帧。
将这三行语句修改为
D:\T264right\build\bin\foreman_cif.yuv # srcfile
D:\T264right\build\bin\test.264 # outfile
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 -eenconfig.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.264dec.yuv
dec.yuv为解码后的文件名,运行后就可以在T264right\build\bin下看到解码后的文件dec.yuv了。
2、用YUVPlayer.exe播放dec.yuv就可以看到解码后的图像了,解码出的图像也是100帧,看上去与源视频文件没有差异。但是该编解码过程是有损过程,所以解码后的文件比源视频文件的14.85M小了一些。