OSX: usando la versión CLI de VLC

22

¿Cómo puedo usar la versión CLI de VLC en OSX?

Después de instalar VLC en OSX, funciona bien a través del proceso normal de GUI, Spotlight, etc. Además, sé que es posible hacerlo

open bla.avi -a vlc

Sin embargo, cuando emito un vlccomando en el shell, no funciona. which vlcin shell tampoco devuelve nada.

La versión CLI de VLC es muy útil para transcodificar, transmitir, etc. Por lo tanto, sería bueno que funcionara.

lang2
fuente
1
¿Cuál es tu pregunta aquí? ¿Estás buscando el comando? Que has intentado
Baarn
En Linux cuando emito vlcen la terminal, me dice que use cvlc, supongo que sería lo mismo en OSX.
Baarn
Así que supongo que descargó VLC ... debe enviar las herramientas de línea de comandos necesarias con el programa ... puede hacer transcodificación, transmisión, "etc.", pero debe proporcionar un caso de uso específico para nosotros para proporcionar cualquier información detallada.
allquixotic
por favor no lo escriba no funciona porque estoy bastante seguro de que funciona, pero no de la manera que espera. Así que por favor diga qué quiere y qué obtiene en su lugar.
Baarn
3
@allquixotic Desafortunadamente, en OS X, VLC no instala la versión de línea de comando.
slhck

Respuestas:

23

El comando open bla.avi -a vlcfunciona porque OS X está utilizando su base de datos Launch Services para abrir la aplicación VLC. Esto no tiene nada que ver con una línea de comandos binaria del mismo nombre, que no está instalada de manera predeterminada.

El binario que busca está en el VLC.apppaquete, por lo que puede escribirlo en un terminal:

/Applications/VLC.app/Contents/MacOS/VLC -I rc

Esto abrirá la línea de comandos interactiva VLC. O ejecute lo siguiente para que la línea anterior se registre como un alias para vlc:

echo "alias vlc='/Applications/VLC.app/Contents/MacOS/VLC -I rc'" >> ~/.bash_profile

Una vez que haya agregado esto, debe reiniciar su Terminal. Ahora escribe vlcy llegarás a la línea de comando.

Si no le gusta la interfaz interactiva o le gustaría usarla VLCcon otras opciones, debe editarla en ~/.bash_profileconsecuencia, por ejemplo, a través de open -e ~/.bash_profile.

slhck
fuente
1
Elimine -I rcdel comando si realmente desea que la GUI se abra a través del comando vlc de la línea de comando.
MikeiLL
44
@MikeiLL También puedes simplemente llamar open -a VLC. Esto funciona con cualquier aplicación en OS X.
slhck
Prefiero llamar a este alias cvlcpara dejar en claro que es la línea de comandos VLC (y también para ser coherente con la versión de Linux).
lenooh
3

Las aplicaciones de OS X no suelen instalar ningún ejecutable de programa fuera de su paquete de aplicaciones. Como generalmente no interactúa con ellos desde la línea de comandos, no se colocan en ninguna carpeta en su PATH.


Si instaló VLC en /Applications, el ejecutable real es /Applications/VLC.app/Contents/MacOS/VLC.

/Applications/VLC.app/Contents/MacOS/VLC -hmostrará algo de ayuda y /Applications/VLC.app/Contents/MacOS/VLC --intf ncurseslanzará la interfaz de usuario ncurses.

Daniel Beck
fuente
la --intf ncursesbandera es genial
cwd
2

Para acceder vlcdesde la línea de comando, puede crear un enlace simbólico local como se muestra a continuación:

mkdir ~/bin
ln -vs /Applications/VLC.app/Contents/MacOS/VLC ~/bin/vlc

Para tener este comando disponible para todos los usuarios, es posible que desee vincularlo en su /usr/local/binlugar.

Asegúrese de que su ~/bin(o /usr/local/bin) esté en su PATHvariable de entorno , en otras palabras, que su ~/.profilearchivo contenga algo como:

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

El código anterior es el comportamiento predeterminado en Linux.

kenorb
fuente
1

La interfaz ficticia permite la operación por lotes en la línea de comando. Utilizo un script de shell como este guardado en / usr / local / bin / vlc:

    export VLC_PLUGIN_PATH=/Applications/VLC.app/Contents/MacOS/plugins
    /Applications/VLC.app/Contents/MacOS/VLC -I dummy "${@}"
larrycz
fuente
1

FYI y / o una propina.

Aquí hay 2 formas de averiguar la ruta real de la aplicación que se inicia con el opencomando.

Útil, en caso de que el VLC se coloque en otro directorio en lugar de /Applications, como /Users/<user>/Applications( ~/Applications) u otros directorios.

Vía AppleScript

Simple pero lanza la aplicación.

$ osascript -e 'POSIX path of (path to application "VLC")'
/Applications/VLC.app/
$ 
$ osascript -e 'POSIX path of (path to application "GIMP")'
/Volumes/External_HDD/Applications/GIMP/GIMP_v2.8/GIMP.app/

A través del comando lsregister

Poco complicado pero no iniciará la aplicación.

$ # Path of `lsregister` command
$ #   /System/Library \
$ #     /Frameworks/CoreServices.framework/Versions/A \
$ #     /Frameworks/LaunchServices.framework/Versions/A/Support/
$ 
$ cd /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/
$ 
$ ls
lsregister
$ 
$ # Sample usage
$ ./lsregister -dump | grep -o "/.*\Google Chrome.app" | head -1
/Applications/Google Chrome.app
$ 
$ # Find VLC
$ NAME_APP=VLC
$ ./lsregister -dump | grep -o "/.*${NAME_APP}.app" | grep -v -E "Caches|TimeMachine|Temporary|/Volumes/${NAME_APP}" | uniq
/Applications/VLC.app

Probado en: macOS HighSierra (OSX 10.13.6)

$ bash --version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin17)
Copyright (C) 2007 Free Software Foundation, Inc.
KEINOS
fuente
0

Primero, necesita ubicar el ejecutable binario real en el paquete de aplicación VLC Mac. Abra Finder, vaya a la Applicationscarpeta, haga clic derecho en la aplicación VLC y luego haga clic Show Package Contents. Ahora puedes navegar por lo que realmente hay dentro.

En este caso, el binario VLC se encuentra en la Contents/MacOScarpeta como archivo VLC. Abrir Terminale introduzca la ruta del archivo exacto de esto, y usted encontrará los binarios ejecuta VLC: /Applications/VLC.app/Contents/MacOS/VLC. Si no desea utilizar esta ruta completa cada vez, puede hacer un enlace simbólico y editar su Bash PATH para señalar esto.

Ahora que puede llamar al binario directamente desde la CLI, es probable que desee elegir una interfaz para que no aparezca la GUI emergente habitual. Una lista completa de las interfaces disponibles se encuentra en la página wiki VLC Interfaces .

Una vez que encuentre el conjunto de comandos de trabajo para sus llamadas CLI de VLC que produce su salida deseada, probablemente desee utilizar la dummyinterfaz cuando llame a VLC en su programa / procesamiento por lotes. La dummyinterfaz básicamente no es más que salida en la Terminal como la mayoría de los programas CLI no interactivos.

Resultado final: /Applications/VLC.app/Contents/MacOS/VLC -I dummy [further parameters here]

Recomiendo usar el -vvvparámetro para obtener una salida de registro extensa para ayudar mientras prueba diferentes comandos.

El niño Karate
fuente