VLC无法在SubRip(srt)文件中显示字幕

时间:2014-10-08 09:09:10

标签: bash subtitle video-player

我已经从 Udacity 中的How to Use Git and Github课程下载了视频和翻译字幕,发现只有时间戳而不是字幕显示在视频播放器中 VLC < /强>

VLC 似乎不支持 Udacity 的srt文件格式。那么是否有任何方法可以转换这些srt文件的格式,使其可以被 VLC 读取?

1 个答案:

答案 0 :(得分:2)

在检查了VLC's Wiki SubRip / srt 文件格式语法和下载的srt文件格式之后,我发现了两个不同之处:

  1. 下载的srt文件中缺少帧编号。
  2. SubRip 的语法使用h1:m1:s1 --> h2:m2:s2来定义时间,但下载的文件使用h1:m1:s1,h2:m2:s2
  3. 经过一些测试后,我发现第一个区别并不重要,但第二个区别是。所以我在下面写了一个 bash 脚本来转换格式

    #!/usr/bin/env bash
    #convert-srt-for-udacity
    srt=$1
    dos2unix "$srt" 2>/dev/null
    sed -ie "s/^\([[:digit:]:.]*\),\([[:digit:]:.]*\)[[:blank:]]*$/\1 --> \2/" "$srt"
    

    最后使用此命令批量转换所有字幕

    for i in *.srt; do ./convert-srt-for-udacity "$i"; done