Brightstream Logo
Media / OTTCustom systems

別的廠商交付不了的 OTT 平台,我們接手救活——然後他們把 App 也交給我們

新唐人的私有化 OTT 平台原本卡在前一手廠商交付不了,川輝接手救火、完整上線正常營運——之後客戶把 App 也交給川輝。

🐻
Johnny Yang
Led this engagement · founder, Brightstream Technology
別的廠商交付不了的 OTT 平台,我們接手救活——然後他們把 App 也交給我們

我接的是一個別人交付不了的案子

新唐人 NTDVideo 是一家做優質原創影音的媒體。他們要的東西很清楚:一個自己的私有化 OTT 平台——不再把觀眾和數據寄放在別人的公有平台上。

問題是,我接到這個案子的時候,它已經卡住了。

前一手的廠商做不完、交付不了。一個影音平台牽涉會員、金流、權限、高併發流量——做到一半卡住,是最難的狀態:你不只要往前做,還要先搞懂前面留下來的東西哪裡不能用。

很多人不接救火案,因為風險高、又不討喜。我接了。

NTDVIDEO 亞太電視台
NTDVIDEO 亞太電視台

我們做的事:先救活,再做好

我帶團隊接手,把這個平台重新做扎實——一個 ASP.NET Core 8.0 multi-project 解決方案,5 個專案串成完整 OTT 系統:

專案角色
NTDVideoTw.Web會員前台(Razor Pages,17 個前台頁)
NTDVideoTw.Staff後台管理(Telerik Kendo UI,9+ 模組)
NTDVideoTw.ApiAPI 服務(會員 / 通知 / 影片 / 訂閱 端點)
NTDVideoTw.FipSvc金流服務(NewebPay 藍新整合,獨立部署)
NTDVideoTw.Shared共用模型 / Services / Utils

DB 用 RavenDB(NoSQL):影片 metadata、會員、訂閱、通知都走文件導向,避開傳統關聯式 DB 在「會員 × 影片 × 觀看進度 × 收藏 × 通知」這種多對多場景的 schema 地獄。雲端原生架構部署到 AWS EC2,撐得起高併發。

平台首頁與品牌識別
平台首頁與品牌識別

解了一個很實際的 Docker 部署痛點

OTT 後台的編譯很重——光 NTDVideoTw.Staff 一個 project(含 Telerik Kendo + 後端邏輯)容器內編譯就 OOM。

我們做的解法:pre-build 策略 — 把 compilation 從 main docker-compose.yml 拆出去到 docker-compose.build.yml,先在主機編譯好 image 再 deploy。docker-compose up 拿的是現成的 ntdvideo-web:latest / ntdvideo-staff:latest,部署時不會炸記憶體。

這種「部署細節」是市面教科書不會寫但會打死你的東西。我們把這套 SOP 沉澱下來,後續類似量級的 .NET 客戶可直接 transfer。

18+ 核心功能模組矩陣
18+ 核心功能模組矩陣

7 大核心功能 100% 上線

這案有明確的 7 大核心功能交付清單,2026 上半年全數上線:

  1. 影片上架會員通知(站內通知系統,自動推送含縮圖)
  2. 會員通知中心(即時已讀/未讀、稍後觀看、收藏功能分離)
  3. 影片發布日期(前台時間軸呈現)
  4. OAuth 4 家整合(Google / Facebook / LINE / Apple)
  5. Staff 後台(影片管理 / 會員管理 / 訂閱 / 報表)
  6. 金流服務 FipSvc(NewebPay 訂閱週期扣款,獨立部署降風險)
  7. API 服務(給未來 App / WebView 用)

整體完成度 93%,剩餘缺口在「手機 App」與「固定 IP 金流」(已規劃但客戶當期未啟)。

精細分類與 VIP 專區設計
精細分類與 VIP 專區設計

重複扣款事件 — 我們怎麼處理

2026-03 客戶反映:部分會員被 NewebPay 重複扣款。我們做的事:

  1. 當天:拉出所有重複交易紀錄(NewebPay Period Detail CSV)
  2. 隔天:定位根因(webhook idempotency 漏 + 客戶 client-side race condition)
  3. 第三天:修復+資料清理(誤扣款全數退款給會員)
  4. 第四天:寫成 2026-03-01-訂閱重複扣款修復與資料清理.md 內部 SOP

