Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
GCCP Creator @ COSCUP 2022
Search
LINE Developers Taiwan
PRO
July 30, 2022
Technology
0
5.8k
GCCP Creator @ COSCUP 2022
Event: COSCUP 2022
https://coscup.org/2022/zh-TW/session/P7HXPX
Speaker: Nijia Lin
LINE Developers Taiwan
PRO
July 30, 2022
Tweet
Share
More Decks by LINE Developers Taiwan
See All by LINE Developers Taiwan
Scaling The E-Commerce Recommendation System
line_developers_tw
PRO
0
10
Enhanced EC Recommendations: Trustworthy Validation with Large Language Models for Two-Tower Model
line_developers_tw
PRO
0
5
揭秘LLMOps: 讓LLM服務像火箭 般穩定高效的祕密!
line_developers_tw
PRO
0
27
ML Life Cycle for LINE SHOPPING Recommender
line_developers_tw
PRO
0
9
Review AI from LINE EC NLP
line_developers_tw
PRO
0
6
LINE購物 App x ATDD: 利用 ATDD 改善開發流程
line_developers_tw
PRO
0
19
Grafana Alloy Best Practice
line_developers_tw
PRO
0
1.1k
Distributed Tracing in LINE Taiwan
line_developers_tw
PRO
0
36
只有 Status page 還不夠!講人話才知道 Infra 發生什麼事
line_developers_tw
PRO
2
300
Other Decks in Technology
See All in Technology
映像・音声伝送システム
jtes
0
200
k6を活用した再現性・拡張性の高い負荷試験基盤の構築
biwashi
11
2.9k
トークナイザー入門
payanotty
2
380
kube-vipとkube-proxy置き換えCiliumを積んだ究極のK3sクラスタを建てる
logica0419
4
190
Perlで始めるeBPF: 自作Loaderの作り方 / Getting started with eBPF in Perl_How to create your own Loader
takehaya
1
180
つよつよリーダーが 抜けたらどうする? 〜ナビタイムのAgile⽀援組織の変遷〜
navitimejapan
PRO
22
13k
Hazard pointers with reference counter
ennael
PRO
0
110
Authenticator のエミュレーションによる パスキーのログインテスト/nikkei-tech-talk-25
nikkei_engineer_recruiting
0
140
Tracking down sources of kernel errors with retsnoop
ennael
PRO
0
140
AWSへのNIST SP800-171管理策 導入に向けての整備/20240930 Mitsutoshi Matsuo
shift_evolve
0
150
【shownet.conf_】トポロジ図の歩き方
shownet
PRO
0
360
XP matsuri 2024 - 銀河英雄伝説に学ぶ
kawaguti
PRO
3
500
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
65
11k
Statistics for Hackers
jakevdp
796
220k
Producing Creativity
orderedlist
PRO
341
39k
Build The Right Thing And Hit Your Dates
maggiecrowley
31
2.3k
Why You Should Never Use an ORM
jnunemaker
PRO
53
9k
Gamification - CAS2011
davidbonilla
80
5k
Thoughts on Productivity
jonyablonski
67
4.2k
How to Think Like a Performance Engineer
csswizardry
16
1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
327
21k
Robots, Beer and Maslow
schacon
PRO
157
8.2k
Making the Leap to Tech Lead
cromwellryan
130
8.8k
YesSQL, Process and Tooling at Scale
rocio
167
14k
Transcript
GCCP Creator LINE Developer Rela/ons NiJia Lin
🥷 NiJia Lin LINE Technology Evangelist COSCUP 2020、2021 講者 LINE
Bot SDK Python 共同維護者 😻貓派、🐶柴⽝派
LINE Technology Evangelist COSCUP 2020、2021 講者 LINE Bot SDK Python
共同維護者 😻貓派、🐶柴⽝派(⽝在哪?) 蟒蛇派 🐍 🥷 NiJia Lin
Cloud Storage Speech To Text IAM & Role Youtube &
Video.js 今⽇ GCCP Creator 圍繞… Cloud Run 凡事總有 個原因 https://github.com/louis70109/GCCP-Creator
🎥 減少獨⾃製作影片的 effort 🎯 增加被平台看⾒的機會 🀄 想紅 https://github.com/louis70109/GCCP-Creator 你好好解釋 -
凡事總要個原因
GCCP 能怎麼增進效率 https://github.com/louis70109/GCCP-Creator
爲什麼⽤ CC 字幕?
使⽤ CC 字幕的原因 優點篇 • 不必等字幕做完才出影片 • 上字幕難免出錯,修改快速 • 自適應(不受解析度影響)
• 提高影片曝光率(Youtube 識別) • Youtube 編輯器夠用 • 額外優惠 • 幫助聽障人士 • 電腦版有自動翻譯 • 有機會讓粉絲幫忙共編 https://github.com/louis70109/GCCP-Creator
使⽤ CC 字幕的原因 缺點篇 • 預設是關閉,需要訓練用戶 • 中文觀眾習慣看內字幕 • 字卡特效較少(不夠吸睛)
https://github.com/louis70109/GCCP-Creator
能怎麼設定 GCCP 呢?
我在講它要聽! ✍ 開啟 SpeechToText
Speech to text
Speech to text 不⽤在 UI 上建立
Speech to text ⽤ API 來操作就好👍
總會需要個玻璃櫃 🦖 建立 Cloud Storage
建立 Google Cloud Storage (a.k.a GCS)
建立 Google Cloud Storage (a.k.a GCS)
⽽且要有鎖頭 🔐 來點 IAM & Role
IAM
IAM
鑰匙不能被發現 – 把 JSON Key 送進環境變數 安全 🆙 部署 🆙
⾦⿂腦 ⬇ • 建立一個暫時檔 • 路徑放環境變數中 • 寫入 GOOGLE_APPLICATION_CREDE NTIALS • ⚠需要框架啟動前
鑰匙不能被發現 – 把 JSON Key 送進環境變數 安全 🆙 部署 🆙
⾦⿂腦 ⬇ • 建立一個暫時檔 • 路徑放環境變數中 • 寫入 GOOGLE_APPLICATION_CREDE NTIALS • ⚠需要框架啟動前
安全 🆙 部署 🆙 ⾦⿂腦 ⬇ • 建立一個暫時檔 • 路徑放環境變數中
• 寫入 GOOGLE_APPLICATION_CREDE NTIALS • ⚠需要框架啟動前 • ⚠需整理成 JSON 樣式 • 單引號 -> 雙引號 鑰匙不能被發現 – 把 JSON Key 送進環境變數
安全 🆙 部署 🆙 ⾦⿂腦 ⬇ • 建立一個暫時檔 • 路徑放環境變數中
• 寫入 GOOGLE_APPLICATION_CREDE NTIALS • ⚠需要框架啟動前 • ⚠需整理成 JSON 樣式 • 單引號 -> 雙引號 鑰匙不能被發現 – 把 JSON Key 送進環境變數
萬事皆上雲 ⛅ 如何部署到 GCP
None
就這樣?🤨
對,就這樣 🤗
• Docker 免、DockerHub 免,只要⼀個 Dockerfile • 省硬碟空間 (但需要神奇⼩卡) • 省去開發初期⿇煩的事情
使⽤ gcloud 好處
做什麼才會觸發 (導火線) 在 CloudRun 設定 Eventarc
Speech to text
設定觸發條件
設定觸發條件
上傳檔案測試
⾃動產⽣ SRT
到 CloudRun 設定 Eventarc
不想住這邊,我要搬走! 使⽤ video.js 的 hints
影片(mp4) ⼈⼈好,別把我送⼈就好 • ⼿動上傳檔會有 CORS • 只要開啟 public 即可 •
誰都不准擋我!
CORS 你聽我解釋 – CC 字幕篇 • ⽤個 API Server 轉成純⽂字給前端
• (Optional) 放在 localStorage 上⾯
CORS 那我要去愛別⼈ – API 我還你原形 • ⽤個 API Server 轉成純⽂字給前端
• (Optional) 放在 localStorage 上⾯ • 因為有 \n,⽤ eval() + Blob 組合把它變成⼀串網址回給 video.js
• 因 GCS 的 CORS 的設定⽬前在 GCP 網⾴介⾯上沒辦法改, ⼀定要⽤ CLI
設定 既然你不聽那我來硬的 – CLI 降⾁!
• 因 GCS 的 CORS 的設定⽬前在 GCP 網⾴介⾯上沒辦法改, ⼀定要⽤ CLI
設定 既然你不聽那我來硬的 – CLI 降⾁!
• 因為 CORS 的設定在 GCP 網⾴介⾯上沒辦法改,⼀定要 ⽤ CLI 設定 •
泡個茶上個廁所,時間到了 Cache 就不在了 • 開啟 DevTools 清除快取(Cache) 過去即是永恆 – 快取放我走!
• 必須要⽤ WebVTT 格式 • Video.js 會⾃動的轉成 big5 • 有時間序的
SRT 字幕檔第⼀⾏ ➕ WEBVTT\n\n(兩個換⾏) 不都在講同⼀件事?Video.js 需要 VTT
那字幕編輯在哪?
別⼈的比較好🚬 (⼩吉) Youtube UI 很夠⽤
管理⼤師⏰的⼤家 能帶走點什麼?
✍揮揮衣袖,不帶走⼀片雲彩 • STT 時間⽀援最低到 nano,但在 Youtube 字幕上也算很精準 • STT 測試起來以⼀分鐘為分⽔嶺,太短的影片可能不適⽤
• 減少初期敲字幕稿的時間(30~40%),只需後續細修、對時間 • 編輯器⽤別⼈的就好,別想⾃⼰寫 (還我三個禮拜!) • 若有 Python、FastAPI 部署相關經驗歡迎等等找我聊🤝 • Video.js ⽢苦談也⼀起來! https://github.com/louis70109/GCCP-Creator
None
None