捕获iOS模拟器视频以进行应用预览

499

好的,现在我们可以在App Store上提交应用程序的视频预览。根据苹果的说法,我们应该使用iOS8设备和OSX 10.10这一版本进行提交。问题是你需要有不同的设备(4英寸、4.7英寸、5.5英寸和iPad)。

有没有其他替代方法?

我考虑捕获模拟器的视频。但问题是当以100%的分辨率显示时,设备屏幕比我的FullHD显示器更大。有没有办法可以从模拟器中以完整分辨率直接捕获视频的解决方案?

编辑:由于很多人回答了我没有问的问题,请允许我说一下: - 录制一个设备大小并进行缩放不是我要问的; - 如何记录任何应用程序预览不是我要问的; - 你如何做你的预览不是我要问的;

我要问的是如果它无法适应屏幕,是否可以从模拟器中以100%的分辨率录制视频?


幸运的是,最近Xcode使这变得容易了。请参见@atalayasa的此回答 - Eric
3
使用Xcode 12,只需在模拟器中按下cmd + R即可录制屏幕。按下cmd + S可进行截屏。 - Mikkel Cortnum
25个回答

21

这是我发现的最简单的方法,你只需要一部iPhone和iPad:

使用QuickTime Player记录设备屏幕:

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

打开iMovie

  • 选择文件->新应用预览
  • 从您的应用程序中拖动具有最大分辨率的图像例如一个1920 x 1080的截图到项目中。(即使您使用iPhone 5进行了录制,这也会使视频变为1920 x 1080)
  • 将您录制的电影拖动到项目中。
  • 通过选择文件->共享->应用预览来保存

现在可以同时使用所有设备或:

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

并调整高清晰度视频大小:

  • 将高清晰度视频拖到Handbrake中
  • 选择“图片设置”图标
  • 调整到正确的大小-关闭并按“开始”图标-保存到桌面

21

根据苹果模拟器用户指南中的使用命令行拍摄截图或录制视频段落

您可以使用 xcrun 命令行工具对模拟器窗口进行屏幕截图或录制视频。


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

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

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


如果您想将视频文件保存在桌面文件夹中,请使用以下命令:

xcrun simctl io booted recordVideo ~/Desktop/<filename>.<extension>
停止录制,请在终端中按Control-C

8
我的视频总是出现损坏的情况。观看时,视频会变成绿色并且出现像素化的问题。上一次,iMovie 导出失败了。 - toast

6

在 Xcode 12 中,只需在模拟器中按下 cmd + R 即可录制屏幕。按下 cmd + S 可以截取屏幕截图。


1
这是2021年的答案。该选项也可以在菜单中找到,路径为 文件 > 录制屏幕。 - Steven Benitez

5
截至2019年,苹果已经为像我这样的低预算或个人项目开发者提供了更简单的生活。您只需使用上述帖子中的终端命令来记录所需设备模拟器的视频,然后使用iMovie的新应用程序预览功能即可。请保留HTML标记。
xcrun /Applications/Xcode.app/Contents/Developer/usr/bin/simctl io booted recordVideo pro3new.mov

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


5

从Xcode 9开始,您可以使用simctl二进制文件进行截图或录制视频,您可以在此处找到它:

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

您可以使用xcrun命令行工具来控制模拟器。
  1. For taking screenshot run this in command line:

    xcrun simctl io booted screenshot
    
  2. For recording video on the simulator using command line:

    xcrun simctl io booted recordVideo fileName.videoType(e.g mp4/mov)
    
注意:您可以在任何目录中使用此命令。文件将保存在该目录中。

3
这里提供一种不需要花费$300(FinalCut Pro),但需要使用ScreenFlow (AppStore内的ScreenFlow应用)($100)的解决方案:
  • 将您的设备连接到运行Yosemite操作系统的Mac电脑上
  • 启动Quicktime并选择“文件/新建电影录制”
  • 启动ScreenFlow并捕捉视频
  • 在ScreenFlow中编辑您的视频(添加文字、音乐等)
  • 裁剪视频,使其仅包含设备屏幕
  • 按照苹果所需的大小导出视频(例如,1334x750)

我认为这是在没有所有设备的情况下记录应用程序预览的唯一解决方案,但可惜的是,苹果没有像截图一样直接从模拟器中捕获视频,这让人感到遗憾。 - Macistador
不确定是否适用于使用ScreenFlow捕获的电影,但我导入了一个客户录制的1330x750像素的电影,大小仅为9MB。他们使用Quicktime进行录制,但成功将帧速率提高到了最大允许的30fps的60fps。我使用ScreenFlow重新导出后,文件大小瞬间飙升至600MB!然后,我将原始文件放在Yosemite机器上,并按照苹果的说明https://developer.apple.com/app-store/app-previews/imovie/Creating-App-Previews-with-iMovie.pdf 导出预览,现在大小为14MB。我不知道为什么一个起始大小为9MB的电影以一半的帧速率最终变成了比原来大50%的文件。 - Andy Dent

3

对我来说很有效,这个工具还可以添加配乐或旁白。 - Rob van den Berg

3
一个针对喜欢使用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博客文章中的方法,可在此处找到。


注意:如果您不想预先指定扩展名,请将“xcrun”行中的引号部分更改为"$1"-然后在命令行上指定整个文件名:recsim appPreview.mp4 - leanne

2
我为此创建了RocketSim。它带有一个用户界面来启动录制,并将录制转换为适用于应用预览的正确格式要求。
您可以简单地将录制拖入App Store Connect中,它就可以正常工作。这里可以找到一个示例here

2
对于(tvOS,AppleTV)的 Apple TV 模拟器,您应该添加--display=external参数。我使用此选项将其保存到桌面:
xcrun simctl io booted recordVideo --display=external --codec=h264 --force ~/Desktop/SimulatorVideo.mov

--force 参数表示如果文件已存在就覆盖重写
--codec 参数可以提高帧率。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接