diff --git a/content/files/resolution.md b/content/files/resolution.md index 77bd523..a3b8b54 100644 --- a/content/files/resolution.md +++ b/content/files/resolution.md @@ -20,6 +20,7 @@ N'utilisez pas de logiciel en version de « démonstration » : il faudrait paye - `ffmpeg -video_size 1920x1080 -framerate 25 -f x11grab -i :0.0 -f alsa -ac 2 -i hw:0 -strict experimental resolution.mp4` - [recordMyDesktop](http://recordmydesktop.sourceforge.net/) sous Linux - [Screencast Capture Lite](http://cesarsouza.github.io/screencast-capture/) pour Windows +- [https://obsproject.com/](https://obsproject.com/) sur tous les systèmes - [Aegisub](http://www.aegisub.org/), [Gnome Subtitle](http://gnomesubtitles.org/), emacs/vim, ... pour les sous-titres @@ -28,3 +29,106 @@ N'utilisez pas de logiciel en version de « démonstration » : il faudrait paye Les vidéos de résolution sont affichées uniquement sur la version du site statique, publiée après le challenge. ![Rendu resolution.mp4](exercice_resolution.png) + +## Tuto de création de vidéo de résolution + +### Filmer la résolution + +Pour filmer la résolution, OBS est pas mal. Les autres solutions proposées au dessus fonctionneront également + +N'hésitez pas a retirer du cadre les informations non essentielles (`i3-nagbar` par exemple) + +N'hésitez pas à faire cette résolution dans votre `/tmp` afin que les chemins de fichiers ne présentent que les informations nécessaires + +### Monter la vidéo + +Sur Linux, OpenShot ([https://www.openshot.org/](https://www.openshot.org/)) est pas mal pour ça. Sur Arch vous pouvez l'obtenir avec la commande + +```bash +yay -S openshot +``` + +Vous pouvez ensuite lancer openshot-qt pour ouvrir le logiciel de montage + +![Interface OpenShot](interface_openshot.png) + + +Importer vos vidéos + +![Importer des vidéos](openshot_import_video.png) + +Placer vos vidéos sur la barre de montage + +![Le montage des vidéos](openshot_montage.png) + +Vous pouvez maintenant découper et réorganiser la vidéo comme vous le souhaitez. + +Pensez à enregistrer régulièrement (ctrl + s) car openshot demande pas mal de RAM et il arrive que le noyau passe pas l'OOM killer (#virli) pour récupérer cette RAM + +Une fois le montage fait, exporter la vidéo (ctrl + e) + + +#### 3 raccourcis sympathiques sur openshot + +- ctrl + j : Coupe la bande vidéo au niveau du curseur de lecture et ne garde que ce qui se trouve après le curseur de lecture +- ctrl + k : Coupe la bande vidéo au niveau du curseur de lecture et garde les 2 cotés +- ctrl + l : Coupe la bande vidéo au niveau du curseur de lecture et ne garde que ce qui se trouve avant le curseur de lecture + +### Les sous titres + +Pour faire les sous-titres, nous allons passer par un fichier `.srt` + +```bash +vim sous_titres.srt +``` + +Dans vim, faire la suite de touches suivante + +```bash +99o:%s//\=printf("%d\\n --> 00:00:00,0000\\n\\n", line('.')) +:%s/\\n/\r/g +:%s/^1\n --> 00:00:00,0000/1\r00:00:00,0000 -> 00:00:00,0000 +``` + +Explication des commandes : + +- `99o` ajoute 99 lignes vides au fichier. On obtient un fichier de 100 lignes vides +- `:%s//\=printf("%d\\n --> 00:00:00,0000\\n\\n", line('.'))` met la string `%d\n --> 00:00:00,0000\n\n` sur chaque ligne en remplaçant le %d par le numero de ligne +- `:%s/\\n/\r/g` remplace les `\n` par des vrais retours a la ligne +- `:%s/^1\n --> 00:00:00,0000/1\r00:00:00,0000 -> 00:00:00,0000` Ajoute un timestamp de debut a la première entrée + + +Vous devriez maintenant avoir un fichier (presque) au format d'un fichier de sous titres avec 100 entrées + +![Le fichier obtenu par les commandes précédentes](sous_titres_debut.png) + + +Ce fichier n'a pas le format d'un fichier de sous titre car les lignes de timestamp n'ont pas de timestamp de début. Nous l'ajouterons à la fin, une fois que tous les timestamps de fin auront été définis. + +Remplir le fichier de sous-titres en définissant bien les timestamps de fin d'apparition du sous titre + +![Les possibilités de sous-titres et timestamps](sous_titres_exemple.png) + +Une fois les sous titres finis, supprimer les entrées non complétées restantes et utiliser la commande vim suivante + +```bash +:%s/-> \([0-9:,]*\)0\n\(\_.\{-}\)\n -/-> \10\r\2\r\11 -/g +``` + +Cette commande a pour effet d'ajouter les timestamps de début de sous titre. Pour cela, on récupère le timestamp de fin du sous-titre précédent et on y ajoute 1 milliseconde afin que les sous-titres ne se chevauchent pas + +Attention, il faut que les timestamps soient tous à un nombre de millisecondes multiple de 10 + +On obtient un fichier avec cette forme + +![Résultat de la commande](sous-titres_final.png) + +Vous pouvez vérifier que les sous titres vous conviennent en ouvrant la vidéo dans VLC et en y ajoutant les sous-titres + +![Afficher des sous-titres sur vlc](vlc_sous_titres.png) + +Une fois que vous êtes content de vos sous titres, ajouter les sous-titres directement dans la video avec la commande suivante : + +```bash +ffmpeg -i votre_video.mp4 -vf subtitles=sous_titres.srt resolution_subtitled.mp4 +``` diff --git a/static/files/resolution/interface_openshot.png b/static/files/resolution/interface_openshot.png new file mode 100644 index 0000000..e04f76c Binary files /dev/null and b/static/files/resolution/interface_openshot.png differ diff --git a/static/files/resolution/openshot_import_video.png b/static/files/resolution/openshot_import_video.png new file mode 100644 index 0000000..cfdd03a Binary files /dev/null and b/static/files/resolution/openshot_import_video.png differ diff --git a/static/files/resolution/openshot_montage.png b/static/files/resolution/openshot_montage.png new file mode 100644 index 0000000..ee2f23d Binary files /dev/null and b/static/files/resolution/openshot_montage.png differ diff --git a/static/files/resolution/sous-titres_final.png b/static/files/resolution/sous-titres_final.png new file mode 100644 index 0000000..b28eae3 Binary files /dev/null and b/static/files/resolution/sous-titres_final.png differ diff --git a/static/files/resolution/sous_titres_debut.png b/static/files/resolution/sous_titres_debut.png new file mode 100644 index 0000000..aa745d6 Binary files /dev/null and b/static/files/resolution/sous_titres_debut.png differ diff --git a/static/files/resolution/sous_titres_exemple.png b/static/files/resolution/sous_titres_exemple.png new file mode 100644 index 0000000..e81425e Binary files /dev/null and b/static/files/resolution/sous_titres_exemple.png differ diff --git a/static/files/resolution/vlc_sous_titres.png b/static/files/resolution/vlc_sous_titres.png new file mode 100644 index 0000000..feb9e38 Binary files /dev/null and b/static/files/resolution/vlc_sous_titres.png differ