Update content to add resolution video tutorial

This commit is contained in:
MCharpy 2021-10-22 12:05:01 +02:00 committed by Pierre-Olivier Mercier
parent ad76a30809
commit 142f709198
8 changed files with 104 additions and 0 deletions

View File

@ -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` - `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 - [recordMyDesktop](http://recordmydesktop.sourceforge.net/) sous Linux
- [Screencast Capture Lite](http://cesarsouza.github.io/screencast-capture/) pour Windows - [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 - [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. 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) ![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<Echap>:%s//\=printf("%d\\n --> 00:00:00,0000\\n\\n", line('.'))<Entree>
:%s/\\n/\r/g<Entree>
:%s/^1\n --> 00:00:00,0000/1\r00:00:00,0000 -> 00:00:00,0000<Entree>
```
Explication des commandes :
- `99o<Echap>` 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
```

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB