Giter Site home page Giter Site logo

Comments (5)

hugepower avatar hugepower commented on June 24, 2024

其实,许多字幕文件在命名时并未明确标注字幕语言信息。我认为最佳的解决方案是采用可视化的字幕列表展示方式。用户只需根据界面上的指引,即可轻松选择和切换不同的字幕,无需在文件名中费力寻找语言信息。这种方式类似于 macOS 中的输入法切换,通过简单的组合键(如Command+空格键)即可迅速切换至所需的输入法,既方便又高效。

from iina.

JeseYe avatar JeseYe commented on June 24, 2024

其实,许多字幕文件在命名时并未明确标注字幕语言信息。我认为最佳的解决方案是采用可视化的字幕列表展示方式。用户只需根据界面上的指引,即可轻松选择和切换不同的字幕,无需在文件名中费力寻找语言信息。这种方式类似于 macOS 中的输入法切换,通过简单的组合键(如Command+空格键)即可迅速切换至所需的输入法,既方便又高效。

这个功能的目的是给快捷键用的,就是最快速地一键即可以明确切换到不同语言模式的字幕。借助界面来指引就慢了,体验差非常多。如果字幕文件没有标志字幕信息,那么用户是自己修改一下文件名就可以了

from iina.

low-batt avatar low-batt commented on June 24, 2024

以英语为母语的人使用在线翻译进行回复...

这项提议的功能带来了一个软件工程设计问题。与许多开放源代码项目类似,IINA 也是在许多其他项目的代码之上分层的。软件工程师必须考虑在什么地方进行修改比较合适。通常情况下,在从其他项目获取的代码之上添加新功能是不可取的,因为该功能确实应该在其他项目拥有的代码中实现。如果您确实在其他项目的代码上添加了功能,那么如果将来该项目也实现了该功能,就会出现问题。

在音频/视频播放和字幕渲染支持方面,IINA 使用了 mpv 项目中的一个库。因此,开发人员必须考虑的一个问题是,mpv 播放器是否也能从提议的功能中受益。如果可以,最好由 mpv 项目实现该功能,然后由 IINA 进行必要的修改以利用该功能。

mpv 播放器具有将按键与动作绑定的广泛功能。也许应该向该项目提出这样的功能建议。

要在 IINA 插件中实现某些功能,所需信息可在 mpv 属性 track-list 中找到:

track-list:
low-batt@gag ~$ echo '{ "command": ["get_property", "track-list"] }' | socat - /tmp/mpv-socket | jq
{
  "data": [
    {
      "id": 1,
      "type": "video",
      "src-id": 1,
      "image": false,
      "albumart": false,
      "default": true,
      "forced": false,
      "dependent": false,
      "visual-impaired": false,
      "hearing-impaired": false,
      "external": false,
      "selected": true,
      "main-selection": 0,
      "ff-index": 0,
      "decoder-desc": "h264 (H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10)",
      "codec": "h264",
      "demux-w": 1920,
      "demux-h": 1080,
      "demux-fps": 30.000000,
      "demux-par": 1.000000
    },
    {
      "id": 1,
      "type": "audio",
      "src-id": 2,
      "lang": "eng",
      "audio-channels": 2,
      "image": false,
      "albumart": false,
      "default": true,
      "forced": false,
      "dependent": false,
      "visual-impaired": false,
      "hearing-impaired": false,
      "external": false,
      "selected": true,
      "main-selection": 0,
      "ff-index": 1,
      "decoder-desc": "aac (AAC (Advanced Audio Coding))",
      "codec": "aac",
      "demux-channel-count": 2,
      "demux-channels": "stereo",
      "demux-samplerate": 44100,
      "demux-bitrate": 128000
    },
    {
      "id": 1,
      "type": "sub",
      "title": "Predictions on the USA  - With many different Subtitles [6QmwrtdqFJc].en.vtt",
      "image": false,
      "albumart": false,
      "default": false,
      "forced": false,
      "dependent": false,
      "visual-impaired": false,
      "hearing-impaired": false,
      "external": true,
      "selected": true,
      "main-selection": 0,
      "external-filename": "/Users/low-batt/Movies/Predictions on the USA  - With many different Subtitles [6QmwrtdqFJc].en.vtt",
      "ff-index": 0,
      "codec": "webvtt"
    },
    {
      "id": 2,
      "type": "sub",
      "title": "Predictions on the USA  - With many different Subtitles [6QmwrtdqFJc].sv.vtt",
      "image": false,
      "albumart": false,
      "default": false,
      "forced": false,
      "dependent": false,
      "visual-impaired": false,
      "hearing-impaired": false,
      "external": true,
      "selected": false,
      "external-filename": "/Users/low-batt/Movies/Predictions on the USA  - With many different Subtitles [6QmwrtdqFJc].sv.vtt",
      "ff-index": 0,
      "codec": "webvtt"
    },
…

注意 mpv 并没有填充 lang 属性,尽管它可以从文件名中导出。

from iina.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.