Azure Media Player字幕名称显示异常,如何正确展示英日字幕名称?
解决Azure Media Player字幕名称显示错误的方法
1. 修正字幕文件元数据
确保字幕文件本身携带正确的语言与名称标识:
- WebVTT文件:在文件开头添加语言和标签声明
WEBVTT X-TIMESTAMP-MAP=MPEGTS:900000,LOCAL:00:00:00.000 Language: en Label: English
- IMSC文件:在XML结构中设置语言属性与标题元数据
<tt xml:lang="ja" xmlns="http://www.w3.org/ns/ttml" xmlns:ttm="http://www.w3.org/ns/ttml#metadata"> <head> <metadata> <ttm:title>日本語</ttm:title> </metadata> </head> <!-- 字幕内容 --> </tt>
2. 在Azure媒体资产中配置字幕信息
上传或关联字幕时,在Azure门户完成以下设置:
- 进入目标媒体资产的字幕文件详情页
- 在属性中,将
Name字段设为需要显示的名称(如"English"、"日本語"),同时确认Language字段对应设置为en或ja - 若通过编码作业添加字幕,在作业配置里为每个字幕轨道指定
DisplayName和LanguageCode参数
3. 调整Azure Media Player初始化配置
在播放器初始化代码中,手动指定字幕轨道的显示名称:
var myPlayer = amp('vid1', { "controls": true, "width": "640", "height": "400", "subtitles": { "enabled": true, "tracks": [ { "src": "你的英文字幕文件URL", "srclang": "en", "label": "English", "kind": "subtitles" }, { "src": "你的日文字幕文件URL", "srclang": "ja", "label": "日本語", "kind": "subtitles" } ] } }, function() { console.log('播放器初始化完成'); });
4. 重新打包媒体资产
若以上操作后问题仍存在,重新对媒体资产执行打包作业,确保字幕轨道的元数据被正确嵌入到HLS/DASH流媒体清单中。
内容的提问来源于stack exchange,提问作者Phan Đức Bình
相关产品推荐
相关产品推荐