金流 bug 對訂閱型生意是致命的——我們不是事後解釋,是當天止血、隔天修、第三天還錢。客戶的會員沒少一個

會員數指數級成長 (首季突破 5 萬)
會員數指數級成長 (首季突破 5 萬)

然後,他們把 App 也交給我們

救火案做完,發生的事跟我每一個好案子一樣:客戶回來,把下一個、更重要的案子也交給川輝——WebView App 開發(iOS + Android 同步上架),含會員推薦碼系統 + 折扣優惠碼系統,8 週時程。

真正的交付不是「做完一個案子」。是客戶在看過你怎麼收尾之後,願意把更大的東西放到你手上。

AWS 雲端原生全棧架構
AWS 雲端原生全棧架構

這個案子真正的價值:從流量思維到資產思維

技術只是表層。新唐人這個案子,底層是一個媒體經營觀念的轉變。

在公有平台上,你有流量,但觀眾不是你的、數據不是你的。平台政策一變,你的觀眾就可能消失。私有化平台的意義,是把「流量」變回「資產」——觀眾變成你自己的會員,行為變成你自己的數據,營收變成你自己的訂閱現金流。

這對任何靠內容吃飯的人都成立:你要的不是更多流量,是真正屬於你的用戶。

成本效益與效能提升分析
成本效益與效能提升分析

川輝交付了什麼

項目內容
平台狀態從「前一手交付不了」→ 完整上線、正常營運
技術 stackASP.NET Core 8.0 multi-project(5 個專案)/ RavenDB / AWS EC2
Staff 後台Telerik Kendo UI / 9+ 後台模組
金流NewebPay 藍新(訂閱週期扣款,FipSvc 獨立部署)
7 大核心功能100% 完成
整體完成度93%
通知系統站內 + 即時已讀 + 稍後觀看 + 收藏分離
OAuthGoogle / Facebook / LINE / Apple 四家
部署Docker pre-build(解 OOM)+ 維護模式部署不中斷
後續客戶延伸委託:WebView App + 推薦碼系統 + 折扣優惠碼系統(8 週)

新唐人 NTDVideo 怎麼說

「案子卡關的時候找上川輝,他們不只把前面的問題收乾淨,還把整個平台做扎實。後來訂閱扣款出狀況那次,他們當天止血、隔天修、第三天還錢——這種收尾品質,是我們把 App 也直接交給他們的原因。」 — 新唐人 NTDVideo(川輝代擬,已授權公開)

熊董的話

很多廠商不接救火案,因為你要替別人留下的問題負責。但我願意接——因為一個案子怎麼收尾,比怎麼開場更能看出一家公司。

新唐人後來把 App 也給我們,不是因為我簡報講得好,是因為他們親眼看過我們怎麼把一個爛攤子收乾淨、看過我們怎麼處理金流意外。B2B 信任不是簡報贏的,是收尾換來的。

認識熊董 →

In the Client's Words· In the client's words

案子卡關的時候找上川輝,他們不只把前面的問題收乾淨,還把整個平台做扎實。所以後來 App,我們也直接交給他們。

新唐人 NTDVideo
Bear's note

The judgement behind this one.

Behind every project there is a call I made — usually the trade-off between "this road is worth taking" and "this one is not". This case study describes the outcome, but the judgement behind it is worth more than the outcome.

If you are thinking "what would I do if this were my company" — that is exactly what the free 30-minute diagnostic is for. I take the key judgement from this case, apply it to your business, and give you a route map of your own.

🐻
Johnny Yang
Founder, Brightstream Technology · led this engagement
System screenshots

What it looks like.

NTDVIDEO 亞太電視台

NTDVIDEO 亞太電視台

平台首頁與品牌識別

平台首頁與品牌識別

18+ 核心功能模組矩陣

18+ 核心功能模組矩陣

精細分類與 VIP 專區設計

精細分類與 VIP 專區設計

會員數指數級成長 (首季突破 5 萬)

會員數指數級成長 (首季突破 5 萬)

AWS 雲端原生全棧架構

AWS 雲端原生全棧架構

成本效益與效能提升分析

成本效益與效能提升分析

Your Case Could Be Next· Next case study

Want to be on this list?
It starts with a free diagnostic.