Usando las teclas de acceso rápido de VLC a través de la línea de comando

1

vlc --help Enumera, entre otros contenidos, opciones de línea de comando como las siguientes:

 Hot keys
      --global-key-toggle-fullscreen <string>
                                 Fullscreen
      --key-toggle-fullscreen <string>
                                 Fullscreen
      --global-key-leave-fullscreen <string>
                                 Leave fullscreen
      --key-leave-fullscreen <string>
                                 Leave fullscreen
      --global-key-play-pause <string>
                                 Play/Pause
      --key-play-pause <string>  Play/Pause

Sin embargo, cuando trato de usarlos, no funcionan en absoluto. No entiendo por qué tienen que tomar una <string> parámetro también.

Así que mi escenario se ve así:

  • Ejecuto VLC con una interfaz de usuario o en modo sin cabeza
  • Yo ejecuto por ej. vlc --key-next foo (para activar "siguiente"), foo siendo un parámetro ficticio
  • VLC no se queja (a diferencia de cuando no se pasa una cadena), pero el comando no tiene efecto

¿Qué es un ejemplo práctico de teclas de acceso rápido de VLC activadas por la línea de comandos?

vemv
fuente
¿Quieres atarlos? ¿Por qué necesitas esto? Si quieres enlazarlos usa teclas rápidas globales wiki.videolan.org/How_to_set_global_hotkeys
TechLife
Puede controlar una gran cantidad de vlc a través de dbus: vea más aquí stackoverflow.com/questions/14256193/…
Michael Meanswell

Respuestas:

2

Mediante el uso vlc --key-next foo ha asignado "Siguiente" a una clave llamada "Foo", que probablemente no tenga. ;)

los <string> se compone de teclas modificadoras ( Alt, Mayús, Ctrl, Meta, Comando ) separados por un guión ( - ) y terminado por una clave (* a ... z, +, =, -, ',', +, & lt ;, & gt ;, `, /,;, ', \, [,], , Izquierda, Derecha, Arriba, Abajo, Espacio, Intro, F1 ... F12, Inicio, Fin, Menú, Esc, Retroceder página, Página abajo, Tabulador, Retroceso, Rueda del mouse arriba y Rueda del mouse abajo ).

Asi que vlc --key-next alt-n establecerá Alt + norte para ir al siguiente archivo multimedia cargado.

Alternativamente vlc --key-next "Page Down" establecerá Página abajo .

Más información aquí .

Ƭᴇcʜιᴇ007
fuente
Estrictamente hablando, creo que esto responde a mi pregunta. Sin embargo, ¿podría decirme cómo desencadenar un comando como siguiente , en lugar de enlazar el comando a una clave?
vemv
1
Por lo que sé, no hay manera de controlar al jugador de esa manera (iniciar, detener, pausar, prev, siguiente, etc.) a través de argumentos de la línea de comandos.
Ƭᴇcʜιᴇ007
wiki.videolan.org/VLC-0-8-6_command-line_help No parece ser una forma de controlarlo en vivo, solo son formas de iniciarlo. Algunos de los métodos de scripting en los que trabajaban las personas se volvieron obsoletos en versiones posteriores. ¿Hablando con HTML? podría quedarse más tiempo, seres todo es "web" en estos días :-)
Psycogeek
Ahhh muy mal Dado que VLC puede ejecutarse en modo de instancia única (consulte la respuesta de Terdon), debería ser factible comunicarse con el proceso de ejecución subyacente detrás de la instancia de Singleton. Uno puede agregar archivos a su cola, así que esperaba que también pudiera enviar otro tipo de mensajes.
vemv
1

Lo que estás pidiendo es casi imposible. Los argumentos de la línea de comando se pasan a un programa en el inicio. Una vez que se haya cargado, cualquier configuración modificada entrará en vigencia pero no podrá pasar más argumentos.

Cuando corres vlc --whatever intentará lanzar otra instancia de vlc que se cargará con la opción --whatever conjunto. Si tiene establecido "permitir solo una instancia" en su vlc preferencias, esto no tendrá ningún efecto y se verá como "vlc no se queja". Tú podría ser capaz de obtener este tipo de comportamiento de la VideoLanServer Pero nunca lo he usado y no lo sé. No obtendrá esto de ningún programa "normal" que no se esté ejecutando en algún tipo de servidor o modo de escucha.

enter image description here

Una mejor pregunta es por qué ¿Necesitarías este comportamiento? Si estás mostrando vlc normalmente, solo puede utilizar las teclas de acceso rápido siempre que la ventana vlc tenga el enfoque del mouse. Incluso si no lo haces y eres, por ejemplo, viendo vlc en una terminal a través de una conexión ssh a un servidor sin cabeza utilizando sus modos de salida ASCII art, las teclas de acceso rápido funcionan siempre que el terminal con el ssh tiene foco ¿Estás intentando de alguna manera escribir este comportamiento? ¿Podría ser esto una Problema XY ?

terdon
fuente
Sí, estoy usando una sola instancia de VLC. Esperaba que fuera posible enviar mensajes como "reproducir / pausar" a esas instancias, ya que uno puede agregar elementos adicionales a una instancia en ejecución desde la línea de comandos.
vemv
Sí, pero ¿cuál es el punto de enviar una tecla de acceso rápido en el momento del lanzamiento? ¿Quieres que empiece en pausa? No entiendo cuál es tu comportamiento deseado. ¿Por qué no golpeas el espacio cuando la ventana de video tiene el foco?
terdon
No, no quiero enviar una tecla de acceso rápido en el momento del inicio. Quiero enviar un mensaje a instancias en ejecución / existentes: "detenga el archivo que está reproduciendo".
vemv
1
Supongo que la mía podría ser considerada una pregunta XY. Estaba intentando construir un administrador de música sobre VLC y el envío de mensajes sonaba muy tentador. Buscará un enfoque adecuado, como el aprovechamiento de una API en ese momento.
vemv
Si todo lo que desea es pausar / reanudar una sola instancia de vlc, puede hacer kill -STOP $(pgrep vlc) hacer una pausa y kill -CONT $(pgrep vlc) a la pausa
terdon