> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/french/function-blocks/blocks-reference/input-output/outputs-exports/record-video.md).

# Record Video

Ce bloc de fonction enregistre les images entrantes (frames) dans un fichier vidéo. Vous pouvez démarrer et arrêter l'enregistrement avec un déclencheur booléen ou utiliser le déclencheur intégré `Spacebar`. Plusieurs modes de qualité sont disponibles, y compris une option de forte compression qui utilise `ffmpeg` si installé.

## 📥 Entrées

`Frame`\
Les images (frames) entrantes à enregistrer.

`Record`\
Contrôle booléen pour démarrer/arrêter l'enregistrement (utilisé selon le mode de déclenchement choisi).

`Folder Path`\
Le dossier où les vidéos enregistrées seront sauvegardées.

`File Name (no extension)`\
Nom de fichier optionnel de base. Si laissé vide, un timestamp sera utilisé.

## 📤 Sorties

Ce bloc de fonction ne fournit pas de sorties.

## 🕹️ Contrôles

`Video Quality`\
Choix parmi les modes de qualité :

* `Compressed` fichiers plus petits, rapide.
* `High Quality` compression moindre, meilleure fidélité visuelle.
* `High-Compress(requires ffmpeg)` meilleure compression mais nécessite `ffmpeg` disponible sur le système.

`Trigger Mode`\
Choix de la façon dont l’enregistrement démarre/s’arrête :

* `Spacebar` appuyez sur la barre d’espace pour basculer démarrer/arrêter (nécessite la capture clavier disponible sur votre OS).
* `Continuous` fournir TRUE pour démarrer et FALSE pour arrêter.
* `Once` un passage TRUE déclenche le début, un passage TRUE suivant arrête et sauvegarde.

`Recording`\
Indicateur LED visuel montrant si l’enregistrement est actif.

## 🎯 Fonctionnalités clés

* Démarrage/arrêt de l’enregistrement via trois modes de déclenchement (`Spacebar`, `Continuous`, `Once`).
* Plusieurs modes de qualité, incluant une option haute-compression basée sur `ffmpeg`.
* Choix automatique des codecs vidéo et conteneurs disponibles pour portabilité.
* Empêche l’ouverture du fichier vidéo pendant l’enregistrement (pour éviter les conflits).
* Conversion en arrière-plan pour le mode High-Compress afin de ne pas bloquer la capture en temps réel (requiert `ffmpeg`).

## 📝 Comment utiliser

1. Fournissez des frames à `Frame` (par exemple depuis `Camera USB`, `Camera IP (ONVIF)` ou `Stream Reader`).
2. Définissez le `Folder Path` où les vidéos seront sauvegardées.
3. Facultatif : renseignez `File Name (no extension)` ou laissez vide pour utiliser un timestamp.
4. Sélectionnez la `Video Quality` souhaitée. Pour des fichiers très petits et une compression maximale, choisissez `High-Compress(requires ffmpeg)` et assurez-vous que `ffmpeg` est installé.
5. Choisissez le `Trigger Mode` :
   * Pour un contrôle clavier rapide, utilisez `Spacebar` (fonctionne si autorisé par votre OS).
   * Pour un contrôle programmatique, utilisez `Continuous` ou `Once` et alimentez `Record` avec des valeurs booléennes.
6. Démarrez l’enregistrement selon le déclencheur sélectionné. La LED `Recording` s’allumera pendant la capture.
7. Arrêtez l’enregistrement et laissez le bloc finaliser la vidéo. Si le mode High-Compress a été sélectionné, une compression finale peut s’exécuter en arrière-plan.

## 📊 Comportement à l'exécution

* Pendant l’enregistrement, les frames reçues par `Frame` sont ajoutées au fichier vidéo ouvert.
* À l’arrêt, le fichier est fermé. Si l’option high-compress a été sélectionnée et que `ffmpeg` est présent, une conversion en arrière-plan peut être lancée pour produire un fichier fortement compressé.
* Si le déclencheur `Spacebar` n’est pas disponible (cas fréquent sur certains Linux sans droits root), le bloc affichera un avertissement ; utilisez alors les modes `Continuous` ou `Once`.

## 💡 Astuces

* Pour enregistrer depuis une caméra locale, connectez `Camera USB` ou `Camera USB External` à l’entrée `Frame`.
* Pour des caméras réseau, utilisez `Camera IP (ONVIF)` ou `Stream Reader` pour une récupération des frames plus fluide.
* Prévisualisez les frames en envoyant la même source vers le bloc `Show Image` en parallèle.
* Sauvegardez des frames individuelles pour inspection avec `Image Logger` ou `Image Write` pendant l’enregistrement.
* Déclenchez l’enregistrement automatiquement lorsqu’un événement important survient en reliant des blocs de détection (par ex. `Object Detection` ou `Mask Detection`) à un flux logique qui pilote l’entrée `Record`.
* Utilisez `Keyboard/Barcode Reader` si vous avez besoin de déclencheurs clavier ou d’entrée externe plus complexes dirigés vers `Record`.
* Si vous souhaitez une empreinte disque réduite tout en conservant une bonne qualité, choisissez `High-Compress(requires ffmpeg)` et installez `ffmpeg` dans le PATH du système.

## 🛠️ Dépannage

* `Spacebar` ne fonctionne pas sur Linux : lancez Studio avec des privilèges élevés (ou utilisez les modes `Continuous`/`Once`).
* Compression non disponible : vérifiez que `ffmpeg` est installé et accessible via le PATH système pour activer l’option high-compress. Si `ffmpeg` est absent, le bloc basculera vers un mode sans ffmpeg et affichera un avertissement.
* Fichier utilisé pendant l’enregistrement : le fichier vidéo ne peut pas être ouvert par d’autres applications pendant la capture. Attendez la fin de l’enregistrement.
* Aucune frame sauvegardée : vérifiez que la source connectée à `Frame` fournit des images valides (prévisualisez avec `Show Image`).
