Bonjour,
Utilisant très régulièrement le logiciel ffmpeg pour compresser mes fichiers vidéos, je me demandais s'il était possible de créer un alias qui me permettrait de lancer une commande spécifique de ffmpeg. Je m'explique, la ligne que j'utilise pour la compression est la suivante :
ffmpeg -i cible.mkv -vcodec libx265 -crf 20 resultat.mkv
Mon but serait de de créer un alias que je nommerais par exemple "compress" et qui me permettrait d'avoir uniquement à entrer les noms du fichier cible et du fichier converti afin d'arriver à ceci :
compress cible.mkv resultat.mkv
En vous remerciant par avance !
# Envisager de passer sur un script
Posté par Élafru . Évalué à 9. Dernière modification le 09 juin 2021 à 12:06.
alias
ne gère pas les paramètres, il se contente juste de les passer à l'appel cible tels quels, sans les réorganiser ou quoi que ce soit.Pour cacher un (des) appel(s) complexe(s) derrière une commande toute simple, le mieux est de passer sur un script shell.
Là comme ça, je pense que ce script ferait l'affaire :
!#/bin/sh
ffmpeg -i $1 -vcodec libx265 -crf 20 $2
Dans un fichier
compress.sh
que tu invoquerais par exemple avec./compress.sh entree.mkv sortie.mkv
. C'est moins minimaliste et ça paraît moins efficace, mais c'est la solution la plus adaptée je pense.# fonction bash
Posté par zephred . Évalué à 7.
Une simple fonction bash:
compress() { ffmpeg -i $1 -vcodec libx265 -crf 20 $2; }
[^] # Re: fonction bash
Posté par deuzene (site web personnel) . Évalué à 10.
Mieux vaut éviter les problèmes de noms de fichiers barbares en quotant les variables :
« Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. »
# Résolu
Posté par dragko . Évalué à 5.
Un grand merci pour vos réponses et la rapidité de celles-ci ! Tout fonctionne bien.
[^] # Re: Résolu
Posté par octane . Évalué à 10.
et au passage, compress est une commande système :)
donc peut-être utiliser un autre nom
[^] # Re: Résolu
Posté par deuzene (site web personnel) . Évalué à 2. Dernière modification le 10 juin 2021 à 14:11.
compress
est très certainement le nom d'une commande existante et tu as tout à fait raison de pointer ce souci. Mais ce n'est pas une commande système, en tout cas sur Fedora 33.« Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. »
[^] # Re: Résolu
Posté par volts . Évalué à 3.
Pour te faciliter l'invocation de ton script dans ton terminal (faire directement un
compress cible.mkv resultat.mkv
au lieu de./compress cible.mkv resultat.mkv
), tu peux mettre sans souci ton script dans le dossier/usr/loca/bin/
qui est dédié aux programmes "non-officiels". Si tu veux vérifier que ce dossier est fait pour les programmes, tu as cette commande qui va te l'afficher si c'est le cas:echo $PATH | grep -o /usr/local/bin
$PATH
est la variable d'environnement qui te donne les chemins que ton ordinateur considère comme les dossiers contenant les programmes que tu peux invoquer directement dans le terminal.Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.