Cet article présente principalement le format d'analyse des fichiers vidéo mp4 à l'aide de PHP. Il a maintenant une certaine valeur de référence. Maintenant, je le partage avec tout le monde. Les amis dans le besoin peuvent s'y référer
Dans. lors de mon travail récent, lorsque je faisais du développement tiers de mini-programmes, j'ai rencontré un problème avec le composant vidéo du mini-programme. Le retour de développement était que, parce que le composant vidéo est de trop haut niveau, il flotte toujours au premier plan. et bloque les éléments derrière lors du défilement
Le développeur a donc déclaré qu'il devait modifier le plan et mettre une capture d'écran de la vidéo sur la page de liste d'origine. , afin que les utilisateurs puissent cliquer sur la capture d'écran pour accéder à une nouvelle page et regarder la vidéo, cette page ne comporte qu'un seul composant vidéo, elle ne posera donc pas d'autres problèmes car elle est de trop haut niveau.
Cette nouvelle solution est réalisable, mais une fois le développement terminé, j'ai constaté que la vidéo tournée sur Apple avait été pivotée, et les captures d'écran avaient également été pivotées (en utilisant Il s'agit de la fonction de capture d'écran vidéo OSS d'Alibaba Cloud). Comme le montre l'image ci-dessous
Cela apporte Un nouveau problème. Le développement frontal doit savoir de combien de degrés la vidéo a été tournée, puis faire pivoter l'image du même degré en sens inverse, afin que l'effet vu par l'utilisateur ne soit pas une rotation.
Cela nécessite que l'interface backend analyse la rotation de la vidéo et la stocke dans la base de données lorsqu'elle reçoit la vidéo téléchargée.
Le problème actuel est que ce système métier historique a été développé avec PHP5.5, et que le leader technique de l'époque l'a compilé et installé à partir du code source, mais le plug-in php-ffmpeg l'est aussi ancien et n'a pas été maintenu. Il y a trop de problèmes de compilation sur php5.5.
Il est donc nécessaire d'utiliser php pour analyser le format de fichier vidéo mp4 capturé par les téléphones mobiles Apple.
Le principe de mise en œuvre est d'analyser la matrice de transformation vidéo dans la tête tkhd de la boîte de trak vidéo mp4, et de déterminer dans quelle mesure la rotation a été effectuée à travers la vidéo transformation degré de la matrice de transformation, comme indiqué ci-dessous.
Bases du format de fichier mp4 L'unité est un atome (ou une boîte). La structure du format de fichier mp4 n'est pas publiée ici. Vous pouvez la rechercher en ligne.
L'effet après la mise en œuvre est le suivant :
Résultats des tests, comparer avec l'exemple de rotation de téléphone portable dans l'image ci-dessus :
https://gitee.com/clwu/IphoneMp4Probe
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!