Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
ressource:logiciel:simplescreenrecorder [2020/11/10 17:29] emoc [Étape 1 : enregistrement de l'écran] |
ressource:logiciel:simplescreenrecorder [2022/05/11 21:42] (Version actuelle) emoc [Étape 2 : réduction du poids du fichier] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>screencast ffmpeg em}} | + | {{tag>screencast ffmpeg video compression em}} |
====== SimpleScreenRecorder ====== | ====== SimpleScreenRecorder ====== | ||
- | Pour enregistrer des tutoriels vidéo de code, je cherche une méthode pour enregistrer mon écran et produire des fichiers vidéo lisibles et légers. \\ | + | Pour enregistrer des tutoriels vidéo de code, je cherche une méthode pour enregistrer mon écran et produire des vidéos dont le texte soit lisible et les fichiers le plus légers possibles. \\ |
- | Dans un première étape j'utilise SimpleScreenRecorder de Maarten Baert après l'avoir installé, puis la vidéo enregistrée est recompressée avec ffmpeg. | + | Dans une première étape j'utilise SimpleScreenRecorder de Maarten Baert, puis la vidéo enregistrée est recompressée avec ffmpeg pour réduire le poids du fichier. |
===== Étape 0 : installation ===== | ===== Étape 0 : installation ===== | ||
Ligne 17: | Ligne 17: | ||
===== Étape 1 : enregistrement de l'écran ===== | ===== Étape 1 : enregistrement de l'écran ===== | ||
- | Quelques réglages à faire sans SimpleScreenRecorder pour une vidéo encodée en h.264 en gardant la définition de l'écran (1600x900). Il me semble que le réglage le plus significatif est celui du crf (constant rate factor) car il influence beaucoup la taille du fichier final, et donc la compression. N'y connaissant pas grand chose en h.264, je ne sais pas exactement ce que ça signifie, en tout cas **crf=23 donne de très bons résultats**, les caractères de texte sont lisibles, alors que crf=30 produit un fichier plus léger (100 Mo pour 1:30) mais rajoute de nombreux artefacts de compression. | + | Quelques réglages à faire dans SimpleScreenRecorder pour enregistrer une vidéo encodée en h.264 en gardant la définition de l'écran (1600x900). Il me semble que le réglage le plus significatif est celui du **crf (constant rate factor)** car il influence beaucoup la compression, donc la taille du fichier final. |
- | Une vidéo de 1:30 avec une définition de 1600x900 produit un fichier de 144 Mo, on peut donc se dire avec ces réglages que 1 minute = 100 Mo | + | N'y connaissant pas grand chose en h.264, je ne sais pas exactement ce que ça signifie, en tout cas **crf=23 donne de très bons résultats**, les caractères de texte sont lisibles, alors que crf=30 produit un fichier plus léger (100 Mo pour 1:30) mais rajoute de nombreux artefacts de compression. |
+ | Avec crf=23, une vidéo de 1:30 en définition 1600x900 produit un fichier de 144 Mo, on peut donc établir avec ces réglages que 1 minute = 100 Mo | ||
+ | |||
+ | {{:ressource:logiciel:simplescreenrecorder:reglages_simplescreenrecorder.png?direct&950|}} | ||
+ | |||
+ | **Pour enregistrer le son "qui sort", choisir "Monitor of Audio Interne Stereo Analogique"** | ||
===== Étape 2 : réduction du poids du fichier ===== | ===== Étape 2 : réduction du poids du fichier ===== | ||
- | **ffmpeg** est utilisé pour réduire le poids du fichier sans changer la définition, après différents essais de bitrate, un très bon résultat lisible est donné en choisissant un bitrate vidéo de 500k (**-b:v 500k**), **le fichier est réduit 144 Mo à 6,5 Mo !** | + | **ffmpeg** est utilisé pour réduire le poids du fichier sans changer la définition. \\ |
+ | Après différents essais de bitrate, un très bon résultat lisible est donné en choisissant un bitrate vidéo de 500k (**-b:v 500k**), **le fichier est réduit 144 Mo à 6,5 Mo !** | ||
# ffmpeg version 3.2.15-0+deb9u1 / debian 9.5 stretch @ kirin / 20201110 | # ffmpeg version 3.2.15-0+deb9u1 / debian 9.5 stretch @ kirin / 20201110 | ||
ffmpeg -i ./test_crf23.mp4 -b:v 500k test_crf23_red500k.mp4 # encore bien lisible + 144 > 6.5 Mo | ffmpeg -i ./test_crf23.mp4 -b:v 500k test_crf23_red500k.mp4 # encore bien lisible + 144 > 6.5 Mo | ||
- | (D'autres résultats de tests : -b:v 5000k donne un fichier de 23Mo, -b:v 2000k donne un fichier de 20 Mo ; en revanche en réduisant la définition, les caractères de texte deviennent un peu flous, ce n'est pas efficace du tout) | + | (D'autres résultats de tests : -b:v 5000k donne un fichier de 23Mo, -b:v 2000k donne un fichier de 20 Mo ; en revanche en réduisant la définition, les caractères de texte deviennent un peu flous, ce n'est pas l'effet recherché) |
+ | |||
+ | Variante avec réencodage en 44100 | ||
+ | # ffmpeg version 3.2.15-0+deb9u1 / debian 9.5 stretch @ kirin / 20220511 | ||
+ | ffmpeg -i ./scratch_autoportrait_pierre.mp4 -b:v 500k -ar 44100 test.mp4 | ||
+ | ===== Ressources ===== | ||
+ | |||
+ | Pour aller plus loin, une explication du CRF : https://slhck.info/video/2017/02/24/crf-guide.html \\ | ||
+ | Options reconnues par SimpleScreenRecorder : https://www.maartenbaert.be/simplescreenrecorder/custom-codec-options/ \\ | ||
+ | SimpleScreenRecorder permet aussi d'enregistrer en openGL (les jeux par exemple) : https://en.wikipedia.org/wiki/SimpleScreenRecorder \\ |