Présentation du Serveur Web de diffusion vidéo
La diffusion vidéo est un processus qui permet de transmettre des images en direct ou préenregistrées sur Internet. La diffusion vidéo peut être utilisée pour diverses applications telles que la surveillance à distance, la diffusion en direct d’événements sportifs, la vidéoconférence, la formation en ligne, la télévision en direct et bien d’autres.
Il existe plusieurs technologies de diffusion vidéo disponibles pour diffuser du contenu en direct ou enregistré sur Internet. Les technologies les plus courantes incluent :
- Le protocole de diffusion en continu Real-Time Messaging Protocol (RTMP) : ce protocole est utilisé pour la diffusion en continu de vidéos en direct ou enregistrées à partir d’un serveur de streaming.
- Le protocole de diffusion en continu HTTP Live Streaming (HLS) : ce protocole est utilisé pour la diffusion de vidéos en continu sur des appareils mobiles et des navigateurs Web.
- La technologie WebRTC (Web Real-Time Communications) : cette technologie permet la diffusion vidéo en temps réel entre deux navigateurs Web sans l’utilisation d’un serveur de streaming.
- Les plates-formes de diffusion vidéo en direct telles que YouTube Live, Facebook Live, Twitch et Vimeo : ces plates-formes fournissent des outils pour la diffusion en direct de vidéos sur Internet.
Un serveur Web de diffusion vidéo est un serveur qui permet de diffuser une vidéo en direct sur Internet. Il s’agit d’une solution populaire pour la diffusion de conférences, de concerts, d’événements sportifs et de nombreuses autres activités en ligne.
Pour créer un serveur Web de diffusion vidéo, vous aurez besoin d’une caméra vidéo pour capturer le flux vidéo, d’un serveur Web pour diffuser la vidéo en direct et d’un accès Internet à haut débit pour permettre aux utilisateurs de se connecter et de regarder la vidéo en direct.
Il existe plusieurs plates-formes de diffusion vidéo en direct disponibles, telles que YouTube Live, Facebook Live, Twitch et Vimeo. Ces plates-formes fournissent généralement les outils nécessaires pour créer un serveur de diffusion vidéo en direct.
Création du Serveur Web de diffusion vidéo avec ESP32-CAM
L’ESP32-CAM est un module WiFi doté d’un microcontrôleur ESP32 et d’une caméra OV2640. Il est possible d’utiliser cet ESP32-CAM comme serveur Web pour diffuser une vidéo en direct sur Internet. Pour ce faire, vous pouvez suivre les étapes suivantes :
- Assurez-vous que vous avez installé l’IDE Arduino sur votre ordinateur et que vous avez configuré votre environnement de développement pour travailler avec l’ESP32.
- Téléchargez et installez la bibliothèque Arduino “ESP32 Camera” depuis la bibliothèque de gestion des bibliothèques Arduino. Cette bibliothèque permet de communiquer avec la caméra OV2640 et d’accéder à ses images.
- Ouvrez l’exemple “CameraWebServer” inclus dans la bibliothèque “ESP32 Camera”. Cet exemple crée un serveur Web qui diffuse une vidéo en direct de la caméra OV2640.
- Connectez l’ESP32-CAM à votre réseau WiFi en modifiant les paramètres SSID et mot de passe dans le code de l’exemple.
- Compilez et téléchargez le code de l’exemple sur l’ESP32-CAM.
- Ouvrez l’interface Web de l’ESP32-CAM en tapant son adresse IP dans votre navigateur Web. Vous devriez voir la vidéo en direct de la caméra OV2640.
- Pour accéder à la vidéo en direct depuis Internet, vous devrez configurer votre routeur pour rediriger le trafic HTTP entrant vers l’adresse IP de l’ESP32-CAM. Vous devrez également configurer un service DNS dynamique pour associer un nom de domaine à l’adresse IP publique de votre réseau.
Les composants nécessaires :
ESP32-CAM
L’ESP32-CAM est un module WiFi doté d’un microcontrôleur ESP32 et d’une caméra OV2640. Il est conçu pour être utilisé dans les projets d’Internet des objets (IoT) qui nécessitent une capture vidéo en direct et une transmission de données sans fil. Voici les principales caractéristiques de l’ESP32-CAM :
- Microcontrôleur ESP32 double cœur cadencé à 160 MHz
- Connectivité WiFi 802.11b/g/n
- Antenne intégrée
- Caméra OV2640 2 MPixels
- Prise en charge de la capture vidéo jusqu’à 1600×1200 pixels
- Prend en charge les formats JPEG, BMP, GIF, PNG et YUV422
- Intégration d’une interface de programmation (API) basée sur la norme RESTful
- Prise en charge des protocoles de communication MQTT, HTTP et WebSocket
L’ESP32-CAM peut être utilisé dans de nombreux projets tels que la surveillance à distance, la domotique, la vidéoconférence, la sécurité, la robotique et bien d’autres. Il est également compatible avec l’environnement de développement Arduino, ce qui facilite la programmation et l’intégration dans les projets existants.
Convertisseur USB cp2102
CP2102 est un convertisseur USB vers UART (Universal Asynchronous Receiver/Transmitter) produit par Silicon Labs. Il permet de connecter un périphérique UART à un ordinateur via un port USB. Le CP2102 est couramment utilisé dans les projets de développement de matériel électronique pour permettre la communication entre l’ordinateur et le microcontrôleur via une connexion USB.
Le CP2102 permet de connecter un périphérique UART, tel que l’ESP32-CAM, à un ordinateur via un port USB. Il permet donc de programmer et de communiquer avec l’ESP32-CAM à partir d’un ordinateur.
En utilisant le CP2102, vous pouvez programmer l’ESP32-CAM et communiquer avec lui via une connexion USB. Vous pouvez également utiliser le CP2102 pour récupérer les données capturées par l’ESP32-CAM et les transmettre à un ordinateur via une connexion USB.
Montage
On connecte :
- la broche UOT de la carte ESP32-CAM à la broche RXD du convertisseur CP2102
- la broche UOR de la carte ESP32-CAM à la broche TXD du convertisseur CP2102
- la broche 5V de la carte ESP32-CAM à la broche 5V du convertisseur CP2102
- la broche GND de la carte ESP32-CAM à la broche GND du convertisseur CP2102
- la broche IO0 de la carte ESP32-CAM à la broche GND de la carte ESP32-CAM
Installation du module ESP32 dans IDE Arduino
Pour installer le module ESP32 dans l’IDE Arduino, vous pouvez suivre les étapes suivantes :
- Ouvrez l’IDE Arduino.
- Cliquez sur “File” dans la barre de menus, puis sélectionnez “Preferences”.
- Dans la zone “URL de gestionnaire de cartes supplémentaires”, ajoutez l’URL suivante : https://dl.espressif.com/dl/package_esp32_index.json
- Cliquez sur “OK” pour fermer la fenêtre des préférences.
- Cliquez sur “Tools” dans la barre de menus, puis sélectionnez “Board” > “Boards Manager”.
- Dans la zone de recherche, tapez “ESP32” et appuyez sur Entrée.
- Cliquez sur “Installer” à côté du “ESP32” de “Espressif Systems”.
- Attendez que l’installation soit terminée.
- Une fois l’installation terminée, sélectionnez “AI THINKER ESP32-CAM” dans le menu “Outils” > “Carte” pour configurer votre IDE Arduino pour travailler avec l’ESP32.
- Sélectionnez le port COM correspondant à votre ESP32-CAM dans le menu “Tools” > “Port”.
Importation du projet “camerawebserver “
Le projet “camerawebserver” pour l’ESP32 est un exemple de code fourni avec la bibliothèque ESP32 pour l’IDE Arduino. Ce projet permet de créer un serveur web qui diffuse la vidéo capturée par la caméra OV2640 intégrée à l’ESP32-CAM.
Pour utiliser ce projet, vous devez suivre les étapes suivantes :
- Ouvrez le projet “camerawebserver” dans le menu “Fichier” > “Exemples” > “ESP32” > “Camera” > “CameraWebServer”.
- Modifiez les informations de votre réseau Wi-Fi en remplaçant les variables “ssid” et “password” dans le code.
|
const char* ssid = "HUAWEI Y5 2019"; const char* password = "b582058c4d86"; |
- sélectionnez le modèle de caméra correspondant au module AI THINKER ESP32-CAM. Cette sélection se fait simplement en supprimant les « // » de commentaires devant la ligne « #define CAMERA MODEL AI THINKER » et en commentant la ligne choisie par défaut :<
|
// Select camera model //#define CAMERA_MODEL_WROVER_KIT //#define CAMERA_MODEL_ESP_EYE //#define CAMERA_MODEL_M5STACK_PSRAM //#define CAMERA_MODEL_M5STACK_WIDE #define CAMERA_MODEL_AI_THINKER |
- Téléversez le code sur l’ESP32-CAM en cliquant sur le bouton “Téléverser”.
- Lors du téléversement du programme, Appuyer sur le bouton RESET de la carte ESP32-CAM quand l’IDE essaie de se connecter à l’ESP32, pendant cette phase:
- Attendez que le téléversement soit terminé
- Déconnecter la broche IO0 de la carte ESP32-CAM à la broche GND de la carte ESP32-CAM
- Ouvrir le moniteur série
- Appuyer sur le bouton RESET de la carte ESP32-CAM
- On observe le moniteur série pour voir l’adresse IP de l’ESP32-CAM.
- Ouvrez un navigateur web sur votre ordinateur et entrez l’adresse IP de l’ESP32-CAM dans la barre d’adresse.
- La page web affichée par l’ESP32-CAM devrait contenir un flux vidéo en direct provenant de la caméra OV2640.
En utilisant ce projet, vous pouvez facilement créer un serveur web pour diffuser des vidéos en direct à partir de l’ESP32-CAM.