web-dev-qa-db-fra.com

Capture vidéo du simulateur iOS pour la prévisualisation de l'application

D'accord, nous pouvons donc maintenant soumettre des aperçus vidéo de nos applications sur l'App Store. Selon Apple, nous devrions le faire avec un appareil iOS8 etOSX 10.10.Le problème est que vous devez disposer de tous les appareils (4 ", 4.7", 5.5 "et iPad). 

Y a-t-il une alternative à cela?

Je pense à capturer une vidéo du simulateur. Le problème est que l'écran du périphérique est plus grand que monFullHDmonitor lorsqu'il est affiché avec une résolution de 100%. Une solution capable de capturer une vidéo directement à partir du simulateur en pleine résolution?

Edit: Comme beaucoup de gens répondent aux questions que je ne pose pas, laissez-moi vous dire: - Enregistrer une taille de périphérique et la mettre à l’échelle n’est pas ce que je demande; - Comment enregistrer n’importe quel aperçu de l’application n’est pas ce que je vous demande; - Comment vous faites vos aperçus n’est pas ce que je vous demande;

Qu'est-ce que je demande c'est pouvez-vous enregistrer une vidéo du simulateur avec une résolution de 100% si elle ne tient pas à l'écran?

241
AXE

Pour Xcode 8.2 ou version ultérieure

Vous pouvez prendre des vidéos et des captures d'écran de Simulator en utilisant le xcrun Xcode utilitaire de ligne de commande.

  1. Exécutez votre application sur le simulateur.
  2. Ouvrez Terminal.app
  3. Lancer la commande

    • Pour prendre une capture d'écran, xcrun simctl io booted screenshot <filename>.<file extension> 
    • Pour prendre une vidéo, xcrun simctl io booted recordVideo <filename>.<file extension>

Par exemple capture d'écran: xcrun simctl io booted screenshot myScreenshot.png
Par exemple video: xcrun simctl io booted recordVideo appVideo.mov

  1. Appuyez sur ctrl + c pour arrêter l'enregistrement de la vidéo.

L'emplacement par défaut du fichier créé est le répertoire actuel.

458
Tikhonov Alexander

Vous pouvez utiliser QuickTime Player pour enregistrer l'écran.

  • Ouvrez QuickTime Player
  • Sélectionnez File dans le menu
  • Sélectionnez New Screen recording

À partir de la fenêtre Screen Recording, cliquez sur le bouton d’enregistrement.

Il vous fournira une option pour enregistrer la totalité de l'écran ou une partie sélective de votre écran.

Vous devrez faire une sélection de votre simulateur afin que seule la partie simulateur soit enregistrée.

152
Kalpesh

Apple recommande de le faire sur un périphérique réel et propose un guide d'utilisation de QuickTime et iMovie sur iOS et OS X: https://developer.Apple.com/app-store/app-previews /iMovie/Creating-App-Previews-with-iMovie.pdf

Résumé: 

Capturer des enregistrements d'écran avec QuickTime Player

  1. Connectez votre appareil iOS à votre Mac à l'aide d'un câble Lightning.
  2. Ouvrez le lecteur QuickTime.
  3. Choisissez Fichier> Nouvel enregistrement vidéo.
  4. Dans la fenêtre qui apparaît, sélectionnez votre appareil iOS comme source d’entrée pour Caméra et Microphone

Créer un aperçu de l'application avec iMovie

Importer des enregistrements d'écran

Ensuite, vous importez les fichiers d’enregistrement d’écran que vous avez capturés avec QuickTime Player dans iMovie . Dans iMovie:

  1. Choisissez Fichier> Importer un média.
  2. Dans la fenêtre qui apparaît, sélectionnez les fichiers d’enregistrement d’écran.

Créer un projet de prévisualisation d'application

Pour démarrer un nouveau projet de prévisualisation d'application, choisissez Fichier> Nouvelle prévisualisation d'application. Une ligne de temps apparaît où vous pouvez ajouter et organiser des clips pour créer votre aperçu. 

62
ali-hk

En fait, je suis surpris que personne n'ait fourni ma réponse. C’est ce que vous faites (cela fonctionnera si vous avez au moins un appareil éligible):

  1. Enregistrez, éditez et terminez l'aperçu de l'application avec l'appareil que vous possédez.
  2. Exporter sous forme de fichier.
  3. Allez sur vos simulateurs et imprimez un écran sur chacun des différents formats d’iPhone. 
  4. Créez un nouvel aperçu de l'application dans iMovie.
  5. Insérez la capture d'écran de la taille souhaitée en premier, puis ajoutez le fichier de l'aperçu de l'application que vous avez déjà créé. 
  6. Exporter en utilisant Partager -> Aperçu de l'application
  7. Répétez les étapes 4 à 6 pour les nouvelles tailles.

Vous devriez pouvoir obtenir votre aperçu de l'application dans la résolution souhaitée.

51
Eric Chuang

Vous devez utiliser QuickTime dans Yosemite pour connecter et enregistrer l’écran de vos appareils iOS.

portrait iPhone

Une fois l'enregistrement terminé, vous pouvez utiliser iMovie pour éditer la vidéo. Lorsque vous travaillez sur un aperçu de l'application Portrait de l'iPhone, la résolution doit être 1080x1920, mais iMovie ne peut exporter que dans 16:9 (1920x1080).

Une solution serait d’importer la vidéo enregistrée avec la résolution 1080x1920 et de la faire pivoter de 90 degrés. Exportez ensuite le film en 1920x1080 et faites pivoter la vidéo exportée de 90 degrés en utilisant ffmpeg et la commande suivante.

ffmpeg -i Landscape.mp4 -vf "transpose=1" Portrait.mp4

iPad

L'iPad est un peu plus compliqué car il nécessite une résolution de 1200x900 (4:3), mais iMovie n'exporte que dans 16:9.

Voici ce que j'ai fait.

  1. Enregistrez le film sur iPad Air en mode paysage (1200x900, 4:3)
  2. Importer dans iMovie et exporter en tant que 1920x1080, 16:9 (iPadLandscape16_9-1920x1080.mp4)
  3. Supprimer les barres noires gauche et droite d'une vidéo avec 1440x1080. La largeur d'une barre est 240

    ffmpeg -i iPadLandscape16_9-1920x1080.mp4 -filter:v "crop=1440:1080:240:0" -c:a copy iPadLandscape4_3-1440x1080.mp4
    
  4. Réduire le film en 1220x900

    ffmpeg -i iPadLandscape4_3-1440x1080.mp4 -filter:v scale=1200:-1 -c:a copy iPadLandscape4_3-1200x900.mp4
    

Tiré de ma réponse sur le Forum des développeurs Apple

29
brutella

Prendre une capture d'écran ou enregistrer une vidéo en utilisant la ligne de commande

Vous pouvez prendre une capture d'écran ou enregistrer une vidéo de la fenêtre du simulateur à l'aide de l'utilitaire de ligne de commande xcrun.

  1. Lancez votre application dans Simulator.

  2. Lancez Terminal (situé dans /Applications/Utilities) et entrez la commande appropriée:

    • Pour prendre une capture d'écran, utilisez l'opération screenshot:

      xcrun simctl io booted screenshot
      

      Vous pouvez spécifier un nom de fichier facultatif à la fin de la commande.

    • Pour enregistrer une vidéo, utilisez l'opération recordVideo:

      xcrun simctl io booted recordVideo <filename>.<extension>
      

      Pour arrêter l'enregistrement, appuyez sur Control-C dans Terminal.

      Remarque: Vous devez spécifier un nom de fichier pour recordVideo.

    L'emplacement par défaut du fichier créé est le répertoire actuel.

    Pour plus d'informations sur simctl, exécutez cette commande dans Terminal:

    xcrun simctl help
    

    Pour plus d'informations sur la sous-commande io de simctl, exécutez cette commande:

    xcrun simctl io help
    

De Documentation Apple .

21
Shady Ghalab

Vous pouvez le faire gratuitement avec les outils suivants. Vous aurez besoin d'au moins un appareil réel (j'ai utilisé un iPhone 5)

