关于视频字幕的压制及问题的解决

Firgt
102 3

去年在某网站逛资源的时候,下载了一部电影,视频是H.265格式,字幕是ASS。使用PotPlayer以及KMPlayer都可以正常加载,可在网页或者一些播放器就不能正常加载ASS字幕,甚至都不能播放。

问题呈现

  1. 内嵌ASS字幕的视频不能在网页或者一些播放器正常加载ASS字幕
  2. H.265格式视频在网页或者一些播放器提示不支持视频格式

解决问题

1、ASS字幕

注意:仅部分ASS特效字幕无法正常显示,如你的ASS字幕可以正常播放,可忽略该问题

解决方案一:将ASS字幕转换成其他字幕格式并重新嵌入视频

工具:
gMKVExtractGUI
Mkvtoolnix
一些在线转换字幕的网站(自己找)

步骤:

  1. 解包视频文件

    gMKVExtractGUI能用于抽取MKV视频中的字幕、音频、字体等,对于非MKV格式的视频,如MP4、AVI等格式,可以把这些视频直接拖进Mkvtoolnix中,封装成MKV格式,然后再用gMKVExtractGUI提取即可

  2. 转换

得到.ass字幕文件后去网上找一些在线转换字幕的网站
转换为例如.srt等常见的字幕格式并下载

  1. 重新封装

视频教程 (跳转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

完成!

2、视频

解决方案:转换格式

工具:
FFmpeg

步骤:

  1. 打开cmd并cd到FFmpeg根目录里的bin文件夹
    代码:cd 你的FFmpeg根目录/bin/

  2. 接着键入以下代码:
    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/

一个挺懒的程序猿,还没进化。我的博客我的萌盘
最新回复 ( 3 )
  • Firgt @Ta
    0
    置顶评论 演示实例源电影:https://pan1.yukaidi.com/s/4gWZHN   (包涵素材)
    萌盘链接(成品):https://pan.moe/s/Jmf0
  • 2
    0
    肝文,写了多久啊
  • Firgt @Ta
    3
    0
    泯轲 肝文,写了多久啊
    30分钟左右,这不算肝吧
  • 游客
    5

    您需要登录后才可以回帖

    登录 注册

发新帖