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

瀏覽數:

30,801

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

字幕自動產生方案們

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

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。

sudo apt-get -y install python2.7

sudo apt-get -y install ffmpeg

sudo apt-get -y install python-pip

pip install autosub

1

2

3

4

sudoapt-get-yinstallpython2.7

sudoapt-get-yinstallffmpeg

sudoapt-get-yinstallpython-pip

pipinstallautosub

autusub 產生字幕

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

列出支援的語言

autosub --list-language

1

autosub--list-language

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

autosub -S zh-TW -D zh-TW video.mkv

1

autosub-Szh-TW-Dzh-TWvideo.mkv

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

自動產生字幕

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

效果

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

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

參考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值