Comments (5)
其实,许多字幕文件在命名时并未明确标注字幕语言信息。我认为最佳的解决方案是采用可视化的字幕列表展示方式。用户只需根据界面上的指引,即可轻松选择和切换不同的字幕,无需在文件名中费力寻找语言信息。这种方式类似于 macOS 中的输入法切换,通过简单的组合键(如Command+空格键)即可迅速切换至所需的输入法,既方便又高效。
from iina.
其实,许多字幕文件在命名时并未明确标注字幕语言信息。我认为最佳的解决方案是采用可视化的字幕列表展示方式。用户只需根据界面上的指引,即可轻松选择和切换不同的字幕,无需在文件名中费力寻找语言信息。这种方式类似于 macOS 中的输入法切换,通过简单的组合键(如Command+空格键)即可迅速切换至所需的输入法,既方便又高效。
这个功能的目的是给快捷键用的,就是最快速地一键即可以明确切换到不同语言模式的字幕。借助界面来指引就慢了,体验差非常多。如果字幕文件没有标志字幕信息,那么用户是自己修改一下文件名就可以了
from iina.
以英语为母语的人使用在线翻译进行回复...
这项提议的功能带来了一个软件工程设计问题。与许多开放源代码项目类似,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)
- Audio delay units uses two lines in Hebrew HOT 11
- Numeric Keypad Support Suggestion
- Screenshot cache contains many large files HOT 4
- 视频内置的软字幕切换到一下一句台词很多时候无效 HOT 5
- 外挂字幕自动加载顺序是否可以自定义?
- RTL language causes misalignment of slider labels
- High delay streaming with avi files HOT 3
- RTL language causes history progress indicator to reverse
- Leave controls on where they aren't obstructing anything HOT 1
- RTL language causes button to overlap scroll bar HOT 1
- open weblink (iina://) with space (' ') and box brackets ('[]') got error
- Audio track switches when closing the lid of my mac book HOT 12
- RTL language causes clipped aspect ratio button HOT 2
- ReplayGain support HOT 5
- Spatial Audio-Like Multi-channel Audio Output In IINA? HOT 2
- Can't disable pause when machine goes to sleep HOT 1
- Audio skips when spatial audio is turned on and off HOT 3
- Playback fails to start with avfoundation audio driver HOT 2
- RTL language causes misalignment of equalizer label HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from iina.