===== Lire / Télécharger Youtube ===== ==== Lire Youtube ==== On peut facilement lire des vidéos avec le lecteur mpv, comme ceci par exemple : mpv https://www.youtube.com/watch?v=Ut6d6SaS3e4 Par contre, il se peut que la résolution de la vidéo vous bouffe toute votre petite bande passante misérable... alors pas de panique, voici la solution : [1080p] ytdl-format=bestvideo[height<=?1080]+bestaudio/best [720p] ytdl-format=bestvideo[height<=?720]+bestaudio/best [480p] ytdl-format=bestvideo[height<=?480]+bestaudio/best [360p] ytdl-format=bestvideo[height<=?360]+bestaudio/best Je vous propose aussi d'insérer ces alias dans votre .bashrc : alias ytmpv1080='mpv --profile=1080p' alias ytmpv720='mpv --profile=720p' alias ytmpv480='mpv --profile=480p' alias ytmpv360='mpv --profile=360p' ==== Télécharger Youtube ==== Mais en voilà un wiki intéressant :p sachez que grâce à l'outil yt-dlp (dispos dans une majorité de dépots officiels, mais aussi avec python-pip) vous pouvez télécharger n'importe quelle vidéo de youtube dans n'importe quel format :) Quelques exemples yt-dlp URL # télécharge la vidéo URL comme elle est. Donc résolution audio/video au max yt-dlp -x --audio-format mp3 URL # télécharge la vidéo au format mp3 (conversion avec ffmpeg) yt-dlp -F URL # liste tous les format disponibles pour la vidéo yt-dlp -f 22 URL # télécharge la vidéo dans le format n°22 listé précédemment yt-dlp -o "%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s" URL # Numérote les titres téléchargés dans l'ordre de la playlist, et les met dans un dossier portant le nom de la playlist yt-dlp -x --audio-format mp3 -o "%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s" URL # Combinaison permettant de télécharger une playlist complète au format mp3 (+numérote +dossier avec le nom de la playlist) Enjoie ;) ===== Convertion Video / Audio ===== ^type convertion^Commande| |Caméscope MTS → MKV| ffmpeg -threads 8 -i "file.MTS" -codec:s copy -codec:v libx264 -codec:a copy "file.mkv" | |WebM → MP3| ffmpeg -i "file.webm" -vn -ab 128k -ar 44100 -y "file.mp3" | |mp3/m4a → wav| ffmpeg -i "file.mp3/m4a" "file.wav" | |mp4 → mp3| ffmpeg -i "file.mp4" "file.mp3" | |m4a → mp3| ffmpeg -i "file.m4a" -acodec libmp3lame -ab 128k "file.mp3" | |wav → mp3| ffmpeg -i "file.wav" -acodec libmp3lame -ac 2 -ar 44100 -ab 256k -f mp3 "file.mp3" | |mkv → mp4| ffmpeg -i "file.mkv" -c copy "file.mp4" | ==== Boucle for pour convertir un ensemble de fichiers ==== Pour faire une convertion d'un ensemble de fichier, on utilise for. On récupère la commande dans le tableau au dessus, qu'on insère juste après **for file in *.ext_in; do** (en remplaçant .ext_in par l'extension source qui nous intéresse), à la place du **file.ext_in** source on met **“$file”**, à la place du **file.ext_out** destination on met **“${file%.ext_in}.ext_out”** et on ajoute **; done**. Je refais quand même un petit tableau : ^type convertion^Commande avec une boucle for pour traiter plusieurs fichiers| |Caméscope MTS → MKV| for file in *.mts; do ffmpeg -threads 8 -i "$file" -codec:s copy -codec:v libx264 -codec:a copy "${file%.mts}.mkv"; done | |WebM → MP3| for file in *.webm; do ffmpeg -i "$file" -vn -ab 128k -ar 44100 -y "${file%.webm}.mp3"; done | |mp3/m4a → wav| for file in *.mp3/m4a; do ffmpeg -i "$file" "${file%.mp3/m4a}.wav"; done | |mp4 → mp3| for file in *.mp4; do ffmpeg -i "$file" "${file%.mp4}.mp3"; done | |m4a → mp3| for file in *.m4a; do ffmpeg -i "$file" -acodec libmp3lame -ab 128k "${file%.m4a}.mp3"; done | |mkv → mp3| for file in *.mkv; do ffmpeg -i "$file" -vn -c:a libmp3lame "${file%.m4a}.mp3"; done | |mkv → mp4| for file in *.mkv; do ffmpeg -i "$file" -c copy "${file%.mkv}.mp4"; done | ===== Réduire la résolution ===== ffmpeg -y -r 20 -i input.mp4 -vf "scale=iw/2:ih/2" output.mp4 |-y|écrase si le fichier de sortie existe déjà| |-r|définir un nombre de FPS| |-vf “scale=iw/2:ih/2”|réduit de moitié %%(/%%2) la largeur (iw) et la hauteur (ih). Ce nombre peut etre augmenté.| ===== Recouper une vidéo (trim) ===== Attention il existe 2 méthodes pour couper une vidéo : une rapide et approximative (sans réencodage), et une lente et précise (avec réencodage). ==== Rapide approximative ==== La méthode rapide utilise le “input seeking”. ffmpeg -i input.mp4 -ss 00:04:40 -to 01:25:37 -c copy output.mp4 * **-ss** spécifie le marqueur de départ * **-to** spécifie le marqueur de fin * **-c copy** spécifie d'utiliser le codec audio et vidéo identique à la source ==== Lente précise ==== La méthode précise est lente car elle réencode toute la vidéo. Mais cela nous permet de la recouper de façon très précise. ffmpeg -i input.mp4 -ss 00:02:09 -to 00:29:17 -c:v libx264 -c:a copy output.mp4 * **-ss** spécifie le marqueur de départ * **-to** spécifie le marqueur de fin * **-c:v** spécifie le codec vidéo (libx264 dans l'exemple) * **-c:a** spécifie le codec audio (copy dans l'exemple, qui reprend le codec source)