HTML5视频作为base64编码的数据URI不能在iPad和iPhone浏览器中工作



我需要在iPad和iPhone上使用HTML5视频标签以base64数据URI格式播放视频,这最终帮助我通过将视频存储在websql、中使其离线

我得到了一个链接,帮助我研究可行性——http://iandevlin.com/html5/data-uri/video.php(如果你获取链接的视图源,你会看到它以base64格式编码良好)

我在大多数现代浏览器上都试过这个,比如chrome&windows机器中的firefox和macos中的safari,运行良好

所以我的希望增加了,我在iPhone和iPad上尝试了一下,好吧,它在那里不起作用!我只是得到一个空白的黑色屏幕来代替视频控制。

此外,我在safari调试模式中也没有收到任何错误我想知道我们是否可以播放base64编码的视频,或者这只是ipad和iphone的已知问题。。。

要在HTML5标签下播放视频,您需要提供其内容源,如图像和视频/音频文件名,而无需任何路径,然后只有它在上运行良好

当使用Base64媒体编码时,您需要记住内存消耗会大幅增加,一旦媒体不在文档中,并且可能加载在只消耗您真正需要的内存的帧中,这与包含外部媒体不同。

使用Base64需要加载所有数据才能进行解密,而大多数移动浏览器需要花费大量时间来显示视频,因为它们的有用内存非常小(通常大部分内存都被操作系统消耗掉),转换需要很长时间,当一个进程在移动系统中花费很长时间时,垃圾收集知道这是僵尸线程并杀死它

事实上,假设你可以在移动浏览器中使用base64进行视频处理,这不是一个好主意,它应该不起作用。

我发现iOS Safari在数据uri中具有正确的Mime类型方面比桌面浏览器更挑剔。你应该确保你使用的是正确的。

最新更新