寫了一個內(nèi)嵌字幕轉(zhuǎn)SRT的軟件
寫在前面:只支持Mac (intel mac不知道行不行)
由于個人的一些需求,在網(wǎng)上查找了各種把內(nèi)嵌字幕轉(zhuǎn)成SRT的方法,發(fā)現(xiàn)步驟繁瑣或者就是OCR功能需要花錢。最后發(fā)現(xiàn)蘋果自帶的API可以進(jìn)行OCR,然后就自己寫了個軟件來完成我想要的。
先放上地址:https://github.com/shibotong/SRTScraper
目前還沒打包因為好像是設(shè)置的問題,打包之后每次打開視頻文件就崩潰。希望有大佬可以幫忙解決這個問題。

接下來我總結(jié)一下我的實現(xiàn)方法
對于視頻每0.1秒截圖一次,記錄截圖的時間
對于每張圖截取字幕部分(紅框)
由于蘋果自帶的Vision API太強了,如果使用整張圖片進(jìn)行OCR的話就會出現(xiàn)所有的文字,所以自己寫用SwiftUI寫了個框https://github.com/shibotong/ResizableRectangle。
對于截取后的圖片進(jìn)行OCR。
把重復(fù)文字的圖片的時間拼到一起就可以了
這里在網(wǎng)上抄了一個String distance的方法來查看和上一段文字的相似度。因為就算是同一句話,兩張截圖OCR之后的文字也不一定完全一樣。
然后導(dǎo)出到本地就可以了。
這個還有很多不完善的地方,比如說不能選取視頻的某段時間來進(jìn)行識別,不能中途停止,識別完之后不能修改只能倒導(dǎo)出。我是后期用aegisub來進(jìn)行細(xì)修。
目前只能用Xcode打開然后build來用,不知道有沒有大佬知道打包之后如何才能打開視頻文件
? ? ??
標(biāo)簽: