Bien que les réponses ci-dessus aient été utiles pour m'aider à trouver une réponse à la question, elles n'ont pas fonctionné, peut-être parce qu'elles ne fonctionnent pas sous Windows (10) ou parce que VLC a été mis à jour pour accepter d'autres commutateurs. En particulier, je vais développer les points suivants Réponse de joctee
vlc -I dummy input.wav ":sout=#transcode{acodec=mpga,ab=192}:std{dst=output.mp3,access=file}" vlc://quit
Ici -I dummy
exécute vlc sans afficher l'interface graphique et vlc://quit
ferme vlc une fois la conversion terminée.
Sous Windows 10, l'exécution de 3.0.12
Je dois exécuter la commande suivante (simplifiée).
vlc input --sout="[TRANSCODECOMMAND"]
Où l'entrée est le nom du fichier d'entrée et la sortie est la capture de sud du débogueur.
Exemple complet, dans mon cas pour convertir un MP3 en un fichier WAVE :
vlc _AI_NylStr_MonRibb_Sft-G2-0.mp3 --sout="#transcode{vcodec=none,acodec=s16l,ab=160,channels=2,samplerate=44100,scodec=none}:std{access=file,mux=wav,dst=_AI_NylStr_MonRibb_Sft-G2-0-44100k.wav}" vlc://quit
De plus, pour capturer la commande "sout", dans l'interface graphique de VLC, allez dans Outils -> Messages et changez la verbosité à 2 comme décrit par chiliNUT et exécuter la conversion dans l'interface graphique.
Cela a donné la sortie de débogage suivante dans les 3 premières lignes.
qt debug: MRL(s) passed to the Sout: 1
qt debug: MRL(s) passed to the Sout: file:///C:/Users/alexh/source/repos/WaveEditor/WaveEditor/bin/Debug/samples/_AI_NylStr_MonRibb_Sft-A2-0.mp3
qt debug: Transcode MRL: sout=#transcode{vcodec=none,acodec=s16l,ab=160,channels=2,samplerate=44100,scodec=none}:std{access=file{no-overwrite},mux=wav,dst='C:/Users/alexh/source/repos/WaveEditor/WaveEditor/bin/Debug/samples/_AI_NylStr_MonRibb_Sft-A2-0.wav'}
À partir de cette sortie, copiez tout ce qui se trouve dans #transcode
jusqu'à la fin de la ligne et la transmettre comme paramètre à --sout[TranscodeParameter]
.
Dans l'exemple ci-dessus [TranscoderPameter]
#transcode{vcodec=none,acodec=s16l,ab=160,channels=2,samplerate=44100,scodec=none}:std{access=file{no-overwrite},mux=wav,dst='C:/Users/alexh/source/repos/WaveEditor/WaveEditor/bin/Debug/samples/_AI_NylStr_MonRibb_Sft-A2-0.wav'
L'argument complet est donc le suivant :
--sout="#transcode{vcodec=none,acodec=s16l,ab=160,channels=2,samplerate=44100,scodec=none}:std{access=file,mux=wav,dst=_AI_NylStr_MonRibb_Sft-G2-0-44100k.wav}"
Vous pouvez utiliser des noms de chemin relatifs si vous travaillez dans un autre répertoire et exécuter vlc en utilisant le chemin complet de l'exécutable.
"C:\Program Files\VideoLAN\VLC\vlc.exe" _AI_NylStr_MonRibb_Sft-G2-0.mp3 --sout="#transcode{vcodec=none,acodec=s16l,ab=160,channels=2,samplerate=44100,scodec=none}:std{access=file,mux=wav,dst=_AI_NylStr_MonRibb_Sft-G2-0-44100k.wav}" vlc://quit