Post-traitement des archives composées
Utilisez l'outil de post-traitement des archives pour traiter une collection d'archives Video API de Vonage, telles que celles qui ont été générées par la fonction d'archivage automatique.
Les archives de Video API de Vonage sont limitées dans le temps. Il se peut qu'une partie d'une session ne soit pas enregistrée dans une seule archive. Pour éviter de perdre une partie de la session, utilisez la fonction d'archivage automatique Archivage automatiquequi permet de générer plusieurs fichiers pour couvrir l'enregistrement de très longues sessions. Il est également possible d'utiliser la fonction Archives simultanées pour commencer un deuxième enregistrement avant de terminer le précédent. Dans les deux cas, ces archives sont générées avec un court chevauchement entre la fin de l'une et le début de la suivante.
Si vous préférez avoir un seul fichier vidéo contenant l'ensemble de la session, vous pouvez utiliser notre Post-traitement des archives composées qui fusionne les enregistrements et tente de rendre la transition aussi fluide que possible. Vous pouvez utiliser cet outil pour générer un fichier unique mais plus long qui contient des médias provenant de plusieurs fichiers d'archives plus courts. Vous pouvez également utiliser cet outil avec des enregistrements vidéo qui ne sont pas créés en tant qu'archives Vonage Video, à condition que certains médias se chevauchent et que la configuration des codecs soit présente.
Ce guide explique brièvement comment l'outil de post-traitement détermine la période de chevauchement et comment il produit la fusion entre deux archives.
Vue d'ensemble
Pour fournir des enregistrements longs, notre proposition détecte les informations multimédia qui se chevauchent entre deux archives consécutives en trouvant l'image vidéo et l'échantillon audio qui représentent le début et la fin des données répétées. L'outil présenté ici utilise des règles de décision pour générer de longues archives en supprimant cette redondance. Il résiste à l'existence d'images noires, d'informations hautement redondantes, de contenu hautement statique, de pépins et de désynchronisations audio-vidéo.
Pour découvrir la zone de chevauchement, la logique de post-traitement des archives n'a besoin d'analyser qu'une petite partie des deux fichiers, quelques secondes avant la fin de la première archive et le début de la seconde.
Les archives d'entrée doivent avoir des propriétés de codec identiques, sinon l'outil échouera avec une erreur. En outre, l'outil nécessite l'utilisation de l'option ffmpeg et ffprobe doivent être installés dans le chemin d'accès de l'utilisateur et doivent avoir été compilés avec les paramètres audio et vidéo requis énumérés ici :
- Params vidéo d'archives composées
- codec : H264
- profil : Ligne de base contraignante
- format de pixel : YUV 420p
- niveau : 4.1
- FPS : 25
- Échelle de temps du STP : 90000
- Params audio de l'archive composée
- codec : AAC LC
- taux d'échantillonnage : 48Khz
- canaux : 1
- Conteneur
- type : mp4
Type de contenu
Une archive peut ne contenir que de l'audio, de la vidéo ou les deux. En ce qui concerne le contenu qui se chevauche, le mouvement vidéo peut être extrêmement statique ou très dynamique, et le signal audio peut présenter un bruit puissant ou de longues périodes de silence. En outre, notre outil peut être confronté à d'autres défis : par exemple, un éditeur cesse de publier pendant la période de chevauchement, ce qui se traduit par la présence d'images noires dans l'archive finale, ou lorsque le flux médiatique a subi une perte de paquets lors de son enregistrement, ce qui donne lieu à des problèmes de décodeur vert du côté vidéo ou à un son haché.
Notez que les plages de temps qui se chevauchent, tant pour l'audio que pour la vidéo, sont évaluées de manière indépendante.
Algorithme
Archives audio
Comme le système auditif humain perçoit les fréquences de manière logarithmique, notre algorithme audio évalue de manière logarithmique le contenu fréquentiel de la fin et du début, respectivement, du premier et du second signaux audio qui changent au fil du temps.
Une fois la transformation temps-fréquence effectuée, une fenêtre coulissante de taille fixe est utilisée pour partitionner les signaux traités et pour calculer itérativement leurs corrélations séparées.
Nous proposons deux solutions différentes en fonction du nombre d'itérations effectuées lors du calcul de la fenêtre glissante de l'algorithme :
- Recherche approfondieCette option peut être exécutée si l'option -s ou --deep-search est ajoutée à la commande en cours.
- Recherche partielle: algorithme par défaut.
Archives vidéo uniquement
Pour analyser les images vidéo qui se chevauchent, plusieurs mesures ont été mises en œuvre. Chacune d'entre elles est basée sur l'idée que la valeur minimale que ces algorithmes renvoient, plus la similarité est élevée entre les images des deux vidéos. Comme pour l'audio, le code de post-traitement fait glisser image par image la deuxième partie de la vidéo, qui correspond au premier nombre de secondes spécifié par l'utilisateur comme période d'évaluation, sur l'image correspondante du même nombre de secondes à la partie finale de la première vidéo.
Le code offre la possibilité de rendre les résultats sous forme de graphiques. Dans ce cas, le graphique montrera une zone verte qui représente les images les plus similaires de la première et de la deuxième archive où le chevauchement a lieu. En outre, une ligne de 45 degrés est également marquée en bleu, reflétant l'ordre consécutif des images les plus similaires. Cette corrélation est ensuite convertie en données temporelles pour obtenir la période de chevauchement de la vidéo.
Veuillez noter qu'un prétraitement du cadre est toujours appliqué avant de calculer l'un de nos quatre algorithmes.
Archives Audio+Vidéo
Dans le cas d'archives contenant à la fois de l'audio et de la vidéo, notre outil trouve séparément la période de chevauchement pour chacune d'entre elles. Ensuite, il évalue l'intersection et prend différentes décisions : a) si l'intersection est nulle ; b) si les intersections audio et vidéo ne sont pas suffisamment similaires ; et c) lorsque les deux chevauchements sont très similaires. Pour les situations a) et b), la priorité est donnée aux données de chevauchement audio, car les informations audio sont généralement plus légitimes dans les cas où les données vidéo peuvent présenter une tendance très statique. Enfin, dans la situation c), les deux périodes de chevauchement sont transmises au mécanisme de fusion dans lequel chacun des intervalles audio et vidéo est utilisé lors de la fusion de chaque piste média.
Autre matériel utile
Notre documentation destinée aux développeurs contient des explications faciles à comprendre et du code prêt à l'emploi. Veuillez vous référer aux fichiers README dans https://github.com/Vonage/archive-post-processing et https://github.com/Vonage/archive-post-processing/tree/main/examples/archive-stitcher.
Références