iT邦幫忙

2025 iThome 鐵人賽

DAY 13
0

前言

  • 影片有沒有字幕,其實會影響到觀眾的閱覽體驗。
  • 然而對於影音創作者來說,上字幕變成一個吃力不討好的工作
    • 沒上字幕,觀眾可能直接不看影片。
    • 透過傳統方法上字幕,要逐字打字外,還要對齊時間也是很麻煩。
  • 因為上字幕是個顯而易見的痛點,當今已經有很多付費及免費的方案。
  • 字幕是個龐大商機,看看下圖不難發現有很多廠家投放廣告霸榜呢!
    https://ithelp.ithome.com.tw/upload/images/20250923/20130149cchtYQEWfx.png

接下來會說明如何透過 Transcribe 加速字幕產生

Amazon Transcribe

簡介

  • 功能:自動語音辨識(ASR, Automatic Speech Recognition),可以將音檔轉換成文字。
  • 支援:多種語言(含中文、英文等),也能處理不同說話者(speaker diarization)。
  • 輸入:音檔(.mp3、.wav、.flac…),通常放在 Amazon S3。
  • 輸出:JSON 檔,裡面包含完整逐字稿,以及時間戳(timestamp),可以直接用來產生字幕檔(例如 SRT、VTT)。

以下列出當前主流四種不同的 Transcribe 方案

Amazon Transcribe (Batch)

  • 用途:非即時的音檔轉文字。
  • 典型場景:
    • S3 上的錄音檔、會議錄音、Podcast、客服通話錄音。
  • 特點:
    • 以 Transcription Job 方式提交,處理完後輸出 JSON。
    • 適合長時間的音檔。
    • 可以指定語言 (LanguageCode)、說話者分離 (Speaker Diarization)、字典自訂。

    非即時需求,用這個方案

Amazon Transcribe Streaming

  • 用途:即時語音轉文字。
  • 典型場景:
    • 線上會議字幕、客服即時通話分析、即時語音助理。
  • 特點:
    • 透過 WebSocket 或 gRPC 直接串流音訊。
    • 會隨著音訊流動即時返回轉寫結果。
    • 支援低延遲字幕。

    直播字幕方案
    https://ithelp.ithome.com.tw/upload/images/20250923/20130149ZM30SLnKVf.jpg

Amazon Transcribe Call Analytics

  • 用途:專門為 客服通話 設計的版本。
  • 典型場景:
    • 客服中心錄音的轉寫與分析。
  • 特點:
    • 內建情緒分析、關鍵字檢測、靜默偵測。
    • 可直接和 Amazon Connect 搭配使用。
    • 幫助做 QA、法規遵循(compliance)檢查。

    根本就是設計給詐騙集團使用的功能 XD
    我個人帶有偏見地看待這一塊,因為即使是真人客服打電話,我都覺得煩人了,何況現在有更多的機器人客服打電話,三不五時就要你保險、借錢、還是投資發大財的。

Amazon Transcribe Medical

  • 用途:醫療場景的語音轉文字。
  • 典型場景:
    • 醫師看診時的口述病歷、醫療會議錄音。
  • 特點:
    • 有醫療專業詞彙辭典(藥品、診斷名詞)。
    • 符合 HIPAA(醫療資料隱私法)規範。
    • 提供醫療領域專屬模型,準確度更高。

    偷懶醫生方案
    被詐騙集團騙了之後,氣血攻心打電話給醫生諮詢,醫生可以先用這個功能擋著!

產生字幕流程

  1. 把聲音檔(或影片的音訊檔)放到 S3 bucket。
  2. 在 Amazon Transcribe 建立一個 transcription job,指定 S3 的檔案路徑。
  3. Transcribe 會處理音檔,產出一份 JSON 結果(存回 S3 或 API 回傳)。
  4. 用 AWS 提供的範例 script,把 JSON 轉換成字幕檔(SRT / VTT)。

實作

  1. 由於我們在前面的文章中,已經透過開 RTMP 或是 上傳頁面,將影音資料,吃進 exsky-backup-media Bucket 了,所以上傳部分就算完成了。
  2. 根據 Amazon Transcribe 定價,可以知道這個收費模式,是以影音長度當作計價標準。
  3. 建立轉換任務
    aws transcribe start-transcription-job \
      --transcription-job-name my-audio-job \
      --language-code zh-TW \
      --media MediaFileUri="s3://exsky-backup-media/audio.mp3" \
      --output-bucket-name exsky-backup-media
    
  4. 查詢任務狀態
aws transcribe get-transcription-job --transcription-job-name my-audio-job
  1. 取回 json 檔,其中會包含辨識出的逐字稿。

結論

  • 收費比影音長度,每分鐘 USD 0.02400,差不多是台幣 0.72 元。
    • 說貴嗎? 假設你上字幕的時候,都用一倍速看片,不會發生聽不清楚回放,然後打字的速度也可以達到即時輸出⋯⋯很厲害了吧!! 這樣優秀的字幕工人,時薪只需要台幣 43.2 元,還不用幫保勞健保,就算不是群海娛樂大股東,也應該會喜歡這種優質服務。
  • 當然這個功能還需要整進我們的平台,自動觸發才算完整,就下回分曉了。
  • 同時產出多國語言字幕,也是潛在的需求,可能也需要下回分曉。

上一篇
【Day 12】 打包部署 ZIP / 客製化 Lambda Layer
系列文
無法成為片師也想拍 Vlog?!個人影音小工具的誕生!13
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言