为什么使用UIImagePickerController选择高视频和中等视频质量设置的视频会产生完全相同的视频属性,至少在iPhone4和iPad3等设备上?
细节:
我们正在使用UIImagePickerController让我们的应用程序用户从照片库中选择图像或视频,然后将它们传输到服务器.我们让用户选择我们直接映射到UIImagePickerControllerQualityTypeHigh,UIImagePickerControllerQualityTypeMedium和UIImagePickerControllerQualityTypeLow videoQuality常量的高,中或低视频质量.
当我们使用相机在我们的应用程序外拍摄的10秒左右的视频被选中并在3GS(iOS 5.0)上发送时,我们会看到每个质量设置的明显差异,例如:
当我们在iPhone4或iPad3上尝试相同时(我们碰巧有那些设备很方便;不确定它只发生在那些设备上)我们看到低设置产生等效的低分辨率结果,但高和中等设置给出我们相同的结果,像这样:
(请注意,中高结果是相同的.)
该设备的原始版本为12.8 MB,720x1280,编解码器:AAC H.264,比特率更高.
可以解释一下这里发生了什么吗?我希望能够向我们的客户解释它,甚至更好地指出Apple的文档中涉及到这一点.
在此先感谢任何帮助......
如何像 YouTube 一样更改视频质量?
目前,我正在使用原始质量,并提供 360p、480p、720p 等选项来改变质量。
我怎样才能改变它?
我使用这个库来播放来自 的视频URL,并且我能够播放视频。
现在我想更改当前播放的视频质量,如(low, medium, high)。
库使用 AVPlayer,我如何使用 AVPlayer 更改质量?
我听说过首选?峰值?比特?费率,但我不知道。
请帮助我我该怎么做?
我正在尝试计算处理后的视频与原始文件的VMAF分数。
我使用过的命令:
ffmpeg -y -loglevel info -stats -i original.mp4 -i processed.mp4 -lavfi "[0]null[refdeint];[refdeint]scale=1920:1080:flags=neighbor[ref];[1]setpts=PTS+0.0/TB[b];[b]scale=1920:1080:flags=neighbor[c];[c][ref]libvmaf=log_fmt=json:phone_model=1:model_path={model_path_here}/vmaf_v0.6.1.json:n_subsample=1:log_path=log.json" -f null -
Run Code Online (Sandbox Code Playgroud)
现在,根据此处vmaf with ffmpeg找到的官方文档,它表示文件,然后是文件。source/referenceencoded/distorted/processed
但我遇到的几乎所有博客都使用相反的参数顺序,即processed文件后面跟着文件original。
几个例子:
https://medium.com/@eyevinntechnology/keep-an-eye-on-the-video-quality-b9bcb58dd5a1:在其中搜索“在 FFMPEG 中使用 VMAF”。
https://websites.fraunhofer.de/video-dev/calculate-vmaf-and-psnr-with-ffmpeg/:在其中搜索“Metric Calculation with FFmpeg”。
编辑
注意:更改顺序确实会更改 VMAF 分数。