Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ffmpeg 如何计算在iPhone上显示视频的最佳尺寸和比特率?_Ffmpeg_Video Streaming_Video Encoding_Bitrate_Adaptive Bitrate - Fatal编程技术网

Ffmpeg 如何计算在iPhone上显示视频的最佳尺寸和比特率?

Ffmpeg 如何计算在iPhone上显示视频的最佳尺寸和比特率?,ffmpeg,video-streaming,video-encoding,bitrate,adaptive-bitrate,Ffmpeg,Video Streaming,Video Encoding,Bitrate,Adaptive Bitrate,我目前正在开发一个移动应用程序,它将有一个2-5分钟的视频库(总共大约100个),并正在确定哪些版本的视频可以用于不同的移动设备。在我的研究中,我注意到视频设置(如尺寸和比特率)有很大的播放空间 作为第一个测试,我试图找到我可以传送到尺寸为1125x2436的iPhone XS的最小视频大小,而不会丢失任何明显的质量。我首先将视频扩展到1125x2436,并创建了5个不同比特率的版本,从500kbps到4400kbps不等。我注意到在1500kbps的速度下,视频看起来很棒,大小被削减了1/3,

我目前正在开发一个移动应用程序,它将有一个2-5分钟的视频库(总共大约100个),并正在确定哪些版本的视频可以用于不同的移动设备。在我的研究中,我注意到视频设置(如尺寸和比特率)有很大的播放空间

作为第一个测试,我试图找到我可以传送到尺寸为1125x2436的iPhone XS的最小视频大小,而不会丢失任何明显的质量。我首先将视频扩展到1125x2436,并创建了5个不同比特率的版本,从500kbps到4400kbps不等。我注意到在1500kbps的速度下,视频看起来很棒,大小被削减了1/3,这是一个好的开始


在阅读了一些资料之后,我发现在自适应比特率方案中,苹果公司建议提供更低比特率和更低分辨率的视频。因此,在我的下一次测试中,我将两个视频的比例都降低了一半,即562x1218和750kbps的比特率,并注意到这段视频在iPhone上看起来也很棒。因此,在同一台设备上,750kbps的1125x2436看起来不好,但750kbps的562x1218看起来很棒。在某种程度上,这对我来说是有意义的,因为你需要更少的比特来填充更小的屏幕,但我不理解的是缩放是如何起作用的。它本质上应该是像素化的,因为分辨率是iPhone尺寸的1/2吗?在更高的层次上,有没有一种具体的方法来计算给定设备尺寸的最佳分辨率/比特率平衡?我们想要最现代的智能手机(iPhone 6及更高版本、三星Galaxy等),因此我们需要为一系列尺寸(纵横比9:16或6:13)做好准备。

Q:
因为分辨率是iPhone尺寸的1/2,它本质上不应该像素化吗?

答:
绝对不是。

问:
在给定设备尺寸的情况下,是否有某种具体的方法来计算这种最佳分辨率/比特率平衡?

答:
绝对不是。

这是一个主要的过度简化,但视频编码与分辨率或比特率关系不大。这一切都与信息密度有关

这样想:如果我想在电视上显示12小时的蓝色画面,它将包含很少的信息(事实上,在那句话中,我只是将12小时的无限分辨率视频编码为“是”)。但是,如果我希望每一帧都与前一帧略有不同,我需要描述/编码帧之间的差异

每帧的差异越大,每秒需要的比特数就越多。因此,“最佳”维度和比特率是一个移动目标,并且在视频中根据时间和空间信息密度不断变化