46 matching collectives
Atlantis Collective
About
Nous sommes Atlantis, un collectif axé sur le développement durable ainsi que sur la rapidité de réalisation de par l’utilisation de nouvelles technologies dans le domaine du développement web. 🌳
Blockness
About
Des projets décentralisés légendaires par des buidlers* humains.
Growth on Track
About
Notre collectif multidisciplinaire vous aide à trouver les ingrédients d‘une croissance saine, multi-canal, et centrée sur la data.
L'Atelier
About
Une équipe de développement à disposition pour tous vos besoins tech 🚀
TekFlare
About
Nous vous accompagnons pour prendre les bonnes décisions et structurer l'expertise technique au sein de votre entreprise.
Optimeast
About
Jetez l'ancre en position 1 de Google Search
MAKE IT BOLD
About
✨ MAKE IT BOLD - MAKE IT BRIGHT - MAKE IT HAPPEN ✨
Squadrone
About
Nous sommes un collectif d’experts en communication
Addscale
About
Addscale aide les entreprises BtoB à accélérer leur business avec un accompagnement alliant audit, stratégie, structuration et implémentation d'outils commerciaux innovants avec la mise à disposition de BDR.
SBK - ACDSIS
About
Notre collectif de développement web regroupe des passionnés de la technologie et de l'innovation, prêts à relever tous les défis pour vous offrir une expérience en ligne exceptionnelle.
FA#
About
Automatisation & Optimisation: Votre duo d'experts pour des process métier performants et une croissance accélérée.
Octocode
About
Octocode : Des solutions technologiques créatives et sur mesure.
Rocket dev
About
Des apps rapides et solides
Movelytics
About
De l'idée à l'application : Design, Développement technique, Développement marketing. Votre application web ou mobile sur mesure.
Atelier Digital
About
La première coopérative No-Code
RiseAgency
About
Ensemble, faisons grandir votre business
Dsides
About
Ingénierie numérique
Squaad
About
Le collectif expert en développement de solutions digitales sur mesure. Avec vos équipes, nous déployons des méthodes secrètes pour relever vos défis 👨🚀
Teester
•Media•Retail & Distribution•Telecommunications•Small
Comment Teester a standardisé les vidéos de ses utilisateurs
Afin de réduire le temps de montage vidéo découvrez comment Teester a standardisé les vidéos de ses utilisateurs
Teester est une solution permettant aux marques de récupérer des vidéos de leurs utilisateurs à propos de produits ou de services vendus.
En 2018, le projet en était à ses balbutiements, le business model venait d'être trouvé et les premières bases techniques avaient été posées. Face à la croissance du nombre de clients il était nécessaire de retravailler le système de gestion vidéo pour gérer un flux bien plus important. L'enregistrement de vidéos était moins répandu qu'aujourd'hui, les connexions Internet n'étaient pas aussi performantes et aucune vidéo n'avait le même format. Il était donc très difficile pour les équipes de traiter les vidéos de manière uniforme au vu des différents formats envoyés par les utilisateurs. Nous avons donc développé une suite de logiciels en NodeJS reposant sur FFmpeg pour convertir les fichiers vidéos dans un format standard et universel que nous nommerons par la suite le format "normalisé".
Au fil du temps nous avons amélioré ce processus de standardisation des vidéos en fonction des médias envoyés par les utilisateurs, voici les différentes actions que nous avons menées. Pour chaque cas nous proposerons un exemple en utilisant FFmpeg, ce sont des exemples simplifiés, la réalitée peut être plus complexe.
Son étouffé ou mal réparti
Nous avons remarqué que la bande son n'était pas uniforme et que certaines vidéos enregistrées en stéréo à partir d’un smartphone avaient régulièrement une piste audio vide ou étouffée, comme cela peut arriver lorsque l'utilisateur pose son doigt sur un des deux micros de son téléphone. Pour résoudre ce problème, nous avons décidé de fusionner toutes les bandes son et de ressortir un son mono. Si l’audio était spatialisé nous le convertissions en mono uniforme pour en faciliter le traitement par la suite. Une piste audio vide est créée si le média ne dispose pas de piste audio, dans le cas d'un timelapse par exemple.
Le downmix peut être réalisé en utilisant le paramètre -ac pour définir le nombre de canaux audio au fichier de sortie. FFmpeg se charge automatiquement d’équilibrer les différents canaux par défaut.
ffmpeg -i input.mp4 -ac 1 -c:v copy out.mp4
Volume inégal entre différent médias
Nous recevions parfois plusieurs rushs pour une même vidéo cible, les médias n’étaient pas toujours enregistrés dans les mêmes conditions, le volume du son n’était donc pas homogène. La normalisation du son en utilisant le filtre FFmpeg loudnorm nous a permis d'obtenir un son uniforme sur l'ensemble des vidéos que nous recevions. À noter que ce filtre doit être exécuté en deux passes pour obtenir les meilleurs résultats possibles.
Première passe :
ffmpeg -i input.mp4 -af loudnorm=I=-16:LRA=11:TP=-1.5:print_format=summary -f null -
En se basant sur les valeurs retournées vous allez pouvoir exécuter la seconde passe pour égaliser cette bande son.
Seconde passe :
ffmpeg -i input.mp4 -af loudnorm=linear=true:I=-16:LRA=11:TP=-1.5:measured_I=-13.2:measured_LRA=20.5:measured_tp=1:measured_thresh=-26.3:offset=-0.6 out.mp4
Stabilisation des vidéos
Certaines vidéos étaient filmées sans trépied et les vidéos bougeaient énormément, nous avons utilisé le filtre vidstabtransform de FFmpeg pour stabiliser ces dernières. Ce filtre va zoomer légèrement dans votre vidéo et essayer d’en retirer les secousses. Cette opération nécessite deux étapes pour un rendu optimal et prend un certain temps, elle ne peut pas être réalisée en temps réel.
Première passe :
ffmpeg -i input.mp4 -vf vidstabdetect=result=mytransforms.trf -f null -
Seconde passe :
ffmpeg -i input.mp4 -vf vidstabtransform=zoom=5:input="mytransforms.trf" out.mp4
Détection des bandes noires
Pour nous faire gagner du temps, certains utilisateurs montaient eux-même leur vidéo, ce qui nous posait en réalité pas mal de soucis car ces vidéos ne respectaient pas nos règles de montage. Notamment celles exportées avec des bandes noires. Il nous fallait donc un outil pour détecter ces bandes de manière automatisée et les retirer. Nous avons utilisé le filtre FFmpeg cropdetect mais il est nécessaire d’y ajouter quelques garde-fous pour éviter qu'une image noire ne soit détectée comme de grandes bandes sur l'ensemble de la vidéo. L’astuce consiste à utiliser le filtre sur plusieurs frames de la vidéo pour s’assurer que les bandes noires apparaissent tout le long de la vidéo et pas uniquement à un moment précis.
Cette étape doit être réalisée en deux passes, une pour analyser le fichier et détecter les bandes noires et une seconde pour cropper la vidéo en se basant sur les informations de l'analyse.
Première passe :
ffmpeg -i input.mp4 -vf cropdetect -f null -
Seconde passe :
ffmpeg -i input.mp4 -vf crop=720:1280:0:0 out.mp4
Arrière plan flouté
Pour uniformiser les vidéos nous avons choisis de toutes les exporter au format 16:9. Pour les vidéos verticales, nous ajoutons une copie floutée de la vidéo en arrière plan. Cette opération étant assez coûteuse en ressources, nous nous sommes laissés la possibilité de choisir pour chaque vidéo si nous souhaitions la convertir avec un fond statique (une image floue extraite de la vidéo qui est appliquée de manière constante) ou un fond dynamique (la vidéo entière est floutée).
Pour celà nous allons devoir calculer la largeur de la vidéo idéale pour éviter le downscale avec la formule suivante : [hauteur] 16 / 9. Pour une vidéo en 720 x 1280 pixels, nous avons donc 1280 16 / 9 = 2276. Nous pouvons désormais utiliser la commande suivante :
ffmpeg -i input.mp4 -filter_complex "[0:v:0]scale=2276:-2,boxblur=luma_radius=20:luma_power=20,crop=2276:1280[bgd];[bgd][0:v:0]overlay=(W-w)/2:(H-h)/2[output]" -map [output] -map 0:a:0 out.mp4
Vidéo anamorphiques
Certaines vidéos, dites “anamorphiques”, ont une résolution qui ne correspond pas au ratio de celle-ci. Par exemple une vidéo d’une résolution de 1440 x 1080 pixels mais affichée en 16:9 est anamorphique car 1440/1080 != 16/9. Ces vidéos utilisent une métadonnée pour définir l’aspect ratio de la vidéo. Même si cette métadonnée est de mieux en mieux supportée par les logiciels de montage, il existe de trop nombreux cas où la vidéo ne va pas s’afficher correctement, il est donc recommandé de la convertir pour éviter les ennuis par la suite.
ffmpeg -i input.mp4 -vf scale=iw*sar:ih,setsar=1 output.mp4
Vidéos entrelacées
Une vidéo peut être progressive ou entrelacée, c’est la lettre que vous voyez derrière une résolution (1080p = 1080 progressif, 1080i = 1080 interlaced). Le format entrelacé découpe les images par lignes, ce format est essentiellement utilisé pour la diffusion télévisuelle. Aujourd’hui la majorité des contenus diffusés sur Internet sont en progressif, c’est devenu la référence pour la diffusion de vidéo.
Malgré tout, certaines caméras bon marché enregistrent encore en entrelacé, nous avons dû nettoyer ces vidéos pour les utiliser proprement par la suite.
Au début nous pensions nous baser sur les informations remontées par FFprobe pour détecter si la vidéo était entrelacée ou non, malheureusement, en pratique nous avions des vidéos qui n’étaient pas détecter, nous avons donc utilisé le filtre idet pour détecter si la vidéo était entrelacée ou non.
ffmpeg -i input.mp4 -frames:v 25 -vf idet -f null -
En se basant sur les valeurs de “TFF” et de “BFF”, il est possible de savoir si une vidéo est entrelacée. Il est ensuite possible de corriger l’entrelacement avec le filtre yadif.
ffmpeg -i input.mp4 -vf yadif out.mp4
4K et au delà
Nous avons limité la résolution des vidéos à un flux en 4K (2160 x 3840) étant donné que nos clients ne sont pas en mesure de gérer les résolutions supérieures.
De plus, dans notre cas d’utilisation, vu qu’il s'agit de vidéos enregistrées par des utilisateurs avec un matériel amateur, les résolutions supérieures n’apportent rien de plus sur les sites de nos clients.
Une limitation de la résolution peut être faite avec le filtre scale de ffmpeg :
ffmpeg -i input.mp4 -vf "scale=-2:min'(720,ih)':force_original_aspect_ratio=decrease" output.mp4
HDR
Nous avons aussi subi de nombreux problèmes avec l’arrivée de la HDR, en effet, en fonction des appareils, les vidéos ne sont pas enregistrées de la même manière et ces vidéos peuvent causer des problèmes d’affichages dans certains navigateurs webs.
C’est un sujet qu’il faudrait approfondir pour passer l'ensemble des vidéos sur la même norme HDR. Nos clients n’étant pas intéressés par cette technologie, nous avons fait le choix de ne pas y consacrer plus de temps.
Nous avons converti les vidéos en SDR et nous avons abandonné la HDR. Si cette option vous intéresse il existe un filtre FFmpeg qui permet de faire du “tone mapping”, c'est-à-dire transformer les couleurs pour qu’elles ne paraissent pas délavées une fois repassées en SDR.
ffmpeg -i input.mp4 -vf scale=t=linear:npl=100,format=gbrpf32le,zscale=p=bt709,tonemap=tonemap=hable:desat=0,zscale=t=bt709:m=bt709:r=tv,format=yuv420p out.mp4
C’est ici que s’arrête notre tour des différents points de standardisation des médias que nous utilisions chez Teester. Nous avons également fait des tests avec des outils comme la technologie Google AutoFlip mais les résultats n’ont pas été à la hauteur de ce que nous souhaitions. La gestion des médias envoyés par les utilisateurs reste quelque chose de complexe si vous souhaitez le gérer par vous même correctement, n’hésitez pas à vous faire accompagner.
Members
Expertises
From
Jan 2022 to Feb 2023