OSX: usando a versão CLI do VLC

22

Como posso usar a versão CLI do VLC no OSX?

Depois de instalar o VLC no OSX, ele funciona bem no processo normal da GUI, no foco, etc. Além disso, eu sei que é possível fazer

open bla.avi -a vlc

No entanto, quando eu emito um vlccomando no shell, ele não funciona. which vlcno shell também não retorna nada.

A versão CLI do VLC é muito útil para transcodificação, streaming, etc. Portanto, seria bom tê-lo funcionando.

lang2
fonte
1
Qual é a sua pergunta aqui? Você está apenas procurando o comando? O que você tentou?
Baarn
No linux, quando emito vlcno terminal, ele diz para cvlceu usar , acho que seria o mesmo no OSX.
Baarn
Então, suponho que você baixou o VLC ... ele deve enviar as ferramentas de linha de comando necessárias com o programa ... ele pode fazer transcodificação, streaming, "etc", mas é necessário fornecer um caso de uso específico para que possamos para fornecer informações detalhadas.
amigos estão dizendo sobre alquixotic
por favor, não escreva , não funciona porque tenho certeza de que funciona, mas não da maneira que você espera. Então, diga o que deseja e o que recebe.
quer
3
@ allquixotic Infelizmente, no OS X, o VLC não instala a versão da linha de comando.
slhck

Respostas:

23

O comando open bla.avi -a vlcfunciona porque o OS X está usando seu banco de dados do Launch Services para abrir o aplicativo VLC. Isso não tem nada a ver com um binário de linha de comando com o mesmo nome, que não é instalado por padrão.

O binário que você procura está no VLC.apppacote, para que você possa digitá-lo em um terminal:

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

Isso abrirá o VLC da linha de comando interativa. Ou execute o seguinte para ter a linha acima registrada como um alias para vlc:

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

Depois de adicionar isso, você precisa reiniciar o seu Terminal. Agora digite vlce você chegará à linha de comando.

Se você não gosta da interface interativa ou gostaria de usá-la VLCcom outras opções, é necessário editá-la ~/.bash_profileadequadamente, por exemplo, através open -e ~/.bash_profile.

slhck
fonte
1
Remova -I rcdo comando se você realmente deseja que a GUI seja aberta por meio do comando vlc da linha de comando.
MikeiLL
4
@ MikeiLL Você também pode ligar open -a VLC. Isso funciona com qualquer aplicativo no OS X.
slhck 14/12
Eu prefiro chamar esse alias cvlcpara deixar claro que é a linha de comando VLC (e também para ser consistente com a versão linux).
Lenooh # 26/18
3

Os aplicativos OS X geralmente não instalam nenhum executável de programa fora do pacote de aplicativos. Como você não costuma interagir com eles na linha de comando, eles não são colocados em nenhuma pasta do seu PATH.


Se você instalou o VLC para /Applications, o executável real é /Applications/VLC.app/Contents/MacOS/VLC.

/Applications/VLC.app/Contents/MacOS/VLC -hmostrará alguma ajuda e /Applications/VLC.app/Contents/MacOS/VLC --intf ncursesiniciará a interface do usuário ncurses.

Daniel Beck
fonte
a --intf ncursesbandeira é legal
cwd 9/15
2

Para acessar vlcpela linha de comando, você pode criar um link simbólico local como abaixo:

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

Para ter esse comando disponível para todos os usuários, convém vinculá-lo /usr/local/bin.

Verifique se seu ~/bin(ou /usr/local/bin) está em sua PATHvariável ambiental , ou seja, se seu ~/.profilearquivo contém algo como:

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

O código acima é o comportamento padrão no Linux.

kenorb
fonte
1

A interface fictícia permite operação em lote na linha de comando. Eu uso um script de shell como este salvo em / usr / local / bin / vlc:

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

FYI e / ou uma dica.

Aqui estão duas maneiras de descobrir o caminho real do aplicativo que é iniciado com o opencomando.

Útil, caso o VLC seja colocado em outro diretório em vez de /Applications, como /Users/<user>/Applications( ~/Applications) ou outros diretórios.

Via AppleScript

Simples, mas lança o aplicativo.

$ 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/

Via comando lsregister

Um pouco complicado, mas não inicia o aplicativo.

$ # 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

Testado em: 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
fonte
0

Primeiro, você precisa localizar o executável binário real no pacote de aplicativos do VLC Mac. Abra Finder, vá para a Applicationspasta, clique com o botão direito do mouse no aplicativo VLC e clique em Show Package Contents. Agora você pode procurar o que realmente está dentro.

Nesse caso, o binário do VLC está localizado na Contents/MacOSpasta como arquivo VLC. Abrir Terminale digite o caminho do arquivo exato para isso, e você vai encontrar as executa binários VLC: /Applications/VLC.app/Contents/MacOS/VLC. Se você não quiser usar todo esse caminho todas as vezes, faça um link simbólico e edite seu Bash PATH para apontar para isso.

Agora que você pode chamar o binário diretamente da CLI, provavelmente desejará escolher uma interface para não ter a GUI usual aparecendo. Uma lista completa de interfaces disponíveis está na página wiki do VLC Interfaces .

Depois de encontrar o conjunto de comandos de trabalho para suas chamadas de CLI do VLC que produz a saída pretendida, você provavelmente desejará usar a dummyinterface ao chamar o VLC no processamento de seu programa / lote. A dummyinterface é basicamente nada além de saída no Terminal, como a maioria dos programas CLI não interativos.

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

Eu recomendo usar o -vvvparâmetro para que você obtenha uma extensa saída de log para ajudá-lo a testar diferentes comandos.

TheKarateKid
fonte