HTML 5 视频字幕支持

问题描述

浏览器不支持我为电影和节目添加到视频播放器的某些字幕,因此我们看到了这张图片

enter image description here

需要在浏览器中添加语言字体才能以正确的方式显示这些语言,但观看电影的用户不知道如何在浏览器中添加字体,这不是让他们这样做的最佳解决方案。

我正在使用 video.js

添加曲目(字幕)

如何解决字幕字体损坏的问题,或者如果不可能,那么我需要将它们从字幕列表中隐藏,如何检查是否支持字幕字体?

部分来自我添加字幕的代码

playbackData.subtitles.forEach(function (subtitle) {
        vjsPlayer.addRemoteTextTrack({
            src: subtitle.url,kind: 'subtitles',label: subtitle.language,},true);
    });

解决方法

使用您的字幕语言,例如:language: 'en'

有关支持的语言翻译,请参阅位于 Video.js 根目录中的语言文件夹 (/lang) (https://github.com/videojs/video.js/tree/main/lang) 文件夹,并参阅语言指南 (https://docs.videojs.com/tutorial-languages.html) 了解更多信息Video.js 中的语言信息。

,

我发现了问题,它与我的操作系统有关。我使用 Debian 10 buster 操作系统,但它不支持 Korean 语言。

关于 Hebrew 语言,当我使用 NodeJS 脚本(srt)将字幕从 vtt 转换为 npm install srt-to-vtt 时,它使用正确的 unicode 进行转换。

但 PHP 转换器 github.com/mantas-done/subtitles 无法正确转换某些语言。

所以如果你有字幕问题

  1. 在其他操作系统(Windows、MacOS 等)上检查字幕。
  2. 如果有字幕再次不起作用,那么您可以检查您的转换器,也许您还需要尝试其他转换器。我建议你使用 NodeJS 转换器。