VA简直自恋,一个EffectVideo也能如此折腾。
//0 - 0x2b
在OMVInfo 和 Package 之间还有一段作用未知的数据 。反正现在能机智地提取OMV了
最后,这些神烦的index完毕后,就是ogv了。
struct OMVDataPackage
{
DWORD DataPackID;
DWORD DataPackType;
DWORD DataPackSize;
DWORD DataPackStartOffset;
DWORD DataPackRelated;
DWORD DataPackFirstFrameID;
};
struct OMVFrameInfo
{
DWORD FrameID;
DWORD SavedPackID; //哪一个Package
DWORD SavedPackIndex; //Package中的哪一个
DWORD FrameTime;
DWORD UnknownID;
DWORD UnknownID2;
DWORD FrameStartTime;
DWORD FrameEndTime;
};
//0 - 0x2b
struct OMVHeader
{
DWORD PackageIndexOffset;//Rewrite体验版啥的貌似直接记录的是标准ogv开始的位置
WORD Version;//
//.......一堆Unknown的,也没法知道其作用
DWORD UsingOMVEncoding; //这个是Header中我最关心的东西,为2的时候,数据就是标准的,为1的时候,数据用了“1/3加密”
};
struct OMVInfo
{
DWORD VideoWidth;
DWORD VideoHeigth;
DWORD FrameTime;//感觉这里记录了 ,接下来的FrameInfo里记录它干啥 【谜
DWORD OGVStreamID;
DWORD PackageCount;
DWORD FrameCount;
};
在OMVInfo 和 Package 之间还有一段作用未知的数据 。反正现在能机智地提取OMV了
最后,这些神烦的index完毕后,就是ogv了。