注意:仅部分ASS特效字幕无法正常显示,如你的ASS字幕可以正常播放,可忽略该问题
解决方案一:将ASS字幕转换成其他字幕格式并重新嵌入视频
工具:
gMKVExtractGUI
Mkvtoolnix
一些在线转换字幕的网站(自己找)
步骤:
解包视频文件
gMKVExtractGUI能用于抽取MKV视频中的字幕、音频、字体等,对于非MKV格式的视频,如MP4、AVI等格式,可以把这些视频直接拖进Mkvtoolnix中,封装成MKV格式,然后再用gMKVExtractGUI提取即可
转换
得到.ass字幕文件后去网上找一些在线转换字幕的网站
转换为例如.srt等常见的字幕格式并下载
视频教程 (跳转01:18分位置) (https://www.bilibili.com/video/BV1YB4y127Qa)
MKV视频的字幕都是软字幕,需要高级一点的视频播放器才可以正常识别
完成!
可原来ASS字幕的炫酷特效都转换为了普通的文本,未免有点单调了,那如何做到既能看到炫酷特效又可以正常播放呢?
没错!就是把ASS字幕渲染为透明视频!
解决方案二:将ASS字幕渲染成透明视频并与原视频缝合
步骤一:将ASS字幕渲染成透明视频
工具:
FFmpeg
打开cmd并cd到FFmpeg的文件夹(一定要cd到bin文件夹!)
代码:cd 你的FFmpeg根目录/bin/
接着键入以下代码:ffmpeg -y -f lavfi -i "[email protected]:s=视频分辨率:r=视频帧率:d=视频总时长,format=rgba,subtitles=ASS字幕文件:alpha=1" -c:v png 透明视频.mov
举例,
视频是1080p的(也就是1920x1080),24帧,总时长1:34:56,字幕提取后的路径是D://output/sub.ass,透明视频存放路径是D://sub.mov
那代码就是ffmpeg -y -f lavfi -i "[email protected]:s=1920x1080:r=24:d=01\\:24\\:56,format=rgba,subtitles=D://output/sub.ass:alpha=1" -c:v png D://sub.mov
步骤二:合并
在经过一段时间的渲染后,你的ASS字幕就成功转换为透明视频,之后使用Pr等一些剪辑软件与源视频进行合并并导出就大功告成啦(具体教程:视频) (https://www.bilibili.com/video/BV1Z4411N7qf/)
但是有一些人的电脑连显卡都没有,不能打开Pr,那如何缝合呢?
答案就是使用Shotcut!它免费且开源高效,不比Pr逊色,而且可以在没有显卡的情况下正常工作!(具体使用Shotcut合并的教程:视频 [你可以参考Pr的教程]) https://www.bilibili.com/video/BV1JJ411X7WQ/?p=2
完成!
解决方案:转换格式
工具:
FFmpeg
步骤:
打开cmd并cd到FFmpeg根目录里的bin文件夹
代码:cd 你的FFmpeg根目录/bin/
接着键入以下代码:ffmpeg.exe -i 视频路径文件 -map 0 -c:v libx264 -crf 18 -vf format=yuv420p -c:a copy 导出视频路径文件
举例,
原视频是H.265的(也就是hevc)路径是D://h265test.mp4,导出转换后视频存放路径是D://h264test.mp4
那代码就是ffmpeg.exe -i D://h265test.mp4 -map 0 -c:v libx264 -crf 18 -vf format=yuv420p -c:a copy D://h264test.mp4
这样你就得到了转换后的视频,然后重新封装。
如果可以正常观看,那么就大功告成了!
如果你有建议或要反馈问题,可以联系我
作者:FirgtZhong
转自https://firgt.eu.org/2025/02/03/%E5%85%B3%E4%BA%8E%E8%A7%86%E9%A2%91%E5%AD%97%E5%B9%95%E7%9A%84%E5%8E%8B%E5%88%B6%E5%8F%8A%E9%97%AE%E9%A2%98%E7%9A%84%E8%A7%A3%E5%86%B3/