Skip to content

[Feature Request] 支持 BDMV 原盘文件夹的外挂字幕调轴 #89

@Sylthionys

Description

@Sylthionys

功能建议:是否有计划支持 BDMV 原盘文件夹的外挂字幕调轴?

你好,我想咨询一下 SubRenamer 后续是否有计划支持 BDMV 原盘文件夹格式 的外挂字幕调轴功能。

我注意到 SubRenamer 目前已经支持基于 FFsubsync + FFmpeg 的一键字幕调轴,这个功能对普通视频文件非常方便。但在蓝光原盘场景下,目前还不太好处理。

使用场景

很多外国蓝光原盘没有目标语言字幕。
网上下载到的外挂字幕大多是标准电视剧分集版本,但蓝光原盘的分集结构有时和标准分集不同,例如:

  • 一个 BDMV 中每集对应不同的 .m2ts / .mpls
  • 某些 playlist 可能是几集合并在一起
  • 网上的字幕是 E01.srtE02.srt,但原盘中可能是一个较长的 playlist
  • 原盘内已有英文 / 日文 PGS 字幕,但没有目标语言字幕
  • 外挂字幕需要对齐到原盘时间轴后才能正常观看

因此希望能让 SubRenamer 支持把 BDMV 原盘作为调轴参考源。

设想功能

初步设想不是修改或重封装原盘,而是只输出调轴后的外挂字幕,例如:

  1. 支持拖入:

    • BDMV 文件夹
    • index.bdmv
    • 或包含 BDMV 的原盘根目录
  2. 自动识别原盘中的 playlist:

    • 扫描 BDMV/PLAYLIST/*.mpls
    • 显示候选标题 / 时长 / 对应 clip / 字幕轨信息
    • 让用户选择需要对齐的 playlist
  3. 支持基于原盘调轴外挂字幕:

    • 使用 playlist 对应的视频 / 音频作为 FFsubsync 参考源
    • 或使用原盘已有 PGS 字幕时间轴作为参考源
  4. 显示原盘字幕轨信息:

    • 例如首条字幕出现时间
    • 末条字幕出现时间
    • 字幕事件数量
    • 方便用户判断外挂字幕是否需要整体偏移或线性拉伸
  5. 后续可扩展多集字幕合并:

    • 例如一个原盘 playlist 对应 E01 + E02
    • 用户选择多个普通分集字幕
    • 程序根据 playlist / clip / chapter / 手动分段进行调轴并合并输出

可能的实现方式

可以延续 SubRenamer 现有外部组件的方式,不需要把相关项目源码直接集成进主程序。

例如:

  • 继续使用现有 FFmpeg + FFsubsync 进行调轴
  • 可选调用 BDInfoCLI 等外部工具获取 BDMV playlist、轨道和字幕信息
  • 主程序只负责:
    • 检测 BDMV 结构
    • 调用外部工具
    • 解析输出结果
    • 生成调轴任务
    • 输出对齐后的外挂字幕

这样应该不会明显增加主程序体积,也不会改变现有普通视频字幕重命名 / 调轴流程。

想咨询的问题

请问项目后续是否有支持 BDMV 原盘字幕调轴的计划?

如果这个方向符合 SubRenamer 的定位,我也想尝试参与实现。

感谢!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions