如何将字幕设置为“无”作为图腾的默认值?

red*_*war 8 video totem subtitle

Ubuntu 17.10

默认情况下,打开视频始终启用英文字幕(嵌入),每次打开新文件时我都必须将其关闭。

如何将其设置none为默认值?

有一个我已关闭的外部字幕复选框。这个设置完全没有意义。它也应该适用于嵌入式字幕。

不,另一个问题的可怕黑客将字体大小设置为 1px 或类似的东西不是解决方案。

这发生在.mkv带有subt字幕流的容器文件中。

Win*_*nix 6

使字幕叠加不可见

经过大量的谷歌搜索在 AU 中找到了相同的问答:图腾(视频)- 关掉东西?. 就像你的问题一样,OP 不想将字体大小设置为 1 像素作为解决方法。

问题中发布的答案发现 ``0 using 的字体大小gsettings完美地工作:


从您的视频中永久删除字幕

另一种选择是从您的文件中永久删除字幕.mkv。链接中的作者解释了如何对软标题和硬标题进行操作(通过裁剪图片的下部)。文章分为三个部分:

  • 第一部分:检查字幕是否为软字幕
  • 第二部分:如何从 MKV、AVI 和 MP4 中删除软字幕?
  • 第三部分:如何从 MKV、MP4 和 AVI 中删除硬编码字幕?

具有新功能请求的电子邮件开发人员

GNOME Totem 的开发者是 Bastien Nocera。您可以通过 hadess@hadess.net 向他发送电子邮件,并要求提供设置新打开的视频默认语言的新功能。在您的情况下,它将是“无”。然而,对于其他用户来说,如果他们的系统语言设置为“俄语”,但他们希望所有打开的视频都具有“英语”字幕,则有一个好处。


更改源代码并重新编译

Totem 源代码可以在github上找到。如果开发者不适应新功能的请求,可以修改源代码:

  1. 找到分配字幕格式的模块
  2. 找到字幕设置为您的语言的行
  3. 将覆盖语言的新代码行添加到 none

将这一行添加到源代码中可能需要几个小时,但您可能会发现这个过程很有启发性和乐趣

我花了大约 10 分钟才找到在模块中设置字幕的函数:https : //github.com/GNOME/totem/blob/master/src/totem-menu.c在第 246 行:

select_subtitle_action_cb (GSimpleAction *action,
               GVariant      *parameter,
               gpointer       user_data)
{
    totem_playlist_select_subtitle_dialog (TOTEM_OBJECT (user_data)->playlist,
                           TOTEM_PLAYLIST_DIALOG_PLAYING);
}
Run Code Online (Sandbox Code Playgroud)

图腾GStreamer用于举重

感谢Chriki的回答,我们学到了很多关于 Totem 内部结构以及它如何调用GStreamer视频播放的繁重工作。有一个GStreamer 接口选项,可以完全关闭字幕:

  • 支持流选择和禁用。如果您的媒体有多个音频或字幕轨道,您可以动态选择播放哪一个,或者决定完全关闭它(这对于关闭字幕特别有用)。对于每一个,使用“当前文本”和其他相关属性。

声明“这对关闭字幕特别有用”的部分可能是 Totem 更新版本的目标。

正如 Chriki 所指出的,GStreamer 选择默认字幕语言并提供 Totem 用来填充其设置菜单的所有字幕的列表。Totem is providing another option of "None" which when selected instructs GStreamer to turn off subtitles.

我认为设计更改是从字幕选择菜单中删除“无”选项。然后为“字幕开/关”创建一个全局菜单选项,该选项在 Totem 会话中持续存在。也许当每个新视频开始时,一个 5 秒的气泡会显示“可用字幕已关闭”。提醒用户如果需要,他们可以打开当前视频。

也就是说,我是一个 bash 脚本初学者,将Totem修改为GStreamer接口的C 编程超出了我的工资等级。