web-dev-qa-db-fra.com

Lecteur vidéo avec API pratique

J'essaie de passer de Windows à Ubuntu. J'ai trouvé des alternatives Linux à la plupart des programmes, à l'exception de Media Player Classic (MPC-HC) + AutoHotKey.

Je recherche un lecteur vidéo fonctionnant sous Linux et permettant de lier ces opérations à des raccourcis clavier:

  • Enregistrer le chemin du fichier actuel (ou le numéro de la piste) dans le presse-papier (ou l'ajouter à un fichier journal)
  • Augmenter/diminuer la saturation/teinte/luminosité de cette vidéo
  • Définir le rapport d'aspect (AR)
  • Échelle vidéo à 200%
  • Basculer playlist, contrôles, ...
  • Enregistrer la playlist sous.

Je prévois d’écrire Python ou Java programme de contrôleur pour contrôler le lecteur via une API. Idéalement, le joueur devrait avoir une API pour

  1. détecter la touche de raccourci et transmettre les informations au contrôleur
  2. récupérer des informations sur l'état du joueur
  3. exécuter la commande du contrôleur (image par image, réinitialiser la largeur, passer à 11 minutes), ..

VLC n'a pas de fonction de changement de teinte.

8
Victor Forest

Une API Lua ou C conviendrait-elle? mpv est, à ma connaissance, l’un des lecteurs multimédias les plus populaires sous Linux et il semble être très complet en termes d’intégrabilité. https://mpv.io/manual/master/#command-interface

7
JAB

Autokey Linux peut détecter les événements de clavier et exécuter les méthodes appropriées. Les scripts sont écrits en Python. VLC a beaucoup de raccourcis clavier que vous pouvez définir. Cela pourrait être un chemin à parcourir.

Je ne pense pas que cela puisse changer de teinte cependant. Vous devrez peut-être convertir des vidéos ailleurs, ce qui est pénible.

2
sixtytrees

VLC peut être contrôlé en envoyant des commandes de console via des canaux ou un réseau telnet TCP/IP.

Liste des commandes disponibles (peut changer en fonction de la version et des plugins)

Pour permettre cela, activez l'interface rc dans sa configuration, ou démarrez-la simplement comme ceci:

your_program | vlc --extraintf rc

... ou si vous souhaitez seulement être contrôlable via l'API (pas de boutons d'interface utilisateur comme pause, rew...), remplacez --extraintf avec --intf

Si vous voulez à la fois émettre des commandes et obtenir leurs résultats (c'est-à-dire savoir ce qui se passe actuellement), redirigez stdin et stdout via python ou via Shell

Vous pouvez également accéder à cette même interface de ligne de commande via TCP (telnet):

vlc --extrainf rc --rc-Host 127.0.0.1:12345

127.0.0.1 est l'adresse IP locale et 12345 est TCP numéro de port. Connectez-vous simplement à cette adresse dans votre script et lancez des commandes.

Il y a aussi un peu plus limité interface HTTP que vous pourriez essayer.

Plus d'informations sur le wiki VLC: rc , console , http , interfaces

2
Jack White