VLC无法显示SubRip(srt)文件中的字幕[关闭]
Posted
技术标签:
【中文标题】VLC无法显示SubRip(srt)文件中的字幕[关闭]【英文标题】:VLC cannot display the subtitles in the SubRip(srt) file [closed] 【发布时间】:2014-10-08 09:09:10 【问题描述】:我在 Udacity 中下载了课程 How to Use Git and Github 的视频和字幕,发现视频播放器中只显示时间戳而不是字幕VLC.
VLC 似乎不完全支持 Udacity 的 srt 文件格式。那么有什么方法可以转换这些 srt 文件的格式,让 VLC 可以读取它们吗?
【问题讨论】:
【参考方案1】:在检查了VLC's Wiki的SubRip/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 文件的 Videos 下方的 Transcripts。 我在问您的 bash 代码如何处理文件。我已经下载了带有 srt 文件的成绩单。 不工作。 1. 在 srt 文件夹中,运行上面的命令没有任何改变。 2.运行“./convert-srt-for-udacity test.srt”输出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,application/xml;q=0.9,*/*;q=0.8' --header 'Accept-Language: en-US,en;q=0.5' --header 'Connection: keep-alive' 'http://zips.udacity-data.com/2969618657/Lesson%202%20Subtitles.zip' -o 'Lesson 2 Subtitles.zip' -L
,然后解压包进去,运行for i in *.srt; do ../convert-srt-for-udacity "$i"; done
,你会发现格式已经改变了。以上是关于VLC无法显示SubRip(srt)文件中的字幕[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何从 SubRip .srt 文件中仅提取文本(剥离时间码)?