Skip to main content

突破語言限制,讓英文破渣也能看懂全英文教學(autosub)

在學習程式的路上,一定會看各式各樣的教學,無論是書籍,文章,或是影片 如果參考的資料是網路上的文章,或是各個程式的文件,可以依靠google翻譯來解決,這個還好說,但如果想參考的資料是影片,那就有點頭大了,畢竟google翻譯不能把人的聲音變成中文

這時候,autosub就派上用場了,這個工具可以讓你上傳影片後,將聲音傳到google做聲音轉文字,再透過轉換將這些字變成字幕檔,就可以透過字幕來讓你更了解影片中想要描述的內容了,甚至,還可以透過註冊GCP的翻譯api,取得token,還可以直接將這些英文直接轉成中文,根本就是神器一個

前情提要#

因為autosub也是以linux當作主要的運行環境,所以如果在windows環境中,可以使用wsl來取代

安裝說明#

  1. 先啟動wsl
  2. 安裝以下內容
# 更新apt
sudo apt update
# 安裝pip
sudo apt install python-pip
# 安裝autosub
pip install autosub
  1. 安裝好後可以透過以下指令檢查有沒有成功安裝
# 讓環境變數生效
source ~/.profile
autosub -h

有跳出以下畫面表示安裝成功

使用說明#

  1. 確認你的影片的語系 在這個autosub中,相同語言轉換是不用付費的,語系的部分可以透過
autosub --list-languages

來確認你需要的語系跟代碼配對 2. 輸入指令來轉換

autosub -S en -D en ./video.mp4
  1. 這個指令可以跟linux中的find/exec一起使用,會更加方便
find /path/to -name “filename” -exec command {} \;

舉個例子,如果你把所有影片都放在同一個資料夾,影片的附檔名都是.mp4 那就可以使用

find . -name “*.mp4” -exec autosub -S en -D en {} \;

這樣就可以批量的產生字幕檔了~~

另外,如果有需要做翻譯的功能,可以在執行命令的時候增加-K,後面帶google translation的api參數,取得方法可以參考這邊,直接放進去就可以產生了 費用我覺得也還可以接受,一個10多分鐘的影片大約10元左右 但翻譯的結果我覺得就不是那麼準確了,可以中文英文兩個互相切換著來看,覺得中文看不太懂的時候切換成英文,了解意思後再切回去中文

docker image版本#

curl --fail -L https://github.com/giordanocardillo/autosub-docker/releases/download/1.0/autosub > /usr/local/bin/autosub && chmod a+x /usr/local/bin/autosub
autosub -S zh-TW -D zh-TW ./inbound4578018253269312912.m4a
for i in $(seq 3 4 2035);do head -n $i ./inbound4578018253269312912.srt | tail -n 1 >> output.txt;done

參考資料#

autosub安装使用指南(windows及ubuntu)(200302) Linux find 指令的 exec 參數