Capturez la vidéo avec le simple, mais excellent appshow (notez que ceci est un outil très dépourvu de bases, mais très facile à apprendre). Cela exportera à la résolution du périphérique natif (640x1136). 

Redimensionner avec ffmpeg. En raison de l'arrondissement, vous pouvez passer directement d'une résolution à l'autre, mais vous devez surdimensionner, puis rogner. 

ffmpeg -i video.mov -filter:v scale=1084:1924 -c:a copy video_1084.mov
ffmpeg -i video_1084.mov -filter:v "crop=1080:1920:0:0" -c:a copy video_1080.mov

Pour ipad, vous pouvez rogner puis ajouter une boîte aux lettres. Cependant, un recadrage comme celui-ci ne produit généralement pas une vidéo identique à celle de votre application sur l'ipad. YMMV.

ffmpeg -i video.mov -filter:v "crop=640:960:0:0" -c:a copy video_640_960.mo
ffmpeg -i video_640_960.mov -filter:v "pad=768:1024:64:32" -c:a copy video_768_1024.mov
ffmpeg -i video_768_1024.mov -filter:v scale=900:1200 -c:a copy video_900_1200.mov
20
vish

C’est ainsi que j’ai trouvé le plus simple et que vous n’avez besoin que d’un iPhone et d’un iPad: 

