为App Preview捕获iOS模拟器视频

时间:2014-09-11 22:30:29

标签: ios ios-simulator ios8 video-capture screen-capture

好的,我们现在可以在App Store上提交我们应用的视频预览。根据Apple的说法,我们应该使用iOS8设备和 OSX 10.10. 问题是你必须拥有所有不同的设备(4",4.7",5.5&# 34;和iPad)。

有替代方案吗?

我正在考虑捕捉模拟器的视频。问题是当以100%分辨率显示时,设备屏幕比我的 FullHD 显示器大。任何能够以全分辨率直接从模拟器捕获视频的解决方案?

编辑: 由于很多人都在回答问题,我不是要求让我说:   - 录制一个设备尺寸并缩放它并不是我所要求的;   - 如何记录任何应用预览并不是我所要求的; - 你如何进行预览并不是我所要求的;

要求如果它不适合屏幕,你能以100%的分辨率录制模拟器中的视频吗?

25 个答案:

答案 0 :(得分:531)

对于Xcode 8.2或更高版本

  

您可以使用xcrun Xcode拍摄模拟器的视频和屏幕截图   命令行实用程序。

  1. 在模拟器上运行您的应用。
  2. 打开Terminal.app
  3. 运行命令

    • 截取屏幕截图xcrun simctl io booted screenshot <filename>.<file extension>
    • 观看视频xcrun simctl io booted recordVideo <filename>.<file extension>
  4. 例如屏幕截图:xcrun simctl io booted screenshot myScreenshot.png
    例如视频:xcrun simctl io booted recordVideo appVideo.mov

    1. ctrl + c停止录制视频。
    2.   

      创建文件的默认位置是当前目录。

答案 1 :(得分:162)

您可以使用QuickTime Player录制屏幕。

  • 打开QuickTime Player
  • 从菜单
  • 中选择File
  • 选择New Screen recording

现在,从Screen Recording窗口,点击记录按钮。

它将为您提供录制整个屏幕或屏幕选择部分的选项。

您必须选择模拟器,以便仅记录模拟器部分。

答案 2 :(得分:66)

Apple建议在实际设备上执行此操作,并在iOS和OS X上使用QuickTime和iMovie提供有关如何执行此操作的指南: https://developer.apple.com/app-store/app-previews/imovie/Creating-App-Previews-with-iMovie.pdf

摘要:

使用QuickTime播放器捕获屏幕录制

  1. 使用Lightning电缆将iOS设备连接到Mac。
  2. 打开QuickTime播放器。
  3. 选择文件&gt;新电影录制。
  4. 在出现的窗口中,选择您的iOS设备作为相机和麦克风 输入源。
  5. 使用iMovie创建应用预览

    导入屏幕录制

    接下来,将使用QuickTime Player捕获的屏幕录制文件导入iMovie。 在iMovie中:

    1. 选择文件&gt;导入媒体。
    2. 在出现的窗口中,选择屏幕录制文件。
    3. 创建应用预览项目

      要启动新的应用预览项目,请选择文件&gt;新的App预览。时间线出现在哪里 您可以添加和排列剪辑以创建预览。

答案 3 :(得分:53)

我真的很惊讶没有人提供我的答案。这就是你所做的(如果你有至少一个合格的设备,这将有效):

  1. 使用您拥有的设备录制,编辑和完成App Preview。
  2. 导出为文件。
  3. 转到您的模拟器并在每个不同尺寸的iPhone上打印1张照片。
  4. 在iMovie中创建新的App预览。
  5. 首先插入所需大小的屏幕截图,然后添加您已经制作的应用预览文件。
  6. 使用共享导出 - &gt;应用预览
  7. 对新尺寸重复步骤4到6。
  8. 您应该能够以所需的分辨率获得应用预览。

答案 4 :(得分:30)

您应该使用QuickTime in Yosemite来连接和录制iOS设备的屏幕。

iPhone Portrait

完成录制后,您可以使用iMovie编辑视频。当您处理iPhone Portrait App预览时,分辨率必须为1080x1920,但iMovie只能导出16:91920x1080)。

一种解决方案是以分辨率1080x1920导入录制的视频并将其旋转90度。然后在1920x1080导出影片,并使用ffmpeg和以下命令将导出的视频旋转90度

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

ipad公司

