MKV 格式视频投屏到电视无字幕的解决方案
现象描述
在电脑(操作系统为 Windows 10)上,安装解码器软件包(K-lite Codec Pack)之后,右击 MKV 视频文件,选择“播放到设备”,将视频投屏到电视(机顶盒)。结果,在电视上观看,视频没有字幕。
原理分析
Windows 10 的“播放到设备”功能本质上是用 DLNA 协议传输多媒体文件本身,将多媒体文件传输到电视(机顶盒)。
但是,DLNA 协议不支持外挂字幕,只支持封装字幕或硬字幕。注意:硬字幕是一定能正常显示的;但是,封装字幕能否显示,取决于电视或机顶盒内置的播放器是否支持,如果后者根本不支持字幕,那就没办法了。
所以,如果 MKV 视频没有封装字幕或硬字幕,用户就无法在电视上看到字幕。
解决方案:将外挂字幕整合到视频
具体来说有两种方案:封装字幕、硬字幕。
方法一:封装字幕
用 MKVToolNix 的混流器,将外挂字幕与原来不带字幕的 MKV 视频文件一起封装成新的 MKV 视频文件。
注意:
-
把视频文件和外挂字幕文件都导入到 MKVToolNix;
-
用规范的方式标记字幕的语言,简中是 zh-CN。
方法二:硬字幕
用《格式工厂》的“附加字幕”功能。《格式工厂》会将视频文件和外挂字幕文件压制成一个包含硬字幕的新视频文件。
操作步骤:
-
在“字幕”选项卡的“附加字幕”处,指定外挂字幕文件。
-
在“视频”选项卡,“类型“选“MP4”,“视频编码”选“AVC(H264)”,“屏幕大小”和“码率”要与不带字幕的 MKV 视频的屏幕大小和码率一致。
注意:
-
用《格式工厂》给视频附加字幕,一律是转换为硬字幕;
-
转换为 H.264 格式的 MP4 视频最合适,H.264 格式非常普及,现在的机顶盒和智能电视都支持;
-
如果不知道 MKV 视频的屏幕大小(就是分辨率)和码率(每秒多少 Mbps 的数据)是多少,可以用 MediaInfo 查询;
-
“二次编码”选“否”。如果此处选“是”,《格式工厂》会调用 ffmpeg 进行两次编码,这样无法利用显卡加速, CPU 占用极高,速度也慢,生成的 MP4 视频文件小不了多少。
总结
DLNA 投屏协议不支持外挂字幕,用户需要把外挂字幕转化成封装字幕或硬字幕,才能在投屏时看到字幕。