为什么 .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);
},
);
我正在使用 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);
},
);