iPad有点棘手,因为它需要1200x9004:3)的分辨率,但iMovie只会导出16:9

这就是我所做的。

  1. 在横向的iPad Air上录制电影(1200x9004:3
  2. 导入iMovie并导出为1920x108016:9iPadLandscape16_9-1920x1080.mp4
  3. 删除左右黑条到1440x1080的视频。一个条的宽度为240

    ffmpeg -i iPadLandscape16_9-1920x1080.mp4 -filter:v "crop=1440:1080:240:0" -c:a copy iPadLandscape4_3-1440x1080.mp4
    
  4. 将电影缩小为1220x900

    ffmpeg -i iPadLandscape4_3-1440x1080.mp4 -filter:v scale=1200:-1 -c:a copy iPadLandscape4_3-1200x900.mp4
    
  5. 取自Apple Developer Forum

    的答案

答案 5 :(得分:23)

使用新版本的 Xcode 12.5,您可以使用 ⌘ + R 简单地记录模拟器屏幕。详情请访问here

答案 6 :(得分:23)

  

使用命令行截取屏幕截图或录制视频

     

您可以使用xcrun命令行实用程序截取屏幕截图或录制模拟器窗口的视频。

     
      
  1. 在模拟器中启动您的应用。

  2.   
  3. 启动终端(位于/Applications/Utilities),并输入相应的命令:

         
        
    • 要截取屏幕截图,请使用screenshot操作:

      xcrun simctl io booted screenshot
      
           

      您可以在命令末尾指定可选文件名。

    •   
    • 要录制视频,请使用recordVideo操作:

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

      要停止录制,请按终端中的Control-C。

           
          

      注意:您必须为recordVideo指定文件名。

        
    •   
         

    创建文件的默认位置是当前目录。

         

    有关simctl的更多信息,请在终端中运行此命令:

    xcrun simctl help
    
         

    有关io simctl子命令的更多信息,请运行以下命令:

    xcrun simctl io help
    
  4.   

来自Apple Documentation

答案 7 :(得分:20)

您可以使用以下工具免费执行此操作。您将需要至少一个真实设备(我使用的是iPhone 5)

使用简单但优秀的appshow捕获视频(请注意,这是一个非常简单的工具,但它很容易学习)。这将以本机设备分辨率(640x1136)导出。

使用ffmpeg调整大小。由于四舍五入,你可以直接在分辨率之间,但你必须超大然后裁剪。

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

对于ipad,您可以裁剪然后添加信箱。但是,像这样裁剪通常不会产生一个看起来与你的应用程序在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

答案 8 :(得分:18)

这是我发现最容易的方式,你只需要一部iPhone和iPad:

使用QuickTime Player记录设备屏幕:

  • 连接您的设备。
  • 打开QuickTime播放器。
  • 选择文件&gt;新电影录制(CMD + alt + N)
  • 在出现的窗口中,选择您的iOS设备作为具有最高分辨率的相机。
  • 保存视频文件(CMD + S)

打开iMovie

  • 选择文件 - &gt;新应用预览
  • 使用最大分辨率从应用中拖动图片。该项目的1920 x 1080截图。 (即使您使用iPhone 5录制,这也会使视频成为1920 x 1080)
  • 将录制的电影拖动到项目中。
  • 选择文件保存 - &gt;分享 - &gt;应用预览

现在对所有设备执行此操作或:

下载Handbreak:https://handbrake.fr/downloads.php

调整高分辨率视频的大小:

  • 将您的高分辨率视频拖至手势
  • 选择“图片设置”图标
  • 调整大小正确 - 关闭并按“开始”图标 - 保存到桌面

答案 9 :(得分:14)

Apple的模拟器用户指南在Taking a Screenshot or Recording a Video Using the Command Line paragraph中说明:

  

您可以使用xcrun命令行实用程序截取屏幕截图或录制模拟器窗口的视频。

要录制视频,请使用终端中的recordVideo操作:

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

请注意,该文件将在终端的当前目录中创建。

如果要将视频文件保存在Desktop文件夹中,请使用以下命令:

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

要停止录制,请在终端中按Control-C

答案 10 :(得分:10)

在macOS Mojave中,您可以通过屏幕截图实用程序记录屏幕的一部分。

  1. 按Shift-Command(⌘)-5,将弹出一个控制面板。
  2. 选择enter image description here
  3. 选择要记录的屏幕部分-这将是iPhone模拟器。
  4. 单击enter image description here停止录制。
  5. 缩略图将出现在屏幕的右下角。您可以在保存之前对其进行编辑。

如果要可视化鼠标单击,请在步骤1之后选择 Options 控件并启用 Show Mouse Clicks

答案 11 :(得分:4)

从Xcode 9开始,您可以拍摄屏幕快照或使用simctl二进制文件录制视频,您可以在此处找到它:

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

您可以将其与xcrun一起使用,以在命令行中命令模拟器。

  1. 要获取屏幕截图,请在命令行中运行此命令:

    xcrun simctl io booted screenshot
    
  2. 要使用命令行在模拟器上录制视频:

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

注意:可以在您选择的任何目录中使用此命令。该文件将保存在该目录中。

答案 12 :(得分:3)

我找到的最好的工具是Appshow。访问http://www.techsmith.com/techsmith-appshow.html(我不适合他们)

答案 13 :(得分:3)

这是一个有效且不花费300美元(FinalCut Pro)的解决方案,但它确实需要ScreenFlow(ScreenFlow app in AppStore)($ 100):

  • 将您的设备连接到运行Yosemite的Mac
  • 启动Quicktime并选择文件/新影片录制
  • 启动ScreenFlow并捕获您的视频
  • 在ScreenFlow中编辑视频(添加文字,音乐等)
  • 裁剪视频以使其仅包含设备屏幕
  • 导出Apple所需尺寸的视频(例如,1334x750)

答案 14 :(得分:2)

给喜欢使用ZSH功能的用户的提示。您可以通过添加一个功能与@Tikhonov Alexander的答案相同的函数来简化一些事情。

首先输入:

edit ~/.zshrc

进入您的终端。

然后在文件的某个位置添加此功能。

function recsim() {
    echo -n "Use CTRL+C to stop recording";
    xcrun simctl io booted recordVideo --codec=h264 --mask=black "$1.mp4";
}

要使用,请输入以下内容:

recsim appPreview

进入您的终端窗口。注意:添加功能后必须重新启动终端。

此功能改编自Antoine Van Der Lee在bash中如何执行此操作的博客文章,可以在here.

中找到

答案 15 :(得分:1)

出于这个原因,我创建了 RocketSim。它带有一个用户界面,用于开始录制并将录制内容转换为应用预览所需的正确格式。

您只需将录音拖到 App Store Connect 中,它就可以正常工作。可以在 here 中找到一个示例。

答案 16 :(得分:1)

截至2019年的今天,对于像我这样的低预算或单人项目开发人员来说,苹果让生活变得更加轻松。 您可以只使用上述任一帖子中的terminal命令从所需的设备模拟器中录制视频。然后使用iMovie的“新应用预览”功能。

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

iMovie->文件->新应用预览

答案 17 :(得分:1)

在我的MBP设置&gt;显示&gt;显示,我看到'分辨率:默认显示/缩放'的设置。我把它设置为'更多空间',然后尝试各种模拟器,所有这些模拟器似乎都适合放大屏幕100%。我怀疑这不适用于你的FullHD屏幕......

另一种方法是尝试在模拟器上安装某种VNC服务器解决方案,如https://github.com/wingify/vnc,并用VNC录像机录制 - 我相信那里有一台Python VNC录像机。

答案 18 :(得分:1)

我遇到了同样的问题。它有一个非常简单的解决方案,对我有用。只需按照以下步骤操作:

1.在iMovie中制作预览视频。

2.使用共享文件选项导出视频。选择1920x1080,因为它可以用于5S和6 +。

3.由techsmith(https://www.techsmith.com/techsmith-appshow.html下载适用于Mac的Appshow。)它专门用于制作应用预览视频。但我不推荐它制作视频,而只是出口。

4.选择一个新的App Preview视频并通过选择较少的帧进行自定义,以后可以删除。

5.将iMovie视频导入此模板。在右上角,您可以选择所需的任何分辨率,appshow具有应用预览所需的所有分辨率。

6.最后,只需选择设备并以所选分辨率导出视频。

答案 19 :(得分:1)

我有幸使用ScreenFlow为IOS制作高质量的应用商店演示电影。我升级到5,所以我可以直接录制设备,并获得了MacBook Air 2.但我首先想到的是我尝试使用QuickTime捕获方法,并且可能使用iMove进行编辑。结果屏幕流是无与伦比的,如果你想要显示用户的手指在表面上移动并点击事物(他们可以添加声音,雷达脉冲等)。对于我的应用程序,这非常重要并创建必要的过渡和编辑以实现这些效果,而不是在模拟器中运行应用程序,让ScreenFlow使用光标运动,是无限多的工作,我很快就放弃了。

我现在已经在iPad和iPhone应用程序上取得了巨大成功,包括6个以上的应用程序。我有一个新的5K iMac所以可以模拟一切,但我所有的iPad应用程序我从屏幕流程输出1200x900;我刚刚在1080x1920制作了iPhone应用程序并遇到了一个真正的问题 - 我一直收到消息&#34;您的应用视频预览无法保存。再试一次。如果问题仍然存在,请与我们联系。&#34;。我在http://blog.eumlab.com/app-video-preview/找到了一个很好的解释,但不喜欢&#34;使用adobe创意云媒体编码器&#34 ;解决它,即使是免费的。所以在阅读了这个帖子的帖子后,我导入了我的屏幕流程5 mp4电影,这似乎符合所需的确切规格(记住商店没有拒绝我的电影,它只是永远不能保存它);创建了一个新的应用预览电影&#34;项目;将我的剪辑复制到&#34; app预览电影&#34;项目,然后导出&#34;新&#34;使用内置预设的电影和a)我的29秒5 MB mp4文件成为28 MB文件;但b)它第一次进口并且工作正常。相同的分辨率,相同的帧速率,相同的音频编码,相同的视频编码 - 但现在App Store喜欢(现在臃肿)文件,我有我的光标效果。 [之前我从未使用过iMovie。]您可以在youtube或商店中看到这些视频。例如,查看法语版单词学习应用程序的iPad视频位于http://youtu.be/L0nBYeK4Pm4;然后是一个iPad应用程序,它是该应用程序的8种不同UI语言版本(针对8种不同的用户L1语言进行了国际化)的多重切割:http://youtu.be/CjXkAvuBXyQ;和同一应用程序的iPhone版iPhone 6+视频在这里:http://youtu.be/36kdLztvc_A。我正在添加电影,因为我将声音文件和其他iOS 7/8升级添加到我的单词学习应用程序(最初是为了帮助我学习阅读中文单词) - 这似乎是让人们知道他们正在购买的东西的好方法。

但是,当然,如果你不需要展示&#34;手指&#34;和#34;点击&#34;,或已经在iMovie或其他人中掌握了这些效果,坚持你所知道的。

答案 20 :(得分:1)

您可以使用QuickTime屏幕录制和iOS模拟器进行视频录制。这里的棘手问题是获得正确的大小,以便iMovie可以在您导出AppPreview时检测输出分辨率。我还没有找到在iMovie中选择输出res的方法,所以如果必须通过您正在使用的媒体格式检测到。它可能需要你几次尝试,但它是可行的。它是其中之一:我有300美元的FinalCut Pro或者我有一个小时左右的时间吗?您只需要如上所述的三个录音。我实际上可以在设备上做两个,因为我有它们但我没有iPhone 6(还有...... :))。我也喜欢模拟器,因为你可以使用像SimFinger这样的东西来模拟手势和按下按钮。

祝你好运!

答案 21 :(得分:0)

不幸的是,iOS模拟器应用不支持保存视频。最简单的方法是使用Quicktime Player进行屏幕录制。当然,你会看到鼠标与它进行交互并不是你想要的,但我现在没有更好的选择。

答案 22 :(得分:0)

对于 Apple TV Simulator (tvOS,AppleTV),您应该添加--display=external参数。我用它保存到桌面:

xcrun simctl io booted recordVideo --display=external --codec=h264 --force ~/Desktop/SimulatorVideo.mov

--force以重写是否存在文件
--codec以获得更高的帧率

答案 23 :(得分:0)

使用 Xcode 12 只需在模拟器中按 cmd + R 即可录制屏幕。 cmd + S 截图。

答案 24 :(得分:-1)

您可以结合使用 QuickTime Player + iMovie(免费)

首先,从xcode中选择所需的模拟器,然后使用QuickTime Player录制屏幕。之后,使用iMovie进行应用预览,最后使用Safari浏览器上传视频。**enter image description here**很简单... :)