Как установить субтитры на «none» как значение по умолчанию для тотема?

7

Ubuntu 17.10

Для открытия видео всегда есть субтитры на английском языке (встроенные) по умолчанию, я должен отключать их при каждом открытии нового файла.

Как превратить его в none по умолчанию?

Есть флажок для внешних субтитров, которые я отключил. Этот параметр не имеет никакого смысла. Он также должен применяться к встроенным субтитрам.

И нет, ужасный взлом из другого вопроса, чтобы установить размер шрифта в 1px или что-то в этом роде, не является решением.

Это происходит с .mkv содержащимися файлами с subt потоками субтитров в них.

    
задан redanimalwar 22.11.2017 в 17:00
источник

3 ответа

5

Сделать оверлей субтитров невидимыми

После того, как много поисковых запросов найдено то же Q & amp; A здесь, в AU: totem (видео) - отключить? . Точно так же, как ваш вопрос, OP не хочет устанавливать размер шрифта в 1 пиксель в качестве работы.

Ответ, поставленный в вопросе, показал, что размер шрифта '' 0 с использованием gsettings отлично работал:

Постоянно удалять субтитры из ваших видеороликов

Другим вариантом является окончательное удаление субтитров из вашего .mkv файлов. Автор в ссылке объясняет, как это сделать как для мягких заголовков, так и для жестких названий (путем вырезания нижней части изображения). Статья делится на три части:

  • Часть первая: Проверьте, является ли субтитры мягкими субтитрами или нет.
  • Часть вторая: Как удалить мягкие субтитры из MKV, AVI и MP4?
  • Часть третья: Как удалить субтитры Hardcoded с MKV, MP4 и AVI?

Разработчик электронной почты с новым запросом функции

Разработчиком тотемов GNOME является Bastien Nocera. Вы можете отправить его по электронной почте по адресу [email protected] и запросить новую функцию настройки вновь открытого видео по умолчанию. В вашем случае это будет "Нет". Однако для других пользователей есть преимущество, если, например, язык их системы был установлен на "Русский", но они хотели, чтобы все открытые видео имели "английские" субтитры.

Измените исходный код и перекомпилируйте

Исходный код Totem можно найти в github . Если разработчики не соответствуют новому запросу функции, вы можете изменить исходный код:

  1. Найдите модуль, в котором назначается формат субтитров
  2. Найдите строку, в которой субтитры установлены на ваш язык.
  3. Добавить новую строку кода, переопределяющую язык, на none

Может потребоваться много часов, чтобы добавить одну строку в исходный код, но вы можете найти процесс просветления и приятного

Я потратил около 10 минут, чтобы найти функцию, которая устанавливает субтитры в модуле: Ссылка в строке 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 для тяжелого подъема

Благодаря ответу Chriki мы много узнаем о внутренностях Totem и о том, как он называет GStreamer , чтобы сделать тяжелый подъем воспроизведения видео. Существует опция интерфейса GStreamer , где субтитры можно полностью отключить:

  • Поддержка выбора потока и отключения. Если ваш носитель имеет несколько дорожек аудио или субтитров, вы можете динамически выбирать, какой из них воспроизводится, или вообще отказаться от него (что особенно полезно для отключения субтитров). Для каждого из них используйте "текущий текст" и другие связанные с ним свойства.

Часть, указывающая ", которая особенно полезна для отключения субтитров , вероятно, будет нацелена на обновление версии Totem.

Как указано Chriki, GStreamer выбирает язык субтитров по умолчанию и предоставляет список всех субтитров, которые Totem использует для заполнения своего меню настроек. Totem предоставляет еще один вариант "None", который при выборе Gstreamer отключает субтитры.

Я думаю, что изменение дизайна состояло бы в том, чтобы удалить параметр "none" из меню выбора субтитров. Затем создайте глобальное меню для "субтитров вкл / выкл", которое является постоянным в сеансах Тотема. Возможно, когда каждое новое видео запускается, 5-секундный пузырь может отображать "Доступные субтитры выключены". чтобы напомнить пользователю, что они могут быть включены для текущего видео, если это необходимо.

Это говорит о том, что я начинаю создание сценариев сценариев и программирование на C, чтобы изменить интерфейс Тотем на GStreamer выше моего уровня оплаты.

    
ответ дан WinEunuuchs2Unix 17.02.2018 в 22:39
2

Установка значения по умолчанию невозможна с помощью тотема

Я прочитал исходный код Тотема , и на сегодняшний день не представляется возможным установить любой по умолчанию язык субтитров или «Нет». Тотем, кажется, просто использует поток субтитров по умолчанию, который базовый проигрыватель 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/')"

Вы можете напрямую запустить это в окне терминала (bash), т. е. вам не нужно вручную думать о шрифте для установки; он использует ранее установленный (видимый с gsettings get org.gnome.totem subtitle-font ).

Подробнее о моем заявлении

Пока нелегко доказать, что что-то доступно not , я все же хотел бы указать на некоторые соответствующие фрагменты кода, с которыми я столкнулся, которые, похоже, поддерживают мое утверждение.

Функция 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 , как показано выше). И, как упоминалось выше, это свойство по умолчанию имеет «первый поток субтитров с данными».

    
ответ дан Chriki 18.02.2018 в 17:45
1

Кажется невозможным ATM.

Но есть хакерский способ отключить их в totem alltogether gsettings set org.gnome.totem subtitle-font '[whatever your font is here], 0'

    
ответ дан Robert Riedl 19.02.2018 в 09:08