Le format FCPXML (Final Cut Pro Extensible Markup Language) est devenu le standard de l'industrie de la post-production et agit comme un pont universel entre les systèmes. Blackmagic Design a intégré une API d'analyse (parser) FCPXML extrêmement robuste au cœur de DaVinci Resolve, et l’architecture impose l’emboîtement library > event > project > sequence > spine. La clé est de comprendre comment DaVinci Resolve lit les éléments du fichier XML et comment adapter l’export depuis Premiere Pro CC pour une compatibilité maximale.
Comprendre le format et son rôle dans le flux de travail
Le FCPXML est un format de fichier créé à l'origine par Apple lors de la sortie de Final Cut Pro X. Aujourd'hui, le FCPXML est devenu le standard de l'industrie de la post-production. Il agit comme un pont universel. L’import d’un XML final Cut Pro est généralement prévu pour migrer les structures de projet entre logiciels, et les balises et attributs définissent la durée, les marqueurs et les descriptions associées.
La balise spine représente l’épine dorsale de la séquence, c’est‑à‑dire la piste de temps principale. L’architecture impose l’emboîtement library > event > project > sequence > spine. DaVinci Resolve lit l’attribut value pour afficher le titre du marqueur sur la timeline, et l’attribut note stocke la description complète. Le fichier XML peut aussi contenir des éléments de texte (title) pour générer des calques texte, mais pour le sous‑titrage pur, l’import d’un fichier .srt est souvent plus robuste.
Points techniques clés qui déterminent la bonne lecture du XML
- La métrique du XML définit la durée d’une image (frame) sous forme de fraction. Par exemple, pour un projet à 25 images par seconde, la valeur sera 1/25s, et cela influence directement le positionnement des éléments sur la timeline.
- Le fichier doit être encodé en UTF-8 afin que Resolve interprète correctement les accents et les caractères spéciaux (é, è, ç, etc.). L’en-tête est important à cet égard.
- La balise <marker> requiert un attribut duration. Donner la durée entière d’une phrase peut créer des marqueurs trop volumineux et illisibles si elle est trop longue.
- Les timecodes générés par les outils de transcription (par exemple les modèles Whisper) et encodés dans l’attribut start sont des valeurs relatives au début du fichier audio traité. Ils doivent être cohérents avec le framerate du projet (24, 25, 30 fps) pour éviter les décalages.
- Le script de conversion développé autour de Resolve‑fcpxml peut inclure une variable min_segment_duration (par défaut 0.2 seconde) pour fusionner des segments très courts et éviter des annotations trop fragmentées.
- La longueur des valeurs dans l’attribut value peut être limitée (par exemple 80 caractères affichés sur la timeline) pour prévenir les bugs d’affichage; la transcription complète peut être stockée dans l’attribut note (jusqu’à environ 2000 caractères selon les implémentations).
- Les erreurs d’export ou des caractères non échappés dans le texte (comme < ou >) peuvent provoquer des plantages ou des lectures incorrectes. Un nettoyage via html.escape() peut être indispensable avant la compilation du fichier.
- Le schéma FCPXML est robuste et permet d’utiliser des balises de type <title> pour générer des calques de texte. Toutefois, pour une gestion fiable des sous‑titrages, l’usage des fichiers .srt via l’inspector Track est souvent privilégié.
- Dans l’architecture FCPXML, l’import dans Resolve peut créer la timeline et des marqueurs même en cas de petites inconsistances, mais une compatibilité maximale est atteinte lorsque le XML est strictement conforme et encodé correctement.
- En cas d’export depuis Premiere Pro CC, il faut s’assurer que l’export soit bien effectué au format XML Final Cut Pro (et non un XML générique) pour éviter des interprétations erronées par Resolve.
Conseils pratiques pour importer un XML sans « casi chinois »
- Vérifiez le Timeline frame rate dans les paramètres du projet Resolve et alignez‑le avec le framerate du fichier XML (par exemple 25 fps pour un projet européen).
- Ouvrez les paramètres du projet (Roue crantée) et vérifiez le « Timeline frame rate » afin que la durée et les timecodes correspondent exactement à la séquence importée.
- Utilisez l’onglet Edit de Resolve et passez par File > Import > Timeline… (ou Ctrl+Shift+I) puis sélectionnez le fichier .fcpxml généré. Une boîte de dialogue « Load XML » s’ouvre et guide l’import.
- Assurez‑vous que le fichier est encodé en UTF‑8 et que l’en‑tête XML le confirme. Cela évite les erreurs d’interprétation des caractères spéciaux.
- Préférez une exportation XML Final Cut Pro de Premiere Pro CC plutôt que « XML » seul, pour une meilleure compatibilité avec les outils de post‑production.
- Si les marqueurs ou les textes posent problème, envisagez d’utiliser des sous‑titres dans le format .srt et d’importer séparément via l’inspector Track, ce qui offre une gestion plus robuste des sous‑titres.
- Vérifiez la présence de caractères non échappés dans le texte de transcription et, si nécessaire, appliquez un nettoyage automatique avant l’import (escape des caractères spéciaux).
- Utilisez des balises simples et évitez les longueurs excessives dans l’attribut value afin d’éviter les bugs d’affichage sur la timeline.
Cas particuliers et solutions spécifiques
La transcription et le traitement des textes peuvent être capturés dans l’attribut note du XML, ce qui permet d’emmagasiner des descriptions complètes sans encombrer l’affichage sur la timeline. Le module xml_validator.py peut effectuer une vérification finale via des expressions régulières avant la sauvegarde du fichier, garantissant ainsi une structure conforme et robuste.
Le FCPXML 1.9 ne gère pas nativement les couleurs dynamiques par locuteur dans la transcription brute. L’attribut value peut contenir des mentions telles que « Locuteur 1: … », mais les informations de couleur ne sont pas forcément transférées automatiquement. Pour des besoins avancés de colorisation par locuteur, il peut être nécessaire d’exporter des informations supplémentaires ou d’utiliser des outils complémentaires.
Tableau récapitulatif des aspects à vérifier
| Éléments | Impact | Bonnes pratiques |
|---|---|---|
| Encodage XML | UTF-8Required pour les accents | Vérifier |
| Framerate | Correspond au framerate du projet | Réglage dans Timeline frame rate avant import |
| Durée par image | Framing précis sur la timeline | Utiliser 1/25s ou 1/24s selon le projet |
| Balises Marker | Durée et lisibilité | Utiliser des durées raisonnables; stocker le texte long dans note |
| Textes dans value | Affichage sur la timeline | Limiter à 80 caractères affichés |
| Échappement des caractères | Évite les erreurs XML | Nettoyer via html.escape() avant compilation |
| Compatibilité | Import et lecture robustes | Utiliser FCPXML exporté depuis Premiere Pro CC |

How to import FCPXML file in Davinci Resolve | FCPXML to Davinci Resolve
En synthèse, le format FCPXML est puissant mais exige une cohérence entre l’export depuis Premiere Pro CC, l’encodage UTF‑8, le framerate de la timeline et les contraintes d’affichage des marqueurs et des textes dans Resolve. En respectant ces paramètres et en privilégiant des flux de travail bien synchronisés (utilisation de .srt pour le sous‑titriage si nécessaire), l’import et l’édition deviennent plus fluides et fiables.