我在 OS X Yosemite 上使用 QuickTime 播放器制作了一个 App Store 预览视频。
当我尝试将视频上传到 iTunesConnect 时,收到一条错误消息:
您的应用视频预览的帧速率太高。
我在 QuickTime Player 中看不到任何用于更改帧速率的选项。
有人知道该怎么办吗?
可以使用 ffmpeg 轻松转换视频,这是一个可以使用 homebrew 安装的便捷工具。
ffmpeg -r 30 -i 60fpsvideo.m4v -vcodec copy -acodec copy 30fpsvideo.avi
这对我有用:
ffmpeg -i input.mov -qscale 0 -r 24 -y output_5.mov
-qscale 0 确保长度保持不变,但帧速率从 56 左右(因为它是通过 QuickTime 从我的 iPhone6 记录的)下降到恰好 24 !!
然后成功上传到iTunes,耶!
2019 年 3 月 28 日 编辑:
还有一个选项可以仅使用 iMovie 执行此操作: 使用 iMovie 创建应用程序预览
刚刚拍了我的第一部电影。遇到很多障碍 - 以下是避免它们的快速步骤:
我已按照以下步骤操作:
/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
效果很好!
我发现无法在 QuickTime Player 中编辑帧速率。
我最终下载了Final Cut Pro的试用版。在 Final Cut Pro 中只需点击几下即可。
对于 Quicktime 视频用户,此命令对我来说效果很好:
ffmpeg -i demo_app.mov -qscale 0 -r 24 -y -vf scale=1080:1920,setsar=1:1 app_preview.mov
您可以在 iMovie 中轻松修复它(我使用的是 10.1.10)。
1. 进入 iMovie 主屏幕。
2. 文件 -> 新应用程序预览。
3. 将您的电影拖到项目中。
4. 文件 -> 共享 -> 应用程序预览。
对于 Quicktime 视频,请使用此命令行:
ffmpeg -r 30 -i 60fpsvideo.m4v 30fpsvideo.avi
这会将一个视频重新调整为所有所需的帧速率和大小,以满足 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
不要使用这个。您应该通过在实际的不同设备上运行来制作所有视频。你的帐户将被禁止,你的房子会着火,你的猫会死。
我将其编写到一个 shell (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
sh resize_video.sh
此脚本将根据 AppStore 的需要转换视频。
INPUT_VIDEO=app_preview.mov
mkdir -p 6.5
mkdir -p 5.5
mkdir -p 12.9
WIDTH=886
HEIGHT=1920
OUTPUT_VIDEO=6.5/app_preview.mov
rm -f $OUTPUT_VIDEO
ffmpeg -i $INPUT_VIDEO -qscale 0 -r 24 -y -vf scale=$WIDTH:$HEIGHT,setsar=1:1 $OUTPUT_VIDEO
WIDTH=1080
HEIGHT=1920
OUTPUT_VIDEO=5.5/app_preview.mov
rm -f $OUTPUT_VIDEO
ffmpeg -i $INPUT_VIDEO -qscale 0 -r 24 -y -vf scale=$WIDTH:$HEIGHT,setsar=1:1 $OUTPUT_VIDEO
WIDTH=1200
HEIGHT=1600
OUTPUT_VIDEO=12.9/app_preview.mov
rm -f $OUTPUT_VIDEO
ffmpeg -i $INPUT_VIDEO -qscale 0 -r 24 -y -vf scale=$WIDTH:$HEIGHT,setsar=1:1 $OUTPUT_VIDEO
https://gist.github.com/5lineofcode/ba6fc90ed7628c3acf11a735437c7944
ffmpeg -i“输入电影.mov”-r 30“输出电影.mov”
这为我解决了。
ffmpeg -i apppreview.mov -r 30 -acodec copy -crf 12 -vf scale=1920:886,setsar=1:1 output.mp4