1

我正在編寫單頁面web應用(angularJs)和服務器後端(node.js)。它們之間的通信是通過REST完成的。基於瀏覽器的文件上傳到AWS S3並編碼服務器 - 客戶端工作流程

目前即時通訊試圖實現以下情形:

  1. 上傳瀏覽器大文件到S3公共桶。

  2. 複製上傳文件到私人桶上S3

  3. 轉碼上傳的文件爲HTML 5兼容的格式(AWS彈性轉碼器)

  4. 關於DB文件

    商店元對象以後要進入

我正在絞盡腦汁爲服務器和客戶端之間的通信/數據工作流程設計一個良好的工作方式,但總是被困在以下問題中?

  • 將文件元對象存儲在過程的末尾或開始處。如果是在一開始,我必須存儲和處理一些狀態信息?

  • 誰應該開始將上傳的文件複製到專用存儲桶。服務器或客戶端?如果是服務器,客戶如何獲得有關工作的信息?

  • 誰開始轉碼過程?如果是服務器,客戶如何獲得有關工作的信息?

你會怎麼做?

回答

1

有描述您打算實現用例的一個很好的教程:http://www.bitcodin.com/blog/2015/02/create-mpeg-dash-hls-content-for-amazon-s3-and-cloudfront/

如果您的轉碼系統有問題的REST API(如bitcodin這是在本教程中使用,或任何其他服務),您可以在客戶端執行應用程序,並使用API​​調用來獲取轉碼等的狀態。但是,使用API​​可以在服務器端執行相同的操作,無論哪種方式更適合您。

我個人會在流程開始時存儲元數據信息,因爲這是您在數據庫/ CMS /等中生成「資產」的時間點。

+0

Thx爲您的答案Stefan。我檢查了你鏈接的教程,實際上這符合我計劃實施的內容。主要區別在於,所有這些步驟都應該在我的系統中自動完成。用戶只是將文件放入瀏覽器中。這就是服務器和客戶端之間的數據和通信流開始對我來說不那麼明顯的地步。如果服務器啓動此過程,客戶端如何獲知轉碼已完成? –

相關問題