HM代码编译
一样,之前提到的教程还没看完,这回接着分解。在上一回,我们已经将代码完整的下载下来了,所以接下来,只需要到 build 文件夹下,打开.sln文件即可。我用的的是 VS 2017,所以我打开 HM_vc2015.sln,如下图1所示。
图 1 HM_vc2015.sln
接下来到 VS 下,把启动项目改成 TAppEncoder ,如下图 2 所示。
图 2 TAppEncoder
接着试着按 Ctrl+F5 编译运行一下,反正我什么也没调,就得到如下图 3 所示的内容。
图 3 一次毫无目的的运行,不要问我里面是什么意思
接下来,有一个地方比较让人头疼,那就是下载测试文件。由于我实在找不到样例的下载源,我只好从这里找一些yuv文件做测试。但是问题是要自己写一个配置文件,这个对我来说有难度,因为我不知道下载来的文件的 InputBitDepth、InputChromaFormat、FrameSkip、FrameRate分别是多少。不过我也不管了,总之我是下载了一个叫做Akiyo的视频,然后根据已经给的那些cfg文件将参数设置为以下所示:
#======== File I/O ===============
InputFile : H:\svn\svndemo\newwc\build\vc2015\Win32\Debug\Akiyo.yuv
InputBitDepth : 8 # Input bitdepth
InputChromaFormat : 420 # Ratio of luminance to chrominance samples
FrameRate : 60 # Frame Rate per second
FrameSkip : 0 # Number of frames to be skipped in input
SourceWidth : 352 # Input frame width
SourceHeight : 288 # Input frame height
FramesToBeEncoded : 50 # Number of frames to be coded
Level : 3.1
然后把Akiyo.yuv、Akiyo.cfg、encoder_intra_main10.cfg这三个文件都放在...\build\vc2015\Win32\Debug目录下。接着运行。果然,还是错了。提示 failed to open Input YUV file。
图 4 failed to open Input YUV file
那天晚上,我彻夜难眠。好在第二天,我及时发现了错误。
原来,我生成解决方案的目录设置错了,所以在我的debug目录下也没有出现exe文件,这点我之前一直没有发现。于是,把项目属性>>配置属性>>常规>>输出目录改成了H:\svn\svndemo\newwc\build\vc2015\Win32\Debug。如图5所示:
图5 修改输出目录
然后重新生成解决方案:
图6 重新生成解决方案
如图7所示,可以看到.../Debug目录下出现了.exe文件,说明生成成功了。
图7 出现exe文件
好了,这时候再来跑一跑,发现成功了!
图8 运行成功
因为我調了50帧,所以下面还在慢慢跑,但至少是跑起来了!很高兴!











网友评论