MVC学习笔记--2
2011-10-21 14:47
190 查看
JMVC8.3,测试编码,解码,和流的合成。
先测试H264AVCEncoderLibTestStaticd.exe,选择整个解决方案,属性,通用属性,启动项目,单启动项目,然后选择H264AVCEncoderLibTestStaticd。再选择这个工程,属性,调试属性,设置命令参数和工作目录,我的设置是:
如果是命令行调用,使用H264AVCEncoderLibTestStaticd -vf encoderMVC.cfg 0
总共有8个view,就要调用或者调试8次。写成批处理:
相对应的cfg文件,开头要写成:
这样,就把编码的批处理文件、cfg文件,和编码结果都放在了encoder子目录里。生成结果是output_0.264~output_7.264,以及recon_0.yuv~recon_7.yuv。注意生成的顺序应该是0 2 1 4 3 6 5 7
编码完成后,应该将各路的264文件合称为一个。建立子目录assembler,新建批处理:
cfg文件:
执行得到文件ballroom.264
下面看解码:
解码不需要cfg文件,新建目录decoder,建立批处理如下:
得到ballroom_0.yuv~ballroom_7.yuv,大小与编码时生成的recon_0.yuv~recon_7.yuv相同。
本来还要测试 提取功能,但是MVCBitStreamExtractorStaticd怎么调也调不通,郁闷。
【注意】
1.整个过程需要注意的是文件的写法,一般指定文件名,后面的下划线和数字编号会自动添加。但是解码的时候,ballroom.yuv,这里的扩展名yuv一定要添加,不然就出错。
2.顺序按0 2 1 34 3 6 5 7,不能打乱。解码时的参数8是指个数,不是指序号。
接下来把MVCBitStreamExtractorStaticd放一放,先好好看懂代码和原理吧。
先测试H264AVCEncoderLibTestStaticd.exe,选择整个解决方案,属性,通用属性,启动项目,单启动项目,然后选择H264AVCEncoderLibTestStaticd。再选择这个工程,属性,调试属性,设置命令参数和工作目录,我的设置是:
如果是命令行调用,使用H264AVCEncoderLibTestStaticd -vf encoderMVC.cfg 0
总共有8个view,就要调用或者调试8次。写成批处理:
@echo off echo 0 2 1 4 3 6 5 7 H264AVCEncoderLibTestStaticd.exe -vf E:\jmvc\JMVC\myconfig\encoder\encoderMVC.cfg 0 >> log0.txt H264AVCEncoderLibTestStaticd.exe -vf E:\jmvc\JMVC\myconfig\encoder\encoderMVC.cfg 2 >> log2.txt H264AVCEncoderLibTestStaticd.exe -vf E:\jmvc\JMVC\myconfig\encoder\encoderMVC.cfg 1 >> log1.txt H264AVCEncoderLibTestStaticd.exe -vf E:\jmvc\JMVC\myconfig\encoder\encoderMVC.cfg 4 >> log4.txt H264AVCEncoderLibTestStaticd.exe -vf E:\jmvc\JMVC\myconfig\encoder\encoderMVC.cfg 3 >> log3.txt H264AVCEncoderLibTestStaticd.exe -vf E:\jmvc\JMVC\myconfig\encoder\encoderMVC.cfg 6 >> log6.txt H264AVCEncoderLibTestStaticd.exe -vf E:\jmvc\JMVC\myconfig\encoder\encoderMVC.cfg 5 >> log5.txt H264AVCEncoderLibTestStaticd.exe -vf E:\jmvc\JMVC\myconfig\encoder\encoderMVC.cfg 7 >> log7.txt echo It is done. pause
相对应的cfg文件,开头要写成:
# JMVM H.264/AVC Extension Configuration File #_640x480_25p #============================== GENERAL ============================== InputFile ..\ballroom # Input file OutputFile output # Bitstream file
这样,就把编码的批处理文件、cfg文件,和编码结果都放在了encoder子目录里。生成结果是output_0.264~output_7.264,以及recon_0.yuv~recon_7.yuv。注意生成的顺序应该是0 2 1 4 3 6 5 7
编码完成后,应该将各路的264文件合称为一个。建立子目录assembler,新建批处理:
@echo off echo assembler start... MVCBitStreamAssemblerStaticd.exe -vf assembler.cfg >> assembler.txt echo assembler done pause
cfg文件:
#============================== Assembler: View Encode order ========================== OutputFile ballroom.264 NumberOfViews 8 InputFile0 ..\encoder\output_0.264 InputFile1 ..\encoder\output_2.264 InputFile2 ..\encoder\output_1.264 InputFile3 ..\encoder\output_4.264 InputFile4 ..\encoder\output_3.264 InputFile5 ..\encoder\output_6.264 InputFile6 ..\encoder\output_5.264 InputFile7 ..\encoder\output_7.264
执行得到文件ballroom.264
下面看解码:
解码不需要cfg文件,新建目录decoder,建立批处理如下:
@echo off echo decoder start... H264AVCDecoderLibTestStaticd.exe ..\assembler\ballroom.264 ballroom.yuv 8 >> decoder.txt echo decoder done pause
得到ballroom_0.yuv~ballroom_7.yuv,大小与编码时生成的recon_0.yuv~recon_7.yuv相同。
本来还要测试 提取功能,但是MVCBitStreamExtractorStaticd怎么调也调不通,郁闷。
【注意】
1.整个过程需要注意的是文件的写法,一般指定文件名,后面的下划线和数字编号会自动添加。但是解码的时候,ballroom.yuv,这里的扩展名yuv一定要添加,不然就出错。
2.顺序按0 2 1 34 3 6 5 7,不能打乱。解码时的参数8是指个数,不是指序号。
接下来把MVCBitStreamExtractorStaticd放一放,先好好看懂代码和原理吧。
相关文章推荐
- 【ASP.NET MVC 学习笔记】- 18 Bundle(捆绑)
- VS2010 学习笔记 MVC (1) 概述
- pring MVC 学习笔记 data binding
- ASP.NET MVC 1.0 学习笔记(随时更新)
- MVC项目结构搭建及单个类的实现学习笔记1
- 【Spring学习笔记-MVC-13】Spring MVC之文件上传
- ASP.NET MVC学习笔记-Controller的ActionResult
- 【Spring学习笔记-MVC-5】利用spring MVC框架,实现ajax异步请求以及json数据的返回
- 【学习笔记★MVC】MVC学习笔记
- 【Spring学习笔记-MVC-15】Spring MVC之异常处理
- Quartz.net 2.x 学习笔记02-Quartz.net 2.x在MVC站点中结合Log4net的使用
- [原创]java WEB学习笔记20:MVC案例完整实践(part 1)---MVC架构分析
- 《ASP.NET MVC 4 实战》学习笔记 1:第一个MVC用程序(上)
- 【Pro ASP.NET MVC 3 Framework】.学习笔记.11.ASP.NET MVC3的细节:概览MVC项目
- Ext.net mvc 入门学习笔记 (二) MVC4 默认引导路径的设置
- ASP.NET MVC Bundles 之学习笔记
- 学习笔记:Asp.Net MVC更新部分页面
- 学习笔记-----Spring_MVC注解的使用
- 《Pro ASP.NET MVC 3 Framework》学习笔记之十六【示例项目SportsStore】
- 【知了堂学习笔记】Model1、Model2和MVC架构模式