Author: Romain L.

Tutoriels

Les bases de l’étalonnage vidéo sur davinci resolve

Les couleurs dans une vidéo jouent un rôle crucial en captivant l’attention du spectateur et en influençant ses émotions. Chaque teinte peut susciter des sentiments spécifiques. Par exemple, des tons chauds peuvent évoquer la chaleur et la passion, tandis que des nuances froides peuvent créer une ambiance calme. En vidéo, les couleurs permettent, au-delà de l’aspect visuel, de guider l’expérience du téléspectateur pour offrir une plus grande immersion dans le contenu. En résumé, les couleurs ont un rôle très important dans une vidéo. C’est pour cette raison que j’ai choisi de faire un tutoriel sur l’étalonnage (colorimétrie) sur DaVinci Resolve.

La vidéo du tutoriel :

Le matériel nécessaire :

Pour l’étalonnage vidéo, un minimum de matériel est nécessaire pour garantir une bonne colorimétrie, car tous les écrans ne possèdent pas les mêmes couleurs en raison de plusieurs paramètres tels que le type de dalle ou l’espace colorimétrique couvert. Pour un étalonnage optimal, il est préférable de le faire sur un écran à dalle IPS, offrant la meilleure restitution des couleurs malgré un faible taux de rafraîchissement, contrairement aux dalles VA. Au-delà de la dalle, il faut également que celle-ci couvre un maximum d’espace colorimétrique, tel que le rec709 appelé sRGB. Il existe d’autres espaces colorimétriques englobant encore plus de couleurs, mais ils sont généralement utilisés dans des gammes d’écrans plus coûteuses, souvent dédiées au cinéma. Dans notre cas, un bon écran est celui qui comporte 100% de l’espace rec709/sRGB, reconnaissable au logo ci-dessous :

Naviguer dans ses plans lors de l’étalonnage :

Une fois le montage fini, il suffit de placer la barre de lecture au-dessus du plan que vous souhaitez retoucher, comme ci-dessous :

Puis cliquez sur l’onglet « Étalonnage » pour ouvrir l’interface d’étalonnage :

Enfin, une fois l’onglet ouvert, appuyez sur « Plan » afin de changer facilement et rapidement de vidéo sans devoir repasser par l’onglet « Timelines ».

Cela va vous ouvrir une fenêtre contenant tous les plans présents dans la vidéo. Il vous suffira simplement de cliquer sur le plan voulu.

organiser la retouche :

Pour faciliter la retouche, il est important de séparer les différents paramètres afin de pouvoir revenir en arrière facilement sans supprimer toute la retouche. C’est pour cette raison qu’il est important d’utiliser les nœuds. Pour cela, cliquez sur l’onglet du même nom :

Puis effectuer un clic droit sur le plan qui apparer ensuite cliquer sur ajouter un noeuds enfin cliquer sur rajouter un noeuds en séries répéter l’oppération environ 3 fois cela suffit pour les retouche basique (noeud 2 : exposition ; noeud 3 : balance des blancs ; noeud 4 : couleur ):

Les principaux outils mis à disposition :

Les principaux outils mis à disposition vont se trouver dans l’onglet des Roues colorimétriques. Les outils présents dans cette onglet vont permettre des retouches basiques mais efficaces. L’intégralité des retouches présentées dans la vidéo a été faite simplement avec cet onglet :

En haut de l’onglet, on y retrouve les réglages de température, de teinte, de contraste, de pivot et de détail :

En bas de l’onglet, on y retrouve les réglages de saturation, de basse lumière et de haute lumière (qui permettent de régler le contraste manuellement et plus précisément) :

Enfin, au milieu de l’onglet, on y trouve les fameuses roues colorimétriques. Ces dernières vont permettre de donner une tonalité précise à l’image:

Comment retoucher son image :

Maintenant que vous connaissez l’emplacement des différents outils, il ne vous reste plus qu’à apprendre à vous en servir. Pour cela, sélectionnez le deuxième nœud, puis réglez les basses et hautes lumières afin d’arriver à l’image souhaitée. Si l’image est entièrement sous ou surexposée, vous pouvez modifier l’exposition générale de l’image. Pour cela, placez-vous sur la molette située en dessous de la roue ‘gain’ :

Puis déplacez-la vers la droite ou la gauche afin d’augmenter ou de baisser la luminosité.

exemple de la vidéo :

Une fois l’exposition réglée, nous allons ajuster la balance des blancs (température). La balance des blancs est un paramètre crucial, car elle détermine l’environnement de la vidéo ainsi que la sensation générale. Ce paramètre est souvent utilisé dans les films et séries pour rendre deux lieux bien distincts et faciliter la compréhension du téléspectateur. Pour ajuster cela, sélectionnez le nœud 3, puis choisissez l’outil en forme de pipette situé à côté du réglage de la température.

Enfin, une fois sélectionné, cliquez sur une zone blanche présente dans l’image. Cela va régler automatiquement la température ainsi que la teinte. Si votre image ne contient pas de partie blanche ou si vous souhaitez donner une ambiance particulière au montage, vous pouvez également modifier les valeurs de température ainsi que celles de teinte afin d’arriver à l’image souhaitée.

exemple de la vidéo :

Pour la dernière partie de l’étalonnage, concentrons-nous sur les couleurs. Pour cela, sélectionnez le nœud 4, puis utilisez les quatre roues pour modifier la teinte et donner une couleur à la vidéo:

Enfin, une fois que les couleurs vous plaisent, nous allons modifier la saturation ainsi que leur teinte avec ces deux paramètres :

exemple de la vidéo :

Résultat final :

Afin de vous donner une idée du résultat que l’on peut obtenir en suivant le tutoriel, voici le avant :

sony A7ii 1080p30 70mm f/4,5 1/60 800iso s-log2

Et voici le résultat final :

Étalonnage réalisé sur DaVinci Resolve.

Art

Le micro BM 800

Pour ce premier projet de NSI d’art génératif, nous avons décidé de représenter un micro, un BM 800 avec le module turtle de python.

La vidéo du projet :

Pourquoi le micro ?

Tout simplement car Mathieu fait de la musique plus précisément des instrumentales et Romain lui fait de l’audiovisuel (photos et vidéos). Le micro qui est indispensable dans ces 2 univers. Nous avons choisi le micro BM 800 car pour débuter c’est l’un des meilleurs micros.

Le projet

Pour en revenir au projet, nous avons décidé de faire un micro. Pour cela nous avons utilisé le module turtle ainsi que le module random.

Structure du script

Pour la structure du script nous avons décidé de découper chaque partie de l’image (fond, albums vinyles, cors du micro, prise XLR et bonnette du micro) pour créer des fonctions et pour organiser le script.

Analyse du script

Nous allons analyser le script :

nous allons commencer par par l’appel des modules et la mise en place de turtle :

from turtle import *
from random import randint

"""
Ce fichier est expliqué ici : https://nsi.xyz/py2png
Un autre tutoriel permet de commencer : https://nsi.xyz/tutoriels/decouvrir-le-module-turtle-de-python/
"""

try:
    from PIL import Image
    pillow_installed = True
except:
    print("Oops! - ModuleNotFoundError: No module named 'PIL' - RTFM :")
    print("https://nsi.xyz/py2png")
    pillow_installed = False

# Uniquement des lettres, des chiffres, un tiret. Rien d'autre.
# https://learn.microsoft.com/fr-fr/windows/win32/fileio/naming-a-file
titre = "micro bm800 - construit avec turtle"

# Définir le titre de la fenêtre de turtle + propagande ^^
title(titre+" | Au lycée, la meilleure spécialité, c'est la spé NSI")

# definir la taille de la fenêtre en 720p (Largeur, Hauteur)
# La tortue part du centre, au point de coordonnées (0,0)
setup(1280, 720)

# La tortue va à la vitesse du lièvre et active sa cape d'invisibilité
speed(0)
hideturtle()

