影片自動產生字幕,並使用字幕軟體Aegisub修改編輯 (1)

影片字幕的編輯,一直是一件很惱人又花時間的事,影片來來回回聽取、打字幕,枯燥又無力。配字幕的時間,往往都超過影片本身了。當然,以上描述的慘況,是之前不專業的時候,從現在開始不一樣了。

字幕自動產生方案們

一開始也研究過幾個網路上找的到的方案,但感覺都不太滿意。

Youtube 自動產生字幕:沒這功能喔…

Youtube 無法自動產生中文字幕

雖然也有人說 Youtube 可以自己產生5分鐘內的字幕,但另一個問題是 Youtube 現在無法強制顯示字幕了。辛苦編輯的字幕卻要使用者自己啟動才看的到,這顯然是不可以的。所以需要將字幕嵌入影片中才行。

利用大陸的「網易見外」網站:電腦達人電腦王阿達有一篇就是教學如何使用該服務來自動產生字幕的,但我不想要註冊和用大陸的網站,所以也沒去試了。而且它是線上服務,要把整個影片傳上去,感覺這方式鳥鳥的。

使用 IBM 語音辨識這篇文章有介紹如何用 IBM 的 Cloud Service 做字幕產生,我也認真的註冊了 IBM 帳號…可惜 IBM Cloud Service 認証方式變了,和程式不合,也只好放棄。

 

可用的方案 – autosub

autosub 是一支 Python 的程式,它利用了 ffmpeg 與 Google Translate 來做字幕的翻譯。這是一個確實可用的方法,我有把影片的字幕自動產生出來了。有需要研究程式的人可以直接在 github 上看到他的原始碼,一般用戶則直接使用 Python 套件管理 pip 就可以直接安裝了。

Windows autosub 安裝

Windows 上的 autosub 比較麻煩,無法直接使用,需要修改一下程式。可以參考這一篇。另外,如果你想要把它打包成單一執行檔的話,會出現 “mutliprocessing-fork” 的 error。根據這一篇,的第二個回應。你需要在 autosub.py 的一開始(if __name__ == ‘__main__’: 後第一行) 就呼叫 multiprocessing.freeze_support()。

所以,如同以往,我打包了一版 Winows 可以直接執行的單一執行檔 (64bit 版本),給不熟 Linux 的朋友使用。直接將檔案,拖拉至 “拖拉檔案進來翻譯.bat” 就可以翻譯出字幕了,字幕檔會和影片檔放在同一個目錄,檔名相同,副檔名變成 .srt。

範例檔

自己錄了一小段影片,來做自動字幕的測試檔。這裡下載。方便大家可以快速測試

展示影片

Linux autosub 安裝

本文是使用 Ubuntu 16.04 64bit 測試。並安裝下列套件 Python 2.7 (預設已安裝), ffmpeg, python-pip 與 Python package autosub。

autusub 產生字幕

本文是要自動產生繁體中文字幕,autosub 還支援很多其它語言,可以使用 –list-languages 來將它們列出。

最後就可以開始產生字幕了。以下列命令產生 。據網友反應,若語音與字幕使用不同語言,會無法成功,也許是要付費的才可以。

下面範例是一個200MB的影片,片長28分鐘。是之前 Google 小姐講故事 – 自動製做三隻小豬故事影片 的影片,最後產生字幕的畫面如下面的截圖。轉檔花了51秒,翻譯花了3分35秒,速度還算挺快的。

自動產生字幕

最後會產生一個 video.srt 的字幕檔,我們就可以拿這個畫面來修改後使用。下一篇我們將介紹使用 Aegisub免費配字幕軟體 來修正字幕檔案。最終當然是要將字幕嵌入影片中,產生最終的影片。不過這部份軟體 (威力導演、ffmpeg、avidemux)  很多,就不做介紹了。

效果

透過 Google Translate 自動翻譯出的字幕,效果跟場景其實很有關係。比較適合演講、直播、自拍類的影片,比較不適合生活上的影片。聲音的清晰度很重要,以上面的範例來說,其實效果還不錯。但如果是翻譯親子影片,效果會讓人翻桌,翻不出幾個字來

另外,如果在說話時能注意自己說話的語調、清晰度,那正確率會更高,也減少了後面更正所需的後製時間了。

 

參考

影片自動產生字幕,並使用字幕軟體Aegisub修改編輯 (2)

Latest Comments

  1. DANIEL 2019-03-24
    • 蔡可彼 2019-03-24
      • DANIEL 2019-03-25
        • 蔡可彼 2019-03-25
          • DANIEL 2019-03-25
          • 蔡可彼 2019-03-25
  2. DANIEL 2019-03-26
    • 蔡可彼 2019-03-26
  3. RickLiu 2019-04-15
    • 蔡可彼 2019-04-15
  4. 2019-05-08
    • 蔡可彼 2019-05-08
  5. amisser 2019-06-24
    • 蔡可彼 2019-06-25
  6. mike 2019-06-26
    • 蔡可彼 2019-07-03
  7. Max 2019-06-28
  8. Andy 2019-07-06
    • 蔡可彼 2019-07-23
  9. 崎安Kyon 2019-07-24
    • 蔡可彼 2019-07-24
      • 崎安Kyon 2019-07-24
        • 蔡可彼 2019-07-25
  10. Kukuley 2019-08-07
    • 蔡可彼 2019-08-07
  11. kiwi 2019-09-07
    • 蔡可彼 2019-09-07
  12. Prosche 2019-09-29
    • 蔡可彼 2019-09-29
  13. Prosche 2019-09-29
  14. LII 2019-10-19
    • 蔡可彼 2019-10-19
  15. Guy 2020-01-27
  16. Guy 2020-01-27
  17. lulucccc 2020-02-02
    • 蔡可彼 2020-02-02
  18. lolo 2020-02-05
    • 蔡可彼 2020-02-08
  19. poke 2020-02-14
    • 蔡可彼 2020-02-15
  20. TIM 2020-04-02
    • 蔡可彼 2020-04-02
    • TONY 2021-05-10
  21. WIlson 2020-04-06
    • 蔡可彼 2020-04-06
  22. WIlson 2020-04-07
    • 蔡可彼 2020-04-07
  23. 王國隆 2020-04-25
  24. 王國隆 2020-04-25
    • 蔡可彼 2020-04-25
  25. Arden 2020-07-02
    • 蔡可彼 2020-07-15
  26. Yu 2020-07-31
    • 蔡可彼 2020-08-01
  27. Joshua 2020-08-03
    • 蔡可彼 2020-08-23
      • TONY 2021-05-10
  28. Yu 2020-08-05
  29. shaw 2020-08-12
    • 蔡可彼 2020-08-12
  30. Leon 2020-08-31
    • 蔡可彼 2020-08-31
  31. fcu 2021-01-04
    • 蔡可彼 2021-01-07
  32. Yu 2021-03-05
  33. Yu 2021-03-05
  34. TONY 2021-05-10
    • 蔡可彼 2021-05-11
  35. aaaa 2021-07-09
    • 蔡可彼 2021-07-09
  36. Edwin 2021-07-16
    • Edwin 2021-07-16

蔡可彼 發表迴響 取消回覆

請輸入答案 72 ÷ 8 =