Enregistrer l'écran du périphérique avec QuickTime Player:

  • Connectez votre appareil.
  • Ouvrez le lecteur QuickTime.
  • Choisissez Fichier> Nouvel enregistrement vidéo (CMD + alt + N).
  • Dans la fenêtre qui apparaît, sélectionnez votre appareil iOS comme appareil photo avec une résolution maximale.
  • Enregistrer le fichier vidéo (CMD + S)

Ouvrez iMovie

  • Sélectionnez Fichier -> Nouvel aperçu de l'application
  • Faites glisser une image de votre application avec la plus grande résolution ex. une capture d'écran 1920 x 1080 du projet. (Cela rend la vidéo 1920 x 1080 même si vous avez enregistré avec un iPhone 5)
  • Faites glisser le film que vous avez enregistré dans le projet.
  • Enregistrer en choisissant Fichier -> Partager -> Aperçu de l'application

Maintenant, faites ceci avec tous vos appareils ou:

Télécharger Handbreak: https://handbrake.fr/downloads.php

Et redimensionnez la vidéo haute résolution:

  • Faites glisser votre vidéo haute résolution sur Handbreak
  • Sélectionnez l'icône "Paramètres d'image"
  • Redimensionnez à la taille correcte - fermez et appuyez sur l'icône "Démarrer" - est sauvegardé sur le bureau
17
Johannes Olsson

Le Guide de l'utilisateur du simulateur Apple indique dans Capture d'écran ou enregistrement d'une vidéo à l'aide du paragraphe Ligne de commande :

Vous pouvez prendre une capture d'écran ou enregistrer une vidéo de la fenêtre du simulateur à l'aide de l'utilitaire de ligne de commande xcrun.


Pour enregistrer une vidéo, utilisez l'opération recordVideo dans votre terminal:

xcrun simctl io booted recordVideo <filename>.<extension>

Notez que le fichier sera créé dans le répertoire actuel de votre terminal.


Si vous souhaitez enregistrer le fichier vidéo dans votre dossier Desktop, utilisez la commande suivante:

xcrun simctl io booted recordVideo ~/Desktop/<filename>.<extension>

Pour arrêter l'enregistrement, appuyez sur Control-C dans Terminal.

14
Imanou Petit

Dans MacOS Mojave, vous pouvez enregistrer une partie de l'écran à l'aide de l'utilitaire de capture d'écran.

  1. Appuyez sur Maj-Commande (⌘) -5 pour ouvrir un panneau de contrôle.
  2. Sélectionnez  enter image description here .
  3. Sélectionnez la partie de l'écran que vous souhaitez enregistrer - ce serait le simulateur iPhone.
  4. Cliquez sur  enter image description here pour arrêter l'enregistrement.
  5. Une vignette apparaîtra dans le coin inférieur droit de l'écran. Vous pouvez l'éditer avant de l'enregistrer.

Si vous souhaitez visualiser les clics de souris, après l'étape 1, sélectionnez le contrôle Options et activez Afficher les clics de souris.

5
Vadim Bulavin

Le meilleur outil que j'ai trouvé est Appshow. Visitez http://www.techsmith.com/techsmith-appshow.html (je ne travaille pas pour eux)

3
bakwarte

