webvtt字幕文件於srt等字幕文件如何相互轉化呢?

html5裡面的字幕是webvtt文件,下載下來之後不知怎麼用,所以請教一下大家


-

WebVTT 轉換為 srt

1. 用記事本打開 .vtt 文件;

2. 將文檔中的前6個字母即 WEBVTT 刪除掉;

3. 關閉文件,將文件擴展名改為 .srt 即可。

——————

srt 轉換為 WebVTT

Simple SubRip to WebVTT converter

-


強烈推薦用 Subtitle Edit 3.4.13 Portable 綠色中文版 優秀免費的字幕製作軟體.rar
下載:
Subtitle Edit 3.4.13 Portable 綠色中文版 優秀免費的字幕製作軟體
才 6.5M

拖進去要轉的 .vtt 字幕,另存為 .srt 字幕,萬無一失!
這裡有一點教程 subtitle edit的使用方法

=========================== 華麗的分隔符 ============================
批量轉某路徑下的 vtt HTML5字幕文件成為本地可以用的.srt字幕。。。剛寫了個python腳本
呵呵,開心
用插件探測出來Vimeo的視頻CC字幕:

用正則匹配時間格式 然後給每組前面加00:
時間裡面的 . 好像並不用轉成 ,

測試一個文件:

Python 3.5 的腳本放出來:
喜歡的收下吧,我學python沒多久。。。
用PyInstaller 做成 exe文件了,希望大家喜歡我做的小工具,555 好像無法壓縮地更小了,因為裡面壓進了Python需要的環境。運行比較快哦,會出現假的閃退現象,實際上文件已經都改好了並生成了.srt格式,因此你原始的.vtt文件是看不到了!如果害怕的,請自行備份原始文件哦!

2016.08.17 強迫症發了,更新下:
1. 只要是時間軸裡面的.都會被替換成,
2. 每條時間前面都自動生成序號 1 2 3 4 ...
3. 支持提到的3種格式的vtt字幕:

WEBVTT

00:00.300 --&> 00:02.950
- [Patrick Goski] In this video, we"re

WEBVTT

00:00:00.300 --&> 00:00:02.950
- [Patrick Goski] In this video, we"re

WEBVTT

00:00:00,300 --&> 00:00:02,950
- [Patrick Goski] In this video, we"re
4. 運行後可以輸入.vtt文件所在文件夾(批量轉換)或者是單獨的.vtt文件完整路徑(這個你看著辦吧,要多輸入很多呃)

vtt2srt(.vtt字幕轉.srt格式-2016.08.17).exe
百度網盤下載地址:
鏈接:http://pan.baidu.com/s/1miRhfkc 密碼:rh2x

.vtt字幕轉.srt格式


親測可用
1.用txt打開vtt文件,刪除開頭的 WEBVTT
2.將.全部替換成,
3.保存,將後綴改成srt


C++強迫症又犯了。。再加上用shell的實現相當慢,於是換成了愛恨交加的c++.

首先我認真對比了從youtube下載到的vtt文件與srt文件區別,有三點:

  1. vtt多了前三行
  2. vtt文件的時間點前沒有從1自增的序號
  3. vtt文件時間點的毫秒位置是. 而不是srt的,

經由我的實踐證明並不是簡單地去掉WEBVTT,換成srt就行了。所以代碼要實現以上三點,其實也不難啦,代碼見這兒:

https://gist.github.com/baiwfg2/0d0b1b075818f6f342550e66f3f8c317

目前已經實現了命令行中給定一文件列表進行處理,所以一句簡單的 ls *.vtt | xargs ./a.exe 就能處理所有的vtt啦~~

效果如下:


找到了個可以用的網址
http://www.nikse.dk/SubtitleEdit/Online#
進去後左上角open了再save成srt就行了

測試可用


1.在線手動轉換:Converting SRT files to WebVTT files 或者 SubRip to WebVTT converter 注意文件編碼
2.寫程序全自動轉換:這是舊版delphiki/SubRip-File-Parser · GitHub已不再維護,這是新版captioning/captioning · GitHub推薦。


雖然都是webvtt文件,電腦右鍵用記事本打開看裡面的的內容,分為下面三種情況:

1. 和srt文件格式接近,只是第一行有「WEBVTT」字樣,或者前幾行為注釋,後面從00:00開始,這種只要刪除前一行或者前幾行內容就行。

2.和srt文件格式不太接近,除了前幾行有非字幕內容,格式區別見下圖:

3.第三種就是杜鵬說的那種

我的程序解決了前兩種,

簡單修改對應第一種,複雜修改對應第二種。下載地址更新:http://pan.baidu.com/s/1i4LFOwP
(舊地址已失效--http://share.weiyun.com/ea2ff3bd34208908406db34303346318)


沒那麼麻煩,直接把後綴vvt改為srt,親測可用


專業的事情請交給專業的工具,不要想當然地簡化成一個找規律的問題

第一步,安裝 ffmpeg

第二步,執行 `ffmpeg -i source.en.vtt target.en.srt`

參考:Get subtitles from Youtube in SRT format - Gary Sieling


這裡有一個字幕格式轉換工具:http://download.csdn.net/download/zhupeiru2/8878051


怎麼又是寫程序,又是在線轉換的?直接另存為啊。

如果用記事本打開,再另存為srt,不是標準的srt字幕格式,所有的內容都沒有換行。

那麼把webvtt用寫字板(windows除了有記事本還有寫字板,在寫字板里能把換行符號發揮出來)打開就好了,把開頭webvtt刪除,另存為unicode文本文檔。再用記事本打開,另存為srt。


推薦閱讀:

HTML5 和 Flash 相比,誰更有市場?
零基礎學習HTML5要多長時間?
HTML5 在手機上如何廣泛應用?技術層面好解決么?
目前的 HTML5 開發跟一年前比進展如何,國內國外有沒有區別?
為什麼不見HTML有競爭對手?HTML真的那麼完美嗎?

TAG:字幕 | HTML5 | 格式轉換 |