"""NOUVEAUTE 2023 :
Pour un tracé instantané, sans aucun délai,
il suffit d'affecter la valeur True à la variable "flash" (False par défaut)
mais cela rend le débuggage moins facile
Merci @bebertii 
"""

flash = True # False par défaut, on peut mettre True sinon, ou mieux 0x2A
if flash:
    wn = Screen()
    wn.tracer(0)

Ensuite pour le fond nous avons utilisé une fonction qui se nomme background-color. Nous avons défini avec la couleur bleu marine en hexadécimal.

def fond():
  bgcolor("#03224c")

Ce qui nous donne :

Après nous avons fait le corps du micro avec quelques valeurs tel que la couleur, la longueur et la largeur du rectangle. Puis nous avons défini une position à laquelle le corps du micro va se positionner, nous avons tracé un rectangle noir, puis nous avons tracé un trapèze pour représenter le bout du micro.

import turtle

ht()

def corpmicro():
    t = turtle.Turtle()

    col = ("#000000")
    l = 100
    la = 200


    t.goto(-100,0)
    t.fillcolor(col)
    t.begin_fill()
    t.ht()

    for i in range(2):
        t.forward(l)
        t.right(90)
        t.forward(la)
        t.right(90)

    t.end_fill()
    t.begin_fill()
    t.penup()
    t.rt(90)
    t.forward(la)
    t.pendown()
    t.left(45)
    t.forward(40)
    t.left(45)
    t.forward(44)
    t.left(45)
    t.forward(40)
    t.end_fill()

Ce qui nous donne avec le fond :

Après cela, pour la prise XLR, nous avons réalisé une fonction prise XLR puis nous avons tracé un rectangle gris et nous lui avons donné une position finale.

def prisexlr(): 
    p = turtle.Turtle()
    col3 = ("#c4c4c4")
    l7 = 44
    la6 = 20

    p.ht()
    p.penup()
    p.goto(-72,-228)
    p.pendown()
    p.fillcolor(col3)


    p.begin_fill()
    for i in range(2):
        p.forward(l7)
        p.right(90)
        p.forward(la6)
        p.right(90)
    p.end_fill()

Ce qui nous donne avec le fond et le corps du micro :

Ensuite pour les 2 albums vinyles, nous avons fait 2 fonctions distincts pour chacun des 2 albums vinyles dans lesquels nous avons rentré les même valeurs tel que les couleurs et le rayon des 2 cercles qui compose l’album vinyle ainsi que la longueur du carré. Ensuite nous avons juste modifié les positions des cercles et carrés.

1er album vinyle :

def albumvinyle():

    a = turtle.Turtle()
    col4 = ("#000000")
    col5 = ("#2f4f4f")
    col6 = ("#f9429e")
    l8 = 80
    r = 35
    r2 = 35/2

    a.penup()
    a.goto(-400,300)
    a.pendown()
    a.fillcolor(col5)
    #carton de l'album
    a.begin_fill()
    for i in range (4):
        a.forward(l8)
        a.right(90)

    a.end_fill()

    #vinyle
    a.penup()
    a.goto(-360,225)
    a.pendown()
    a.fillcolor(col4)


    a.begin_fill()
    a.circle (r2)

    a.end_fill()

    #centre du vinyle
    a.penup()
    a.goto(-360,242)
    a.pendown()
    a.fillcolor(col6)
    a.ht()

    a.begin_fill()

2e album vinyle :

def albumvinyle2():

    a = turtle.Turtle()
    col4 = ("#000000")
    col5 = ("#2f4f4f")
    col6 = ("#f9429e")
    l8 = 80
    r = 35
    r2 = 35/2

    a.penup()
    a.goto(360,-220)
    a.pendown()
    a.fillcolor(col5)
    #carton de l'album
    a.begin_fill()
    for i in range (4):
        a.forward(l8)
        a.right(90)

    a.end_fill()

    #vinyle
    a.penup()
    a.goto(400,-295)
    a.pendown()
    a.fillcolor(col4)


    a.begin_fill()
    a.circle (r2)

    a.end_fill()

    #centre du vinyle
    a.penup()
    a.goto(400,-277)
    a.pendown()
    a.fillcolor(col6)
    a.ht()

    a.begin_fill()
    a.circle (r2)

    a.end_fill()

