在iOS中透明播放视频

时间:2020-06-23 16:17:37

标签: ios iphone ffmpeg safari video-streaming

有点背景,我想在从gif转换为网络的情况下播放透明的视频,对于所有非苹果设备,我都可以像这样轻松地导出webm文件

ffmpeg -i test.gif -c:v libvpx-vp9 -qmin 0 -qmax 18 -crf 9 -b:v 1400K -quality good -cpu-used 0 -auto-alt-ref 0 -pix_fmt yuva420p -an -sn -metadata title="test webm" test.webm

无需通过HTTP响应206加载部分内容的视频流,即可直接使用

现在对于野生动物园和苹果设备,我看到的是完全不同的野兽,我设置了一个端点,该端点通过HTTP 206响应为视频提供服务,经过一番努力,我可以在macOSX中获得与Safari相同的最终结果,并且像这样转换视频

ffmpeg -i test.gif -qmin 0 -qmax 18 -vcodec prores_ks -q:v 64 -b:v 1400K -pix_fmt yuva444p10le -profile:v 4444 -an -sn -metadata title="test mov" test.mov

我在url地址栏中放了一个带有视频流的视频,并且以透明的方式播放视频。

现在,在iOS的Safari中,该视频无法播放,它加载了相同的终结点,并且其他具有透明性的视频也可以从同一流终结点进行投放。

有人知道有一种解决方案,可以在所有Apple设备上播放具有透明性的视频编码吗?

我还尝试了手刹,但没有成功,实际上甚至不能通过手刹来获得透明性。

1 个答案:

答案 0 :(得分:0)

最终,至少在v13之前的iOS设备中,根本不允许prores编解码器带有alpha通道,因此,无论哪种格式,都无法在这些设备上制作具有透明性的视频。它与视频流和HTTP响应206加载的部分内容无关。