web-dev-qa-db-fra.com

Comment définir les sous-titres sur "aucun" comme valeur par défaut pour totem?

Ubuntu 17.10

L'ouverture des vidéos a toujours les sous-titres anglais (intégrés) activés par défaut, je dois les désactiver chaque fois que j'ouvre un nouveau fichier.

Comment le transformer en none par défaut?

Il y a une case à cocher pour externe sous-titres que j'ai désactivée. Ce paramètre n'a aucun sens. Cela devrait également s'appliquer aux sous-titres intégrés.

Et non, un bidouillage horrible d'une autre question pour définir la taille de la police sur 1 px ou quelque chose comme ça n'est pas une solution.

Cela se produit avec .mkv fichiers confinés contenant subt flux de sous-titres.

7
redanimalwar

Rendre invisible la superposition de sous-titres

Après beaucoup de recherches sur Google, retrouvez les mêmes questions-réponses ici en AU: totem (vidéos) - éteignez les choses? . Tout comme votre question, le PO ne veut pas définir la taille de la police à 1 pixel pour contourner le problème.

La réponse donnée dans la question a révélé qu'une taille de police de 0 utilisant gsettings fonctionnait parfaitement:


Supprimer définitivement les sous-titres de vos vidéos

Une autre option consiste à supprimer définitivement les sous-titres de vos fichiers .mkv. L'auteur dans le lien explique comment procéder pour les titres virtuels et les titres durs (en rognant la partie inférieure de l'image). L'article est divisé en trois parties:

  • Première partie: Vérifiez si le sous-titre est un sous-titre souple ou non.
  • Deuxième partie: Comment supprimer les sous-titres souples de MKV, AVI et MP4?
  • Troisième partie: Comment supprimer les sous-titres codés en dur de MKV, MP4 et AVI?

Développeur de messagerie avec demande de nouvelle fonctionnalité

Le développeur GNOME Totem est Bastien Nocera. Vous pouvez lui envoyer un e-mail à l'adresse [email protected] et demander une nouvelle fonctionnalité permettant de définir la langue par défaut de la vidéo récemment ouverte. Dans votre cas, ce serait "Aucun". Toutefois, pour les autres utilisateurs, il existe un avantage si, par exemple, la langue de leur système était réglée sur "Russe", mais ils souhaitaient que toutes les vidéos ouvertes comportent des sous-titres "anglais".


Changer le code source et recompiler

Le code source Totem peut être trouvé sur github . Si les développeurs ne prennent pas en charge la nouvelle demande de fonctionnalité, vous pouvez modifier le code source:

  1. Trouver le module auquel le format de sous-titre est attribué
  2. Trouvez la ligne où le sous-titre est réglé sur votre langue
  3. Ajouter une nouvelle ligne de code remplaçant la langue par aucun

L'ajout d'une ligne au code source peut prendre plusieurs heures, mais vous pourriez trouver le processus éclairant et agréable .

J'ai passé environ 10 minutes à trouver la fonction qui définit le sous-titre dans le module: https://github.com/GNOME/totem/blob/master/src/totem-menu.c à la ligne 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);
}

Totem utilise GStreamer pour soulever des objets lourds

Grâce à la réponse de Chriki , nous en apprenons beaucoup sur les composants internes de Totem et sur la façon dont il s’appelle GStreamer pour faire le gros du travail de lecture vidéo. Il y a un option d'interface GStreamer où les sous-titres peuvent être complètement désactivés:

  • Prend en charge la sélection et la désactivation du flux. Si votre média contient plusieurs pistes audio ou sous-titres, vous pouvez choisir dynamiquement celle qui doit être lue ou décider de l'éteindre complètement (ce qui est particulièrement utile pour désactiver les sous-titres). Pour chacune d’elles, utilisez le “texte actuel” et d’autres propriétés connexes.

La partie indiquant "ce qui est particulièrement utile pour désactiver les sous-titres" est probablement celle dans laquelle une version mise à jour de Totem serait la cible.

Comme l'a souligné Chriki, GStreamer sélectionne la langue par défaut des sous-titres et fournit une liste de tous les sous-titres que Totem utilise pour renseigner son menu de paramètres. Totem fournit une autre option "Aucun" qui, une fois sélectionnée, demande à GStreamer de désactiver les sous-titres.

Je pense que la modification de conception consisterait à supprimer l'option "aucune" du menu de sélection des sous-titres. Ensuite, créez une option de menu global pour "sous-titres activé/désactivé" qui persiste pendant les sessions Totem. Peut-être qu'au début de chaque nouvelle vidéo, une bulle de 5 secondes pourrait afficher "Sous-titres disponibles désactivés". pour rappeler à l'utilisateur qu'ils peuvent être activés pour la vidéo en cours s'ils le souhaitent.

Cela dit, je suis un créateur de scripts bash et une programmation en C pour modifier le Totem en GStreamer l’interface est au-dessus de ma classe salariale.

5
WinEunuuchs2Unix

Définir une valeur par défaut n'est pas possible avec Totem

J'ai parcouru le code source Totem et à ce jour, il ne semble pas être possible de définir une langue de sous-titrage par défaut ou "Aucun". Totem semble simplement utiliser toujours le flux de sous-titres par défaut que le lecteur GStreamer sous-jacent sélectionne pour la vidéo en cours de lecture - et cette valeur par défaut est décrite ici : “Par défaut, le premier flux de sous-titres contenant des données est lu.”

En d'autres termes, le réponse signalé par WinEunuuchs2Unix est probablement votre meilleure option pour le moment. Le voici encore avec un peu d’originalité ajouté pour ma propre réponse:

_gsettings set org.gnome.totem subtitle-font \
    "$(gsettings get org.gnome.totem subtitle-font | sed -r -e 's/ [0-9]+([^0-9])?$/ 0\1/')"
_

Vous pouvez directement l’exécuter dans une fenêtre (bash) Terminal, c’est-à-dire que vous n’avez pas à penser manuellement à une police à définir; il utilise celui précédemment défini (visible avec _gsettings get org.gnome.totem subtitle-font_).

Plus de détails sur ma réclamation

Bien que ce ne soit pas facile de prouver que quelque chose n’est pas , je voudrais quand même signaler quelques éléments de code pertinents que j’ai rencontrés et qui semblent appuyer ma demande.

La fonction _totem_subtitles_update_ se charge de la mise à jour du menu des sous-titres. Cela se résume à ce qui suit:

_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));
_

En d'autres termes, il prend le paramètre de sous-titre actuel du widget vidéo et l'utilise également dans le menu.

Voici ce que bacon_video_widget_get_subtitle fait pour être complet:

_g_object_get (G_OBJECT (bvw->priv->play), "current-text", &subtitle, NULL);
_

La propriété current-text est interrogée et sa valeur est renvoyée via la variable subtitle (pour être utilisée via la variable current comme indiqué ci-dessus). Et comme mentionné ci-dessus, cette propriété est définie par défaut sur "le premier flux de sous-titres contenant des données".

2
Chriki

Semble pas possible ATM.

Mais il existe un moyen simple de les désactiver dans leur ensemble.

gsettings set org.gnome.totem subtitle-font '[whatever your font is here], 0'
1
Robert Riedl