现在我们可以向App Store提交应用的视频预览。根据苹果公司的说法,我们应该在iOS8设备和OSX 10.10设备上这样做。问题是你必须拥有所有不同的设备(4英寸、4.7英寸、5.5英寸和iPad)。
还有别的选择吗?
我想拍一段模拟器的视频。问题是,当以100%分辨率显示时,设备屏幕比我的全高清显示器还大。任何解决方案,可以捕捉视频从模拟器的全分辨率?
编辑:
因为很多人都在回答我没有问的问题让我说
记录一个设备大小并缩放它不是我要求的
我问的不是如何录制应用预览
-我问的不是你怎么做预告片;
我想问的是,如果模拟器无法在屏幕上显示,你能否以100%分辨率录制视频?
你应该在优胜美地使用QuickTime连接并记录你的iOS设备的屏幕。
iPhone的肖像
录制完成后,可以使用iMovie编辑视频。当你在制作iPhone人像应用预览时,分辨率必须是1080x1920,但iMovie只能在16:9 (1920x1080)导出。
一种解决方案是导入分辨率为1080x1920的录制视频,并将其旋转90度。然后以1920x1080的尺寸导出电影,并使用ffmpeg和以下命令将导出的视频向后旋转90度
ffmpeg -i Landscape.mp4 -vf "transpose=1" Portrait.mp4
iPad
iPad稍微复杂一点,因为它需要1200x900(4:3)的分辨率,但iMovie只能导出16:9的分辨率。
这是我所做的。
在iPad Air上录制电影(1200x900, 4:3)
导入到iMovie,导出为1920x1080,16:9 (iPadLandscape16_9-1920x1080.mp4)
将左右黑条移至1440x1080的视频。一杆的宽度为240
ffmpeg -i ipad庭园16_9-1920x1080.mp4 -filter:v "crop=1440:1080:240:0" -c:一个拷贝ipad庭园4_3-1440x1080.mp4
缩小电影到1220x900
ffmpeg -i ipad庭园4_3-1440x1080.mp4 -filter:v scale=1200:-1: -c:a copy ipad庭园4_3-1200x900.mp4
摘自我在苹果开发者论坛上的回答
您可以使用以下工具免费完成此工作。你至少需要一台真正的设备(我用的是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
苹果建议在实际设备上这样做,并提供了如何在iOS和OS X上使用QuickTime和iMovie来做到这一点的指南:
https://developer.apple.com/app-store/app-previews/imovie/Creating-App-Previews-with-iMovie.pdf
简介:
捕捉屏幕录音与QuickTime播放器
使用Lightning电缆将iOS设备连接到Mac。
打开QuickTime播放器。
选择“文件>新电影录制”。
在出现的窗口中,选择您的iOS设备作为摄像头和麦克风输入源。
用iMovie创建应用预览
导入屏幕录音
接下来,将用QuickTime Player捕获的屏幕记录文件导入iMovie。
在iMovie:
选择“文件>导入媒体”。
在出现的窗口中,选择屏幕录制文件。
创建一个应用预览项目
要开始一个新的应用程序预览项目,选择文件>新应用程序预览。时间轴将出现,您可以在其中添加和安排剪辑来创建预览。
我也面临着同样的问题。它有一个非常简单的解决方案,对我来说很管用。只需遵循以下步骤:
1.在iMovie中制作一个预览视频。
2.使用共享文件选项导出视频。选择1920x1080,因为它可以用于5S和6 +。
3.下载Appshow for Mac by techsmith (https://www.techsmith.com/techsmith-appshow.html)。它是专门为制作应用程序预览视频。但我不推荐它制作视频,而只是用于导出。
4.选择一个新的应用预览视频,并通过选择更少的帧来自定义它,你可以稍后删除。
5.将iMovie视频导入这个模板。在右上角,你可以选择任何你想要的分辨率,appshow有应用程序预览所需的所有分辨率。
6.最后,只需选择设备并导出所选分辨率的视频。
使用xcrun simctl:
xxrun simctl IO启动截图<filename>。<文件扩展名>
使用屏幕截图:
使用cmd + shift + 5并调整选择的大小,以便记录模拟器。
使用QuickTime播放器:
您可以使用QuickTime Player录制屏幕。
打开QuickTime播放器
从菜单中选择File
选择新屏幕录制
现在在屏幕录制窗口中,单击录制按钮。
它将为您提供一个选项来记录整个屏幕或屏幕的选定部分。
您必须对模拟器进行选择,以便只记录模拟器部分。
这是我发现的最简单的方法,你只需要一个iPhone和iPad:
使用QuickTime播放器记录设备屏幕:
连接您的设备。
打开QuickTime播放器。
选择文件>新建电影录制(CMD + alt + N)
在出现的窗口中,选择您的iOS设备作为最大分辨率的相机。
保存视频文件(CMD + S)
开放的iMovie
选择文件->新应用预览
从你的应用程序拖一个最大分辨率的图像,例如1920 x 1080的截图到项目。(即使你用iPhone 5录制视频,它也会使视频的尺寸变成1920 x 1080)
将您录制的电影拖到项目中。
选择“文件->共享->应用预览”保存
现在对你所有的设备都这样做,或者:
下载手刹:https://handbrake.fr/downloads.php
并调整高分辨率视频的大小:
拖动您的高分辨率视频到手刹
选择“图片设置”图标
调整大小到正确的大小-关闭并按“开始”图标-保存到桌面
对于Xcode 8.2或更高版本
您可以使用xcrun simctl(一个命令行实用程序来控制模拟器)拍摄模拟器的视频和屏幕截图
在模拟器上运行应用程序
打开终端
执行命令
截图
xxrun simctl IO启动截图<filename>。<文件扩展名>
例如:
xrun simctl io启动截图myScreenshot.png
拍一段视频
xrun simctl io boot recordVideo <filename>. txt<文件扩展名>
例如:
xrun simctl io启动recordVideo appVideo.mov
按“ctrl + C”停止录像。
所创建文件的默认位置是当前目录。
Xcode 11.2及以后版本提供了额外的选项。
来自Xcode 11.2 Beta版本说明
simctl视频记录现在产生更小的视频文件,支持HEIC
压缩,并利用硬件编码支持的地方
可用。此外,可以在iOS 13上录制视频,tvOS
13, watchOS 6设备已恢复。
你可以使用额外的标志:
xcrun simctl io --help
Set up a device IO operation.
Usage: simctl io <device> <operation> <arguments>
...
recordVideo [--codec=<codec>] [--display=<display>] [--mask=<policy>] [--force] <file or url>
Records the display to a QuickTime movie at the specified file or url.
--codec Specifies the codec type: "h264" or "hevc". Default is "hevc".
--display iOS: supports "internal" or "external". Default is "internal".
tvOS: supports only "external"
watchOS: supports only "internal"
--mask For non-rectangular displays, handle the mask by policy:
ignored: The mask is ignored and the unmasked framebuffer is saved.
alpha: Not supported, but retained for compatibility; the mask is rendered black.
black: The mask is rendered black.
--force Force the output file to be written to, even if the file already exists.
screenshot [--type=<type>] [--display=<display>] [--mask=<policy>] <file or url>
Saves a screenshot as a PNG to the specified file or url(use "-" for stdout).
--type Can be "png", "tiff", "bmp", "gif", "jpeg". Default is png.
--display iOS: supports "internal" or "external". Default is "internal".
tvOS: supports only "external"
watchOS: supports only "internal"
You may also specify a port by UUID
--mask For non-rectangular displays, handle the mask by policy:
ignored: The mask is ignored and the unmasked framebuffer is saved.
alpha: The mask is used as premultiplied alpha.
black: The mask is rendered black.
现在你可以在jpeg中截图,带掩码(用于非矩形显示)和一些其他标志:
xrun simctl IO启动截图——type=jpeg——mask=黑色截图
苹果模拟器用户指南在“使用命令行截图或录制视频”段落中写道:
您可以使用xcrun命令行实用程序截取屏幕截图或录制模拟器窗口的视频。
要录制视频,请使用终端中的recordVideo操作:
xcrun simctl io booted recordVideo <filename>.<extension>
注意,该文件将在终端的当前目录中创建。
如果你想将视频文件保存在你的桌面文件夹中,使用以下命令:
xcrun simctl io booted recordVideo ~/Desktop/<filename>.<extension>
要停止录制,请在终端中按Control-C。
Taking a Screenshot or Recording a Video Using the Command Line
You can take a screenshot or record a video of the simulator window using the xcrun command-line utility.
Launch your app in Simulator.
Launch Terminal (located in /Applications/Utilities), and enter the appropriate command:
To take a screenshot, use the screenshot operation:
xcrun simctl io booted screenshot
You can specify an optional filename at the end of the command.
To record a video, use the recordVideo operation:
xcrun simctl io booted recordVideo <filename>.<extension>
To stop recording, press Control-C in Terminal.
Note: You must specify a filename for recordVideo.
The default location for the created file is the current directory.
For more information on simctl, run this command in Terminal:
xcrun simctl help
For more information on the io subcommand of simctl, run this command:
xcrun simctl io help
来自Apple文档。
从Xcode 9和以上,你可以截图或录制视频使用simctl二进制,你可以在这里找到它:
/Applications/Xcode.app/Contents/Developer/usr/bin/simctl
您可以将它与xcrun一起使用,在命令行中命令模拟器。
在命令行中运行截图:
xrun simctl IO启动截图
使用命令行在模拟器上录制视频:
xrun simctl io启动recordVideo文件名。g mp4 / mov)
注意:您可以在您选择的任何目录中使用此命令。该文件将保存在该目录中。