Ce qui nous donne avec le fond, le corps du micro et la prise XLR :

De plus pour la bonnette du micro, nous avons défini un rectangle noir pour faire ressortir le quadrillage gris de la bonnette.

def bonettefond():
    #fond permetant de faire un quadrillage noir
    b = turtle.Turtle()
    col2 = ("#000000")
    l2 = 125
    la2 = 150

    b.penup()
    b.goto(-225/2,150)
    b.pendown()
    b.fillcolor(col2)
    b.ht()

    b.begin_fill()
    for i in range(2):
        b.forward(l2)
        b.right(90)
        b.forward(la2)
        b.right(90)
    b.end_fill()

Ensuite pour la grille de la bonnette, nous avons fait le quadrillage de la bonnette pour cela nous avons réalisé une fonction qui va permettre de faire des lignes horizontales et verticales.

def bonettegrille():

    g = turtle.Turtle()
    col3 = ("#c4c4c4")
    l3 = 150
    la3 = 4
    l4 = 125

    g.penup()
    g.goto(-230/2,150)
    g.pendown()
    g.fillcolor(col3)
    g.begin_fill()
    g.ht()
    #grille horizontale
    for i in range(16):
        g.right (90)
        g.forward(l3)
        g.left(90)
        g.forward(la3)
        g.left(90)
        g.forward(l3)
        g.right(90)
        g.forward(la3)

    g.right(90)
    #grille verticale
    for i in range(19):
        g.right (90)
        g.forward(l4)
        g.left(90)
        g.forward(la3)
        g.left(90)
        g.forward(l4)
        g.right(90)
        g.forward(la3)

    g.end_fill()

Et pour finir pour les barres de la bonnette, nous avons créer une fonction qui va nous permettre de faire 4 rectangles de longueurs et de largeurs différentes et aussi de positions différentes pour créer les barres de la bonnette.

def barrebonette():
    bo = turtle.Turtle()
    col3 = ("#c4c4c4")
    l5 = 127
    la4 = 25
    l6 =6
    la5 =145


    bo.penup()
    bo.goto(-230/2,145)
    bo.pendown()
    bo.fillcolor(col3)
    bo.ht()
    #première barre horizontale
    bo.begin_fill()
    for i in range(2):
        bo.forward(l5)
        bo.right(90)
        bo.forward(la4)
        bo.right(90)
    bo.end_fill()

    bo.goto(-230/2,25)
    #deuxième barre horizontale
    bo.begin_fill()
    for i in range(2):
        bo.forward(l5)
        bo.right(90)
        bo.forward(la4)
        bo.right(90)

    bo.end_fill()

    bo.goto(-232/2,145)

    #première barre vertical
    bo.begin_fill()
    for i in range(2):
        bo.forward(l6)
        bo.right(90)
        bo.forward(la5)
        bo.right(90)

    bo.end_fill()

    bo.goto(10,145)
    #deuxième barre vertical
    bo.begin_fill()
    for i in range(2):
        bo.forward(l6)
        bo.right(90)
        bo.forward(la5)
        bo.right(90)

    bo.end_fill()

Ce qui nous donne avec juste la bonnette et le fond :

De plus, nous avons une fonction très importante qui sert pas à dessiner quelque chose mais elle rassemble toutes les fonctions afin de les mettre dans le bonne ordre. Donc cela nous a permis de faire chacun nos fonctions chez nous et les mettre en commun.

def immagemicro():
    fond()
    corpmicro()
    bonettefond()
    bonettegrille()
    barrebonette()
    prisexlr()
    albumvinyle()
    albumvinyle2()



immagemicro()

L’image finale