不同的编解码器可能需要不同的许可证,这可能会花费很多。此外,编解码器可以是软件,也可以是硬件。许多SW编解码器没有问题,但正如名称所指出的,硬件编解码器需要特定的芯片,这也增加了成本并占用空间。这就是为什么设备制造商之间,甚至同一制造商的两台设备之间存在很大差异的原因。他们只是想削减成本。
一台设备只有最流行的编解码器的一个子集是很常见的,即使说VP8和H264都可以,其中一个可以是HW编解码器,而另一个可以是SW编解码器,在这种情况下通常首选HW编解码器。YouTube(此处是指youtube.com而非YouTube应用)提供了不同格式的视频,因此设备可以为其功能选择最佳的编解码器。
现在,选择正确的编解码器,YouTube应用可以使用Android的MediaCodec API。请检查例如,这个和/或它甚至可以提供它自己的软件编解码器,所以我想说,这种行为取决于平台。
最后的事情是极端情况,例如可以在后台播放/录制某些东西,例如打开相机并在使用YouTube应用程序时进行屏幕录制。同样,它取决于设备,但是硬件编解码器对媒体编解码器实例的数量有所限制,在这种极端情况下,即使设备具有某些硬件编解码器,YouTube应用程序也可能被迫选择SW编解码器。
编辑: 从Android Q开始,还有一个新的API,可让您轻松区分SW和HW编解码器。看看这个。