游巴酷玩 u8cool.com

游巴酷玩北京中关村店开张!欢迎各地玩家光临!专业格斗摇杆实体店铺!开业酬宾88折!
u8电玩网
实体店
拍拍店
淘宝店
首页 | 本站 | 商城 | PSP | PS3 | PS2 | WII | XBOX360 | GBA | NDS | NGC | 周边 | PC | IPHONE | 论坛
热门关键字: psp 电子图书  真三国无双5  火影忍者  火影忍者rpg2  virtualpsp
当前位置:游巴主页>NDS>导购教学>文章内容

NDS电影DPG制作原理完全解析

本站网址:www.u8cool.com 来源:游巴酷玩网 作者: 发布时间:2008-01-11


关于DPG

    此格式是由日本的moonlight先生所写,应用在nds的非官方moonshell软件上,可以让NDS游戏主机播放的影片的格式称谓

所谓dpg,是由mpeg1video与mpeg2 audio两部分构成的

关于DPG内部详细规格

dpg = moonlight先生特制的header + mpeg2 audio + mpeg1 video

(header的意思为一个文件开头描述内部文件内容的重要信息文件资料)

    注意虽然理论上要制作dpg档只需要将mpeg2 audio + mpeg1 video前面放置一个特殊header然后组合即可,但是在转置参数的使用上需要特别注意,否则会造成播放不能或是播放出现意外问题.在最强的画面与最佳的体积间进行抉择,什么才是最佳的转置方式恐怕连月光先生都不是很清楚吧?

如何自行制作DPG档

    制作dpg档最大的问题在于,由于header区域需要有对于video frame的总数定义,因此如何正确撷取video frame的数量就是转置的问题关键所在

    就是因为需要frame的信息参数去建立header,所以moonlight先生的转档软件支持的格式才有限(目前moonlight支持的格式有限,可以转置的都是文件本身就带有frame数量参数在的格式文件),另一款BatchDPG软件利用的是menocder在转档时的stdout信息,撷取其最后统计出的frame数目,来当成建立header所需的参数

至于如何撷取mencoder在转档时输出的信息画面,这就看个人技术了,但是也并非是很复杂的技巧.

BatchDPG里面有附一个headrmaker.exe,可以用于建立必要的header信息档,使用参数是

headermaker.exe frames fps audio_sample_rate mp2_file_size m1v_file_size  header_name

frames : 影片frame张数

fps : 影片播放正确的速率

audio_sample_rate : 播放取样率

mp2_file_szie : mp2文件大小,单位是byte

m1v_file_szie : m1v mpeg1 video文件大小,单位是byte

header_name : 输出的header名称

最后你之需要将header.m1v.mp2文件copy在一起就好了.

copy/b  "xxx.head"+"xxx.mp2"+"xxx.m1v"  "xxx.dpg"

注意上面指令的关系前后不能改变,header要放在开头,mp2其次,m1v最后.

上面的信息与技巧参考于网络与BatchDPG与mooshell dpgenc两个转档程序的原始码分析.

后记

    实话说NDS播放DPG的效果并不让人满意,而且DPG档案的建立略显烦琐,文件格式的设计不很严谨,相关的转档软件也极少(似乎只有BatchDPG与moonshell dpgenc两种),画面品质更是尚待加强,希望日后有以MPEG4为基础的播放程序出现(ARM946E-S  67MHz处理器可能有些吃紧,但相信若是完美最佳化,应该可以达成)...这段是本人小小的牢骚

此篇主要是希望把相关信息理论散播开来,让有心的人可比较轻松地去撰写其他更有弹性的DPG转档软件

热点文章 热点文章
相关文章 相关文章
更多链接 更多链接
电话:010-62604525 | 业务QQ:552662001 | 网站合作QQ:552662002 | Email:U8cool#QQ.com
网址:www.U8cool.com
地址:北京市海淀区海淀大街3号鼎好二期5层A5087