为什么 .mkv、.flv、.ogv 视频文件不能在 safari 中播放?

Why .mkv, .flv, .ogv video file is not playing in safari?

我正在使用 cloudinary 上传视频。

在尝试播放视频时, 我正在使用 HTML 视频标签

<video controls playsInline>
    <source src={videoLink} />
</video>

它在 google chrome 和其他浏览器中工作正常。但在 safari(15.4)

中无法播放 .mkv、.flv、.ogv 视频文件

Safari 本身不支持 MKV,因此您必须在播放前使用转换转换视频。

对您提供的视频执行此操作会导致错误 一般来说,为了帮助调试 Cloudinary URLs,响应包含一个 x-cld-error header,查看你分享的 URL,我看到 header 返回:

Video is too large to process synchronously, please use an eager transformation with eager_async=true to resolve

存在在线(同步)视频转换限制(免费计划为 40MB,付费计划为 100MB),这意味着对于大于限制的视频,您需要 perform the video transformations eagerly

可以在上传时或通过使用 the explicit API.

更新您当前的资源来设置 Eager 转换

请看看这是否能解决您的问题,如果您有任何其他问题或需要任何指导,请告诉我。

这是我使用的示例代码,

 const upload = v2.uploader.explicit(
            public_id,
            {
                type: 'upload',
                resource_type: 'video',
                eager_async: true,
                eager: [
                    {
                        fetch_format: 'mp4',
                    },
                ],
                eager_notification_url: your_notification_url,
            },
            (error, result) => {
                if (error) return reject(error);
                resolve(result);                 
            },
        );