Bash VLC无法在子RIP(srt)文件中显示字幕

Bash VLC无法在子RIP(srt)文件中显示字幕,bash,subtitle,video-player,Bash,Subtitle,Video Player,我已经在Udacity中下载了课程的视频和字幕,发现视频播放器VLC中只显示了时间戳而不是字幕 VLC似乎不完全支持Udacity的srt文件格式。那么,是否有任何方法可以转换这些srt文件的格式,使它们能够被VLC读取?在检查子RIP/srt文件的格式语法和下载的srt文件的格式后,我发现了两个差异: 下载的srt文件中缺少帧的编号 SubRip的语法使用h1:m1:s1-->h2:m2:s2来定义时间,但下载的文件使用h1:m1:s1,h2:m2:s2 经过一些测试,我发现第一个差异并不重要

我已经在Udacity中下载了课程的视频和字幕,发现视频播放器VLC中只显示了时间戳而不是字幕


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

在检查子RIP/srt文件的格式语法和下载的srt文件的格式后,我发现了两个差异:

  • 下载的srt文件中缺少帧的编号
  • SubRip的语法使用
    h1:m1:s1-->h2:m2:s2
    来定义时间,但下载的文件使用
    h1:m1:s1,h2:m2:s2
  • 经过一些测试,我发现第一个差异并不重要,但第二个是。所以我在下面写了一个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
    

    作为初学者,我无法理解它是如何找到srt文件的。我看不到任何路径。@YannisDran请下载包含这些srt文件的视频下方的成绩单。我在问你的bash代码如何处理这些文件。我已经下载了带有srt文件的成绩单。不起作用。1.在srt文件夹中,在上面运行命令不会更改任何内容。2.运行“/convert srt for udacity test.srt”output test.srte,它与test.srt完全相同。@YannisDran假设您从这里下载:
    curl--header'Host:zips.udacity data.com'--header'User Agent:Mozilla/5.0(X11;Linux x86_64;rv:35.0)Gecko/20100101 Firefox/35.0'--header'Accept:text/html,application/xhtml+xml,应用程序/xml;q=0.9,*/*;q=0.8'--header'接受语言:en-US,en;q=0.5'--标题“连接:保持活动”http://zips.udacity-data.com/2969618657/Lesson%202%20Subtitles.zip“-o”第2课Subtitles.zip'-L
    ,然后将包放入其中,并在*.srt中为i运行
    ;执行../转换udacity“$i”的srt;完成后,您将发现格式已更改。