M代码网址:http://iphome.hhi.de/suehring/tml/download/old_jm/
选择下载JM8.6版本,用VS 2010打开tml.sln,如下图所示:
其中,“lencod”用于视频编码,“ldecod”用于视频解码,“rtpdump”暂时不用管。
接下来需要搭建环境,首先针对“lencod”进行配置:
右击“lencod”选择【属性】,在“配置属性”的“常规”中,修改“输出目录”和“中间目录”为“.\bin”,如下图所示:
接着在“配置属性”的“调试”中,修改“命令参数”和“工作目录”分别为“-d encoder_baseline.cfg”和“.\bin”,如下图所示:
注意:“-d encoder_baseline.cfg”,当你深入研究视频标准后,可以根据需要再修改。
至此,针对“lencod”的环境配置完成,接下来继续对“ldecod”进行配置:
右击“ldecod”选择【属性】,在“配置属性”的“常规”中,修改“输出目录”和“中间目录”为“.\bin”,如下图所示:
接着在“配置属性”的“调试”中,修改“命令参数”和“工作目录”分别为“decoder.cfg”和“.\bin”,如下图所示:
至此,针对“ldecod”的环境配置完成。
接下来,将开始运行JM8.6代码,首先,我们需要运行“lencod”(视频编码模块):
首先,进入“encoder_baseline.cfg”中,修改编码帧数为3,这里主要是避免运行时间过长,如下图所示:
将“lencod”设置为启动项,即右击“lencod”后,如下图所示:
之后,启动调试即可,运行结果如下图所示:
如上图所示,完成了3帧的编码,其中第0帧是IDR帧(属于I帧),第1帧是P帧,第2帧是I帧;更多细节,请参阅其他指导资料。
接下来,运行“ldecod”(视频解码模块):
首先,进入“decoder.cfg”,将第1行设置为“bus.264”,如下图所示:
然后,将“ldecod”设置为启动项,接着启动调试即可,运行结果如下图所示:
至此,我们完成了基本的JM8.6代码的运行。