Voici une solution qui fonctionne et ne coûte pas 300 $ (FinalCut Pro), mais elle nécessite ScreenFlow ( L'application ScreenFlow dans AppStore ) (100 $):

  • Raccordez votre appareil à un Mac sous Yosemite 
  • Lancez Quicktime et sélectionnez Fichier/Newi Movie Recording
  • Lancez ScreenFlow et capturez votre vidéo
  • Éditez votre vidéo dans ScreenFlow (ajoutez du texte, de la musique, etc.)
  • Recadrer la vidéo afin qu'elle ne contienne que l'écran de l'appareil
  • Exportez la vidéo au format requis par Apple (par exemple, 1334x750)
3
RawMean

À partir de Xcode 9, vous pouvez prendre une capture d'écran ou enregistrer une vidéo à l'aide du fichier binaire simctl. 

/Applications/Xcode.app/Contents/Developer/usr/bin/simctl

Vous pouvez l'utiliser avec xcrun pour commander le simulateur en ligne de commande. 

  1. Pour prendre une capture d'écran, lancez ceci en ligne de commande:

    xcrun simctl io booted screenshot
    
  2. Pour enregistrer une vidéo sur le simulateur à l'aide de la ligne de commande: 

    xcrun simctl io booted recordVideo fileName.videoType(e.g mp4/mov)
    

Remarque: vous pouvez utiliser cette commande dans n'importe quel répertoire de votre choix. Le fichier sera enregistré dans ce répertoire. 

2
Rawand Saeed

Dans Réglages> Affichages> Affichage de mon MBP, je vois un réglage pour 'Résolution: par défaut pour Affichage/Mise à l'échelle'. Je le règle sur «Plus d'espace», puis j'essaie les différents simulateurs, qui semblent tous tenir sur un écran agrandi à 100%. Je soupçonne que cela ne fonctionnerait pas avec votre écran FullHD cependant ...

Une alternative pourrait consister à essayer d’installer une sorte de solution serveur VNC sur le simulateur, telle que https://github.com/wingify/vnc , et l’enregistrer avec un enregistreur VNC - je crois qu’il existe un enregistreur VNC Python là-bas.

1
android.weasel

Je faisais face au même problème. Il a une solution très simple qui a fonctionné pour moi. Il suffit de suivre ces étapes:

1.Faites un aperçu vidéo dans iMovie.

2.Exporter la vidéo en utilisant l'option de partage de fichier. Choisissez 1920x1080 car il peut être utilisé pour 5S et 6 plus.

3.Téléchargez Appshow pour Mac par techsmith ( https://www.techsmith.com/techsmith-appshow.html .) Il est spécialement conçu pour la création de vidéos de prévisualisation d'applications. Mais je ne le recommande pas pour faire des vidéos mais juste pour exporter.

4.Choisissez une nouvelle vidéo Aperçu de l'application et personnalisez-la en choisissant moins d'images que vous pourrez supprimer ultérieurement.

5.Importez votre vidéo iMovie dans ce modèle. Dans le coin supérieur droit, vous pouvez choisir la résolution de votre choix. Appshow présente toutes les résolutions requises pour afficher un aperçu de l'application.

6.Enfin, choisissez simplement le périphérique et exportez la vidéo dans la résolution choisie.

1
shalz

Vous pouvez utiliser l'enregistrement d'écran QuickTime et les simulateurs iOS pour réaliser vos enregistrements vidéo. La difficulté ici est d'obtenir la taille correcte pour qu'iMovie puisse détecter la résolution de sortie lorsque vous exportez l'AppPreview. Je n'ai pas trouvé le moyen de sélectionner la résolution de sortie dans iMovie, donc, doit être détecté par le format du support que vous utilisez. Cela peut vous prendre plusieurs essais mais c'est faisable. C’est l’un de ceux-ci: ai-je 300 $ pour FinalCut Pro ou ai-je environ une heure de mon temps? Vous avez seulement besoin de trois enregistrements comme mentionné ci-dessus. Je pourrais en faire deux sur des appareils parce que je les ai mais je n'ai pas d'iPhone 6 (pour le moment ... :)). J'aime aussi les simulateurs parce que vous pouvez utiliser quelque chose comme SimFinger pour simuler des gestes et appuyer sur des boutons.

Bonne chance!

1
Phantom59

À compter d’aujourd’hui, en 2019, Apple a rendu la vie beaucoup plus facile aux développeurs de projets à petit budget ou individuels, comme moi. Vous pouvez simplement utiliser la commande de terminal de l’un des articles ci-dessus pour enregistrer des vidéos à partir du simulateur de périphérique souhaité. Et puis utilisez la nouvelle fonctionnalité d'aperçu de l'application d'iMovie.

xcrun /Applications/Xcode.app/Contents/Developer/usr/bin/simctl io booted recordVideo pro3new.mov

iMovie -> Fichier -> Aperçu de la nouvelle application

1
William Tong

J'avais la meilleure chance de créer des films de démonstration de haute qualité sur l'App Store pour IOS à l'aide de ScreenFlow. Je suis passé à la version 5 pour pouvoir enregistrer directement sur l'appareil et j'ai un MacBook Air 2. Mais j'ai d'abord pensé essayer d'utiliser la méthode de capture QuickTime et éventuellement de l'éditer avec iMove. Il s'avère que le flux d'écran est imbattable si vous voulez montrer le doigt de l'utilisateur qui bouge sur la surface et clique sur un élément (il peut ajouter du son, des impulsions radar, etc.). Pour mes applications, cela était très important et il était essentiel de créer les transitions et les modifications nécessaires. ces effets, au lieu d'exécuter l'application dans le simulateur et de laisser ScreenFlow utiliser les mouvements de curseur, étaient infiniment plus de travail et j'ai abandonné rapidement.

Je rencontre maintenant un grand succès avec les applications pour iPad et iPhone, notamment pour plus de 6 applications. J'ai un nouvel iMac 5K, donc je peux tout simuler, mais toutes mes applications pour iPad que j'exporte à partir d'un flux d'écran à 1200x900; Je viens de créer des applications iPhone à 1080x1920 et je rencontrais un problème réel: le message "Votre aperçu vidéo de l'application ne pouvait pas être enregistré. Essayez à nouveau. Si le problème persiste, contactez-nous.". J'ai trouvé une bonne explication à ce sujet ici http://blog.eumlab.com/app-video-preview/ mais je n'ai pas aimé l'utilisation de l'encodeur Adobe Creative Cloud Media Media, même si libre. Ainsi, après avoir lu les messages sur ce fil, j'ai importé mon film 5 flux mp4 à l'écran qui semblait répondre exactement aux spécifications requises (rappelez-vous que le magasin ne rejetait pas mon film, il ne pouvait tout simplement pas l'enregistrer); créé un nouveau projet "film d'aperçu d'application"; copié mon clip dans le projet "film d'aperçu d'application", puis exporté le "nouveau" film à l'aide des préréglages intégrés et a) mon fichier mp4 de 29 secondes et 5 Mo est devenu un fichier de 28 Mo; mais b) il a importé la première fois et fonctionne bien. Même résolution, même cadence d'images, même encodage audio, même encodage vidéo - mais maintenant, l'App Store aime le fichier (maintenant gonflé) et j'ai les effets de curseur. [Je n'avais jamais utilisé iMovie auparavant.] Vous pouvez voir ces vidéos sur youtube ou dans le magasin. Voir, par exemple, une vidéo pour iPad de la version française d'une application d'apprentissage en ligne à l'adresse suivante: http://youtu.be/L0nBYeK4Pm4 ; Ensuite, une application pour iPad composée de 8 versions linguistiques différentes de l'interface utilisateur (internationalisée pour 8 langues différentes de la L1) est disponible: http://youtu.be/CjXkAvuBXyQ ; et une vidéo iPhone 6+ d'une version iPhone de la même application est ici: http://youtu.be/36kdLztvc_A . J'ajoute des films au fur et à mesure que j'ajoute des fichiers audio et d'autres mises à niveau iOS 7/8 à mes applications d'apprentissage Word (à l'origine pour m'aider à apprendre à lire les mots chinois) - ce qui semble être un excellent moyen pour les utilisateurs de savoir ce qu'ils achètent.

Mais bien sûr, si vous n'avez pas besoin d'afficher le "doigt" et les "clics", ou si vous avez déjà maîtrisé de tels effets dans iMovie ou dans d'autres, restez fidèle à ce que vous savez.

1
hangzhouharry

Vous pouvez combiner QuickTime Player + iMovie (gratuit)

D'abord, choisissez votre simulateur souhaité à partir de xcode et enregistrez l'écran à l'aide de QuickTime Player. Après cela, utilisez iMovie pour créer l’aperçu de l’application et enfin télécharger la vidéo avec le navigateur Safari.  **enter image description here** C'est simple... :) 

0
rafana

Malheureusement, l'application iOS Simulator ne prend pas en charge l'enregistrement de vidéos. La solution la plus simple consiste à utiliser Quicktime Player pour effectuer un enregistrement d'écran. Bien sûr, vous verrez la souris interagir avec ce qui n'est pas ce que vous voulez, mais je n'ai pas de meilleure option pour vous pour le moment.