无法将视频上传至iTunesConnect:您的应用程序视频预览的帧率过高。

31

我使用 OS X Yosemite 上的 QuickTime Player 制作了一个 App Store 预览视频。但是当我试图上传视频到 iTunesConnect 时,出现错误信息:

您的应用程序视频预览的帧速率过高。

我在 QuickTime Player 中找不到任何更改帧速率的选项。

我收到的错误消息

有人知道该怎么办吗?

12个回答

36

使用方便的工具ffmpeg可以轻松转换视频,它可以通过homebrew进行安装。

ffmpeg -r 30 -i 60fpsvideo.m4v -vcodec copy -acodec copy 30fpsvideo.avi

36
我需要使用:ffmpeg -i "InputMovie.mov" -r 30 "OutputMovie.mov"来进行视频转换。 - Chris Nolet
谢谢,@ChrisNolet。原始答案并没有起作用(视频仍然是60 fps)。请修复它。 - Nicolas Miari
很酷,刚刚提交了一次编辑。我不确定复制参数是否必要,但我还是保留了它们。添加了“-r 30”。 - Chris Nolet

18

这是对我有效的方法:

ffmpeg -i input.mov -qscale 0 -r 24 -y output_5.mov

-qscale 0确保长度不变,但帧速率从56左右(因为它是由我的iPhone6用QuickTime录制的)下降到了恰好24!!

然后成功地上传到了iTunes,耶!

2019年3月28日编辑:

还有这个选项,可以使用iMovie完成:使用iMovie创建应用程序预览


截至2018年,我使用了苹果推荐的捕获方法(https://developer.apple.com/support/app-previews/)并使用这些参数进行转换,最终使其正常工作。谢谢! - Nicolas Miari
从设备内部捕获,导入到照片并使用 ffmpeg 转换无法正常工作。仅从 Quicktime 捕获也不行(帧率错误)。 - Nicolas Miari
顺便提一下,在 iPhone8 Plus 上创建的视频预览不需要进行此转换。 - Larry Ricker

8

我刚做了我的第一部电影。遇到了很多问题-以下是避免这些问题的快速步骤:

  • 录制
  • 使用Quick Time Player进行录制>文件>新建电影录制
  • 使用iPhone 6/7 PLUS获取正确的尺寸
  • 使用红色录制按钮旁边的下拉菜单选择iPhone
  • 录制您的视频-最长30秒,但很容易剪辑
  • 在Quicktime中进行剪辑,使其少于30秒
  • 编辑/剪辑-拖动黄色边界的两端
  • 在Quicktime中分割和合并剪辑时出现问题-请使用iMovie
  • 另存为mp4或mov格式
  • iMOVIE-转换为应用预览
  • 使用iMovie获取正确的帧速率
  • 文件>新建应用预览
  • 导入从quicktime导出的电影文件
  • 将电影拖到时间轴上
  • 按空格键测试播放
  • 如果需要,请添加声音-谷歌“免版税声音”
  • 将wav拖入项目/拖入时间轴
  • 导出应用预览
  • 右上角的共享按钮
  • 选择应用预览(如果缺少,请检查上一个步骤,不要使用文件选项,帧速率和尺寸可能不正确)
  • 保存为mp4格式的文件
  • 使用Safari上传
  • 使用Safari上传到iTunes Connect-在Chrome中无法使用
  • 在您的应用程序版本的图片部分,选择文件,选择从imovie导出的mp4文件
  • 设置框架以在电影未播放时显示
  • 保存iTunes版本信息
  • 电影已上传
  • iTunes说“可能需要最多24小时”

在 iMovie 中我找不到“新的应用程序预览”菜单。为什么发布到应用商店如此困难? - Clyde
是的,它似乎并没有立即出现。我想我将mov和wav拖到时间线上,然后保存App预览保存选项。这不是第一次了。视频也需要在30秒以下。我认为尺寸也很重要。http://apple.stackexchange.com/questions/145336/apple-said-we-can-use-imovie-to-make-app-previews-but-i-cant-export-the-correc - brian.clear
Ffmpeg完成了任务。 - Clyde
在iMovie中,它是“文件”菜单选项下的第三个选项 - “新建应用预览”。 - Ryan

3
我按照以下步骤进行了操作:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

那么

brew install ffmpeg

然后使用以下命令:
/usr/local/Cellar/ffmpeg/3.1.3/bin/ffmpeg -i SpeechToText_usage.mov  -qscale 0 -r 24 -y speechtotext_framerate_changed.mov

它运作良好!


2
您可以在iMovie中轻松解决此问题(我使用的是10.1.10版本)。 1. 进入iMovie的主界面。 2. 文件 -> 新建应用预览。 3. 拖动您的视频到项目中。 4. 文件 -> 分享 -> 应用预览。

2
我发现,在QuickTime Player中无法编辑帧率。
最终我下载了Final Cut Pro的试用版本。在Final Cut Pro中只需要几个点击即可完成。

2
在Final Cut Pro中,说明那些“几个点击”会很有帮助。 - canhazbits
帧率是什么?在Adobe Acrobat中,它列出了29.97 fps和一个Drop frame。这正确吗? - Praxiteles

2

对于Quicktime视频用户,可以使用以下命令,对我来说很有效:

ffmpeg -i demo_app.mov -qscale 0 -r 24 -y -vf scale=1080:1920,setsar=1:1 app_preview.mov

1
这将一个视频重新缩放到所有所需的帧速率和尺寸,以匹配 App Store Connect 的要求:
IN=IMG_3518.TRIM.MOV
ffmpeg -i $IN -s 1080x1920 -r 30 5.5.mov
ffmpeg -I $IN -s 886x1920 -r 30 6.5.mov
ffmpeg -I $IN -s 1200x1600 -r 30 ipp3.mov

不要使用这个。你应该在实际不同设备上运行所有视频。否则你的账户将被禁止,你的房子会着火,你的猫会死。


1

使用以下命令行来播放Quicktime视频:

ffmpeg -r 30 -i 60fpsvideo.m4v 30fpsvideo.avi

0
我将这个脚本编写成了一个Bash脚本,用于转换一堆文件。如果您希望删除原始文件,可以将“rm $file”添加到脚本中,但是除非您确切知道自己在做什么并且对所涉及的风险负全部责任,否则不要这样做。我的文件名约定中列出了30秒以指定视频长度。如果您的文件名约定不同,您需要相应地进行调整。
#!/bin/bash
for file in `ls *s.mov`
do
newFileName=`echo $file | sed s/s.mov/s_r24.mov/`
# echo $file  $newFileName
if [ -e $newFileName ]; then
echo $newFileName "exists"
else
echo ""
# echo $newFileName "does not exist"
ffmpeg -i $file  -qscale 0 -r 24 -y $newFileName
fi
done

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