veja vídeos aleatoriamente ordenados em uma instância mpv

0

Para assistir a todos os vídeos com mpv em ordem de classificação predefinida, pode-se fazer

mpv /path/to/videos/*

porque mpv pode aceitar vários arquivos como argumento e reproduzi-los um após o outro.

Eu gostaria de passar para o mpv desses arquivos, mas aleatoriamente ordenados, então toda vez que eu começar a assistir, aparece algo inesperado.

Aqui o que eu tentei até agora

ls /path/to/videos/* | sort -R | while read file; do mpv $file; done

Esta variante não satisfaz minhas necessidades, pois inicia uma nova instância para cada vídeo e a nova janela sempre se concentra.

Eu ainda sou muito novo no zsh, então tenha paciência comigo.

    
por tarashypka 27.01.2017 / 23:17

2 respostas

3

Use um subshell para coletar as linhas aleatórias de volta aos argumentos para mpv . Remova a depuração echo se as execuções de teste parecerem boas.

echo mpv $(print -l /path/to/videos/* | sort -R)

(Também não há necessidade de usar ls , pois isso é mais caro do que simplesmente imprimir os resultados da expansão glob com print -l ).

Interno para ZSH, tente um truque inteligente para embaralhar a lista:

echo mpv *(oe:REPLY=\$RANDOM:)
    
por 28.01.2017 / 00:44
2

mpv tem uma opção incorporada para embaralhar a ordem dos arquivos reproduzidos ( --shuffle )

Você pode usar mpv --shuffle /path/to/videos/*

    
por 13.05.2018 / 02:23

Tags