从网上下载的一集剧,文件后缀是.mkv,这种mkv格式的片子拖进家里的老电视,画面黑着只有声音。换到电脑上播就正常。文件没坏,问题出在mkv这个容器上。
mkv格式全称Matroska,中文常叫封装格式。它本身不是一种视频编码,而是一个盒子,里面可以装H.264、H.265视频,AAC、AC3、FLAC音频,还能塞进多条字幕和音轨。
盒子、编码、后缀要分开看
很多人把mkv和mp4当成对立的两种视频,其实两者都是容器。区别在于mkv更开放,支持的字幕格式多,ASS特效字幕、多语言音轨都能带上,所以高清片源偏爱用它。
能不能播,取决于盒子里的编码。同样是mkv,H.264手机一般能硬解,H.265 10bit或者AV1,老设备就吃力。播放器提示「不支持音频格式」,多半是音轨用了DTS或TrueHD。
打不开时先做这三步
- 换播放器:电脑上用VLC、PotPlayer、MPV,解码器自带,比系统自带的强。
- 看编码:用MediaInfo打开文件,Video一栏写的是AVC还是HEVC,Audio是AAC还是DTS。
- 换设备:电视盒子装支持硬解的播放器,或者直接用电脑投屏。
实在播不了,可以用HandBrake转码,或者用ffmpeg跑一行:ffmpeg -i in.mkv -c:v libx264 -c:a aac out.mp4。转码费时间,十分钟的片子也要跑几分钟,画质还会掉一点。
要不要转成mp4
发给别人、往手机相册里存,mp4兼容性更好,微信和相册都认。自己收藏、带字幕的片子,留着mkv更合适,字幕和音轨不丢。
剪辑软件对mkv的支持参差不齐,剪映、PR导入mkv经常只剩画面。要剪就先转封装,不重新编码用ffmpeg -c copy,几十秒搞定,画质不变。
还有一种情况是字幕不显示。mkv把字幕存在轨道里,播放器要在字幕菜单里手动选中文或ASS,默认可能关着。外挂的.srt文件要和视频同名放同一目录,才会自动加载。
判断:mkv不是坏格式,是挑设备。播放端能装VLC就别转码,转码留到没辙时再做。