2017-06-16 6 views
0

Je crée un site Web. J'essaye de charger ma première vidéo dessus. Cette vidéo mp4 est en orientation portrait et a été enregistrée sur un appareil Android.Faire pivoter la vidéo Android pour l'afficher sur le Web

Lorsque je charge ce MP4 sur mon site Web, il est parfaitement compatible (en mode portrait) avec Chrome; Cependant, il joue en orientation paysage sur Firefox & IE. Je réalise que c'est parce que Chrome utilise les métadonnées de rotation qui sont stockées dans le mp4 pour lire la vidéo dans la bonne orientation, tandis que FF & IE n'utilise pas cette métadonnée.

J'ai essayé de corriger ce problème en utilisant FFMPEG, et diverses combinaisons des commandes de rotation Transposer, Métadonnées &. J'utilise MediaInfo pour voir les métadonnées associées aux fichiers que je produis en utilisant FFMPEG.

Mon problème est: 1) Si je Transposer = 1, puis sur FF & IE & Windows Media Player, la vidéo résultante est en fait une rotation de 180 degrés, et les métadonnées montre la largeur du fichier et de la profondeur pour être la identique au fichier d'origine. 2) Si j'utilise -metadata: s: v rotate = 0 (j'ai également essayé rotate = 90), alors MediaInfo me dit que la profondeur des fichiers résultants & sont maintenant portrait, mais FF & IE & WMP ne jouera pas le fichier résultant. WMP joue le son mais pas d'image, et FF donne un message d'erreur "Erreur lors du chargement de cette ressource".

Quelle commande ffmpeg dois-je utiliser pour convertir un portrait MP4 enregistré un appareil Android dans un mp4 qui jouera dans l'orientation correcte sur Firefox?

Merci à l'avance

Répondre

0

Vous devrez réencoder à « physiquement » tourner la vidéo si vous voulez que les navigateurs ou les joueurs qui ne respectent pas les métadonnées de rotation pour jouer à l'aide de l'orientation.

Une version moderne de ffmpeg tournera automatiquement la vidéo selon les métadonnées de rotation (et éviter de copier les métadonnées de rotation d'entrée à la sortie), donc il suffit d'exécuter:

ffmpeg -i input.mp4 -c:a copy -movflags +faststart output.mp4 
+0

Brillant - votre solution a travaillé première fois . https://www.aboutdogs.co.nz/why-is-video-so-hard/ J'ai essayé de voter votre réponse, mais je n'ai pas encore la réputation requise :-( – Kim