Ubuntu 17.10
При открытии видео по умолчанию английские субтитры (встроенные) всегда включены, мне приходится отключать их каждый раз, когда я открываю новый файл.
Как установить значение none
по умолчанию?
Есть флажок для внешних субтитров, которые я отключил. Этот параметр не имеет никакого смысла. Это должно быть применимо и к встроенным субтитрам.
И нет, ужасный хак из другого вопроса, чтобы установить размер шрифта в 1px или что-то в этом роде, не является решением.
Это происходит с .mkv
контаминированными файлами с subt
потоками субтитров в них.
Я просмотрел исходный код Totem и на сегодняшний день кажется невозможным установить какой-либо язык субтитров по умолчанию или "Никто". Тотем, кажется, просто всегда использует поток субтитров по умолчанию, который базовый проигрыватель GStreamer выбирает для воспроизводимого в данный момент видео - и это значение по умолчанию описано здесь : «По умолчанию первый субтитр поток с данными воспроизводится ».
Другими словами, ответ , о котором сообщает WinEunuuchs2Unix, вероятно, является вашим лучшим вариантом на данный момент. Здесь снова добавлена немного оригинальности для моего собственного ответа:
gsettings set org.gnome.totem subtitle-font \
"$(gsettings get org.gnome.totem subtitle-font | sed -r -e 's/ [0-9]+([^0-9])?$/ 0\1/')"
Вы можете напрямую запустить его в окне терминала (bash), т. Е. Вам не нужно вручную придумывать шрифт для задавать; он использует ранее установленный (видимый с gsettings get org.gnome.totem subtitle-font
).
Хотя нелегко доказать, что что-то недоступно , я все же хотел бы указать на некоторые соответствующие фрагменты кода, с которыми я столкнулся, и которые кажется, поддерживает мое требование.
Функция totem_subtitles_update
заботится об обновлении меню субтитров. То, что он делает, сводится к следующему:
action = g_action_map_lookup_action (G_ACTION_MAP (totem), "set-subtitle");
// …
current = bacon_video_widget_get_subtitle (totem->bvw);
g_action_change_state (action, g_variant_new_int32 (current));
Другими словами, он берет текущую настройку субтитров из виджета видео и также использует ее в меню.
Вот что bacon_video_widget_get_subtitle
делает для полноты картины:
g_object_get (G_OBJECT (bvw->priv->play), "current-text", &subtitle, NULL);
Свойство current-text
запрашивается, и его значение возвращается через Переменная subtitle
(для использования через переменную current
, как показано выше). И, как упоминалось выше, это свойство по умолчанию равно «первому потоку субтитров с данными».
Кажется невозможным банкомат.
Но есть хакерский способ полностью отключить их в тотеме.
gsettings set org.gnome.totem subtitle-font '[whatever your font is here], 0'
После того, как многие из поисковиков нашли один и тот же Q & A здесь, в AU: тотем (видео) - выключить вещи? . Как и ваш вопрос, OP не хочет устанавливать размер шрифта в 1 пиксель как обходной путь.
Ответ, опубликованный в вопросе, показал, что размер шрифта `` 0 с помощью gsettings
работал отлично:
Другой вариант - навсегда удалите субтитры из ваших .mkv
файлов. Автор в ссылке объясняет, как это сделать как для мягких заголовков, так и для жестких заголовков (обрезая нижнюю часть изображения). Статья разделена на три части:
Разработчиком GNOME Totem является Bastien Nocera. Вы можете отправить ему электронное письмо по адресу hadess@hadess.net и попросить новую функцию настройки языка по умолчанию для вновь открытого видео. В вашем случае это будет «Нет». Однако для других пользователей есть преимущество, если, например, язык их системы установлен на «русский», но они хотят, чтобы все видео были открыты с субтитрами на «английском».
Исходный код тотема можно найти на github . Если разработчики не учли новый запрос функции, вы можете изменить исходный код:
Добавление одной строки в исходный код может занять много часов, но вы можете найти процесс поучительным и приятным
Я потратил около 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);
}
GStreamer
для поднятия тяжестей Благодаря ответу Чрики , мы узнаем много нового о внутренностях Totem и о том, как он призывает GStreamer
выполнять тяжелую работу по воспроизведению видео. Существует опция интерфейса GStreamer , в которой субтитры могут быть отключены вообще:
Часть, в которой говорится «что особенно полезно для отключения субтитров» , вероятно, является целью обновленной версии Totem.
Как указывает Chriki, GStreamer выбирает язык субтитров по умолчанию и предоставляет список всех субтитров, которые Totem использует для заполнения своего меню настроек. Тотем предоставляет другую опцию «Нет», которая при выборе инструктирует GStreamer отключать субтитры.
Я думаю, что изменение дизайна будет заключаться в удалении опции «none» из меню выбора субтитров. Затем создайте глобальную опцию меню для «включения / выключения субтитров», которая сохраняется в течение сеансов Totem. Возможно, при запуске каждого нового видео на 5-секундном пузыре может отображаться «Доступные субтитры отключены». чтобы напомнить пользователю, что при желании его можно включить для текущего видео.
Тем не менее, я начинающий создатель bash-скриптов и программирую на C, чтобы изменить интерфейс Totem на GStreamer выше моей зарплаты.