zoukankan      html  css  js  c++  java
  • 蓝光影视媒体菜单结构浅析[原版加字幕保留花絮/主菜单/弹出菜单并分割对应PS3]

    虽然标题说浅析,但实际内容可能较复杂,修改原盘现阶段也是很烦琐的工作
    本文写给有兴趣修改原盘加字幕流或音频流的网友看的,没兴趣的可以不看了

    本文主要以菜单基本类型为例子,其他情况实例操作以后再补充说明
    本文可能有错误或不准确的地方,请明确指出,我会加以修正或补充

    准备工作,需要的工具
    tsmuxer
    BDedit
    AVCHD-Patcher
    HxD
    下载连接(tsmuxer 的包里含前三个工具)
    http://gilleco.2alien.net/MediaTools/tsMuxer.rar
    http://gilleco.2alien.net/MediaTools/HxD.rar

    然后,你得懂十六进制和其算法 [Hex],不懂就先去问搜索引擎,学会再来
    够大的移动硬盘用于PS3试验,PC虽有相关播放器,但实硬体BD播放器情况才准确

    有足够耐心,仔细,因为烦琐,所以操作时不要毛躁
    时刻注意备份,主要指菜单结构文件备份,数据修改较多,常备份减少重做工量

    本文的结构信息说明肯定是不全面的,选主要的讲,其他细节信息需要各位慢慢摸索总结
    BDedit可以进行不少的结构信息修改,但是该软件有写操作bug,所以尽量用 HxD代替操作

    本文后面凡是带h字母的,则为16进制表示法,hexagon
    本文后面凡是带d字母的,则为10进制表示法,decimal

    菜单文件数据结构

    index
    播放列表的序号索引

    无特别需要,一般不需要修改此文件
    此文件和object信息是对应的
    object
    各视频播放时对应菜单和指令表
    media playlist
    mpls就是播放列表信息

    mpls里包含一段完整的媒体信息,整段影片可能是多个剪辑块串联而成
    clip information
    clpi就是媒体剪辑块的信息


    Offset 0030h 起 0008h 个字节 0004050C40000000h 是该播放列表允许的菜单功能的信息
    见BDedit查看mpls时顶上的两排

    Offset 000Eh 起 0002h 个字节 058Eh代表的是该列表整段影片章节时间码信息储存区开始位置
    Offset 003Ch 起 0002h 个字节 0550h代表的是该列表整段影片的全部剪辑块信息储存区总长度
    也是章节时间码开始位置偏移长度,3Dh+550h=58Dh

    Offset 0040h 起 0002h 个字节 是该列表整段影片所含剪辑块的个数
    Offset 0044h 起 054Ah 个字节 是该列表整段影片全部剪辑块信息区域
    Offset 0044h 起 0092h 个字节 是该列表第一个剪辑块信息区域
    Offset 0050h 起 0001h 个字节 是该剪辑块与前后块的关系类型[1h为起始、6h为接续、15h为分歧]
    Offset 0052h 起 0008h 个字节 是该剪辑块的开始时间[IN time]和结束时间[Out time]
    Offset 0066h 起 0002h 个字节 是该剪辑块所含流标签信息储存区的长度,6Eh+67h=D5h
    Offset 006Ah 起 0007h 个字节 是该剪辑块所含流的条数信息,STN[Vi/Au/PG/IG/sV/sA/PIP]
    Offset 0076h 起 0060h 个字节 是该剪辑块所含流标签信息,10h[16d]个字节为一条流信息
    Offset 00C6h 起 0010h 个字节 是该剪辑块的弹出菜单标签信息
    后面的剪辑块情况不再赘述,请按规律依次类推

    Offset 0566h 起 0024h 个字节 是该列表整段影片使用的弹出菜单对应媒体块的信息

    Offset 058Eh 起 0004h 个字节 是该列表整段影片章节时间码信息储存区总长度,591h+286h=817h
    Offset 0592h 起 0002h 个字节 是该列表整段影片章节时间码条数,2Eh[46d]

    Offset 0594h 起 0284h 个字节 是该列表整段影片全部章节时间码信息区域
    Offset 0594h 起 000Eh 个字节 是该列表整段影片章节时间码中第一条的信息
    Offset 0598h 起 0004h 个字节 是该条章节时间码的具体时间值
    Offset 0596h 起 0002h 个字节 是该条章节时间码的对应的媒体剪辑块序号[在该位储存值上加1]



    Offset 0034h 起 0004h 个字节 是该剪辑块的rate  值,BDedit查看CLIPINF后Status有记录此值
    Offset 0038h 起 0004h 个字节 是该剪辑块的packet值,BDedit查看CLIPINF后Status有记录此值

    Offset 00EEh 起 0008h 个字节 是该剪辑块的开始时间[IN time]和结束时间[Out time]

    Offset 00F8h 起 0084h 个字节 是该剪辑块所含流标签信息储存区
    Offset 00F8h 起 0002h 个字节 0082h代表的是该储存区的长度 F9h+82h=17Bh
    Offset 0102h 起 0001h 个字节 是该块所含流的条数信息,此块共含5条流,1视频流/2音频流/2字幕流
    Offset 0104h 起 0018h 个字节 是该块第一条流标签信息,后面几条一次类推

    修改流程步骤简述

    一 提取章节时间码
    用BDedit打开需要修改的原版,在Options项的chapter format选为 Time
    在Playlist项选中你要修改的媒体片段的mpls,点save chapters获得一个文本
    二 加流并分割
    现在用tsmuxer对原盘中需要修改的部分进行加字幕,或音轨
    如果是多段,请按照playlist里排列的顺序依次add后join各个m2ts
    若源是分段的,加字幕或音轨不是分段的没有关系,只要总长时间可以对应就行了
    在blu-ray项chapters选Custom,复制第一步操作里获得文本里内容到这里
    为了方便将 Option里m2ts数字填写为大于原目录下m2ts最大序号的数字
    例bdmv/stream里最大为00200.m2ts,则填201,这是为了作分割时方便替换操作
    如果你要移动硬盘播放,可以选择分割,填4.29[单位GB]或3.99[单位Gib]
    选blu-ray或avchd封装输出,这里其他具体细节相关tsmuxer教程甚多,这里不再赘述
    三 替换文件
    将原版里你刚才修改时参照的原mpls列出的m2ts及其对应序号的 clpi全部移开,或者删除
    原mpls备份出来到任意目录,然后将新目录里的m2ts和clpi全部移到原版对应目录
    四 修改播放列表
    现在打开HxD,新生成的mpls和原mpls都拖进去,理清mpls基本数据结构后开始修改
    原mpls里移到章节时间码信息储存区开始位置,记下数字,等下增长了好找修改位置

    复制新mpls里第一个剪辑块信息区域里新增的流标签信息,然后在原mpls对应位置插入
    一条流长度为10h[16d],不要看错,然后修改原mpls的STN,增加标签流对应改大STN值
    接下来修改原mpls第一个剪辑块所含流标签信息储存区的长度值,增加一条标签就加10h

    若新生成的有分割,复制改动过的原mpls 第一个剪辑块全部信息区域,按新mpls分割块数
    在第一剪辑块信息区末尾插入增加信息块[若原版也多块则将 原mpls后续剪辑块信息都删除]
    这里要插入粘贴的次数当然是新生成m2ts数量减1,此操作完后修改该mpls所含剪辑块的个数

    对照新mpls,修改原mpls各个剪辑块的[IN time]和[Out time],修改块与块的关系类型
    原mpls的000Eh处修改章节时间码信息储存区开始位置,003Ch处改剪辑块信息储存区总长度

    新 mpls的000Eh处,按此值移到章节时间码信息储存区开始位置,复制此后所有信息
    原mpls的000Eh处,按此值移到章节时间码信息储存区开始位置,删除此后所有信息,然后粘贴。

    (注:如无分块情况,不大副操作去动章节码信息也是可行的)
    (无分块时把原mpls未改的[IN time]和[Out time]覆盖到新clpi即可)
    到此,所有必要修改操作算是完成了,如果要刻录,按照一般方法刻录BD即可
    而需要移动硬盘模拟播放则用AVCHD-Patcher将原版index拖来patch一下就行了
  • 相关阅读:
    Centos-706防火墙端口操作
    Centos-7.6安装DotnetCore3.1
    Centos-610-源码安装GIT
    Centos-610-安装Jenkins2.222.4
    Centos610-安装NodeJs
    Windows:开发环境Word,PPT,EXCEL com+组件配置
    DCom配置我的电脑有个红色向下的箭头
    NPM包管理工具NRM
    Win10-Jvm调优之工具基本配置、使用(二)
    Win10-Jvm调优之工具基本配置、使用(一)
  • 原文地址:https://www.cnblogs.com/MaxWoods/p/1655539.html
Copyright © 2011-2022 走看看