6
votes

Comment faire pivoter une vidéo 90º dans mpmovieplayPontroller

J'utilise mpmovieplayController pour lire la vidéo Il lit la vidéo qui provient des services Web. Le fichier vidéo source a été prélevé en mode Potre, mais il a été tourné à 90º dans le sens anti-horaire. Alors, quand je le joue dans mpmovieplayercontroller , il joue comme le format suivant ci-joint est l'exemple d'image  Entrez la description de l'image ici

Y a-t-il un moyen de faire pivoter le fichier vidéo qui provient du service Web?

J'ai essayé d'appliquer une transformation pour mpmovieplayercontroller.view mais les contrôles de lecteur de film tournent également. Mon besoin est que je devrais faire pivoter la partie vidéo uniquement. Y'a-t-il une quelconque façon de réussir cela. S'il vous plaît aidez-moi à résoudre ce problème, ce serait une bonne aide.

Merci d'avance


11 commentaires

Peut-être que GPuimage peut aider. Essayez gpuimagetransformfilter avec affinetransform défini sur cgaffinetransformMakerotation (m_pi / 2) .


Merci pour vos commentaires vont essayer ceci


Il n'y a pas de problème dans votre code, il s'agit de la vidéo capturée de manière à ce qu'il affiche une sortie comme celle-ci, il s'agit d'un problème d'enregistrement, de sorte que si vous mettez un code pour cela, cela affectera également d'autres vidéos, alors ne faites rien parce que rien n'est mal à votre fin.


@eptDeveloper Je suis fermement d'accord sur votre point, j'ai demandé à mon équipe de back-end pour résoudre ce problème tout en vous enregistrant, ils analysent cela pour résoudre ce problème. Entre, j'essaie de trouver une solution alternative dans iOS.


@Thavasidurai: Ne trouvez aucune alternative pour cet homme. parce que si vous trouvez quelque chose qui fait pivoter votre vidéo et que cela fonctionne bien, vous ferez certainement pivoter d'autres vidéos qui ont été enregistrées correctement afin que les vidéos ne fonctionnent pas correctement, il suffit de quitter cette vidéo. que la présente vidéo n'est pas enregistrée avec une dimension correcte, donc le problème augmente sinon les autres fonctionnent bien, je suis sûr qu'ils vous comprennent bien.


@eptDéveloppeur merci pour vos commentaires. J'ai besoin de faire pivoter toutes les vidéos que celles-ci sont enregistrées à l'arrière. Parce que toutes les vidéos sont stockées uniquement dans le format rotatif. Je pense donc que ce ne sera pas un problème pour mes besoins


@Thavasidurai: Je comprends la meilleure des chances :)


Vous devrez probablement utiliser l'AVPlayer pour cela, car MPMoviePlayController pourrait ne pas permettre de changer ou de manipuler la vidéo dans n'importe quel type. Je vais essayer de voir si je peux gérer une classe plus simple qui jouera avec la vidéo tournante. Mais cela signifierait que vous devriez mettre en œuvre vos propres contrôles et que les contrôles par défaut ne seront probablement pas présentés.


Avez-vous eu un oeil à ce post: iOSDevelopERTS.com/video/... ?


Non, je n'ai pas je vais regarder dessus, vous permettez de savoir une fois que cela fonctionne


Vous auriez besoin d'utiliser les classes d'aviverse pour faire pivoter la vidéo à l'aide de la classe AvmutableComposition. Voici une question connexe: Stackoverflow.com/Questtions/4175060/... . Fondamentalement, chargez l'actif dans celui qui appliquez ensuite la cgaffineransform sur m_pi_2. Cela étant dit, j'ai vu cela sur mon propre backend avant parce qu'il ne prenait pas en compte la rotation donnée dans les commutateurs pour FFMPEG.


3 Réponses :


2
votes

Essayez avec ceci: (J'ai fait une sous-classe pour mpmovieplayerviewcontroller) xxx

Je n'aime pas vraiment travailler de cette manière avec les sous-espions, mais cela fonctionne .. (au moins Pour iOS5 et iOS6)

Ensuite, vous pouvez essayer de faire pivoter le visionneuseVidéoContent :)


0 commentaires

2
votes

Vous devez faire pivoter mpmoviePlayer selon le code suivant. Cela fonctionnera mieux. Je l'ai testé. XXX


4 commentaires

Merci je vais tester cela et vous laissera savoir


Cela fera pivoter la vue vidéo et les contrôles correctement? Pour mes exigences, les contrôles ne doivent pas pivoter


Il affiche la vidéo en mode paysage. Mais ne pas montrer des contrôles par défaut de mpmoviePlayer


Ça devrait montrer. Il doit y avoir un problème de pittoresques et de sources



1
votes

Vous pouvez y parvenir en suivant le code suivant,

yourMoviePlayerController.controlStyle = MPMovieControlModeHidden;


2 commentaires

Existe-t-il une option pour utiliser des contrôles par défaut?


Nope, je ne pense pas.