公有雲視頻服務功能簡介
1.公有雲上的視頻服務簡介
視頻服務是互聯網上需求巨大的服務,各種視頻類網站,例如優酷土豆,搜狐電視,PPTV,電視台,廣告公司,培訓教育類網站等都需要使用視頻服務來實現視頻上傳,編碼,解碼,二次編輯,分發等功能。據統計,視頻服務占到了所有互聯網流量的57%。隨著智能手機,可穿戴式設備,虛擬現實等技術的迅勐發展,視頻服務的需求越來越大。因此,所有的公有雲廠商都不約而同地提供了各種視頻服務,以幫助用戶快速開發,並實現大規模的自動部署和內容分發。
在部署和使用視頻服務的過程中,主要有一些挑戰,包括基礎設施,係統管理,內容管理,數字權限管理,安全性,二次編輯,編碼解碼,分發和傳輸等等。公有雲廠商一般都解決了基礎設施,係統等功能,而在具體的功能上有一些區別。
我們將會選擇亞馬遜AWS, 阿裏雲,微軟Azure和七牛雲作為我們分析的對象,比較他們在視頻服務上提供的一些功能。不過本文不涉及存儲的性能,視頻處理的效率,CDN, 使用的價格,代碼API SDK的接口比較等,如果希望了解視頻處理的進一步情況,可以通過 info@yungoal.com 聯係我們。
文中內容基本參考各公有雲的官方網站,如有遺漏,也歡迎和我們聯係。
2.Amazon Web Service上的視頻服務
2.1 簡介
Amazon Web Service簡稱AWS,是全球最大的公有雲平台。它於2006年推出,以Web服務的形式向企業提供IT基礎設施服務,現在通常稱為雲計算。其主要優勢之一是能夠以根據業務發展來擴展的較低可變成本來替代前期資本基礎設施費用。亞馬遜網絡服務所提供服務包括:亞馬遜彈性計算網雲(Amazon EC2),亞馬遜簡單儲存服務(Amazon S3),亞馬遜簡單數據庫(Amazon SimpleDB),亞馬遜簡單隊列服務(Amazon Simple Queue Service)以及Amazon CloudFront等。AWS已經為全球190個國家/地區內成百上千家企業提供支持。數據中心位於美國,歐洲,巴西,新加坡和日本。作為雲計算領域真正的大佬,一旦亞馬遜攜AWS正式進入中國,那麼對國內相關的雲計算企業可能會帶來深刻影響,目前國內像阿裏巴巴,盛大以及華為都在提供類似雲計算服務。
AWS上的視頻服務被稱為Elastic Transcoder,即彈性編碼服務。它是在AWS中進行媒體轉碼的工具,是一種經濟實惠且具有高可擴展性和易用性的視頻轉換方法,開發人員和企業可以用它來將媒體文件從源格式轉換(或稱為“轉碼”)到其他版本,以便在智能電話,平板電腦和 PC 等設備上播放。
圖 1 Amazon Elastic Transcoder的圖標
2.2 服務亮點
• 易於使用
Amazon Elastic Transcoder 的設計目標是易於使用。您可以通過 AWS 管理控製台,服務 API 或軟件開發工具包開始使用。係統轉碼預置模版使客戶在首次使用時能輕鬆獲得正確的轉碼設置。我們提供了預定義預置模版,以創建可在大部分設備(如智能電話或平板電腦)上播放的媒體文件,還提供了預置模版,以創建專為在特定設備(如 Amazon Kindle Fire HD 或 Apple iPod touch)上播放而優化的媒體文件。您還可以創建分段文件和播放列表,以使用 HLS 協議交付到兼容的設備中。開發人員可使用適用於 Java,.NET,Node.js,PHP,Python 和 Ruby 的 AWS 軟件開發工具包和新的 AWS 命令行界麵來構建需要轉碼的應用程序。
• 彈性伸縮
Amazon Elastic Transcoder 為實現根據視頻轉碼工作負載無縫擴展而設計。Amazon Elastic Transcoder 的架構目標就是處理大量媒體文件和大型文件。轉碼管道使您能夠並行執行多個轉碼任務。Amazon Elastic Transcoder 利用其他 Amazon Web Services,如 Amazon S3, Amazon EC2,Amazon DynamoDB,Amazon Simple Workflow (SWF) 和 Amazon Simple Notification Service (SNS),來提供可擴展性和可靠性。
• 經濟高效
Amazon Elastic Transcoder 采用根據內容時長定價的模式,即:按被轉碼的媒體輸出時長付費(按分鍾計)。例如,如果您的轉碼輸出視頻的時長是 30 分鍾,您將支付 30 分鍾的視頻轉碼費用。同樣,如果您從一個時長 30 分鍾的輸入文件創建了一個時長 20 分鍾的視頻剪輯,您將支付 20 分鍾的轉碼費用。使用 Amazon Elastic Transcoder,沒有最低轉碼量限製,無需月度承諾或簽署長期合同。
• 托管
Amazon Elastic Transcoder 使您能夠集中精力處理內容,而無需在分布式雲環境中管理轉碼軟件。該服務會處理擴展和係統操作,並管理保持編解碼器處於最新狀態的進程。還可與我們的服務 API 和軟件開發工具包結合使用,使您能夠輕鬆構建可使用 Amazon Elastic Transcoder 的媒體解決方案。
• 安全
您的內容完全在您的掌控之下:您的資產存儲在您自己的 Amazon S3 存儲段中,您通過 IAM 角色授予我們對內容的訪問權限。這樣,您無需放棄控製權,就能簡單且無縫地調整您的當前安全與身份認證框架。在構建 Amazon Elastic Transcoder 的過程中,我們利用了構建其他 Amazon Web Services 時獲得的最佳安全實踐。要了解有關 AWS 安全性的更多信息,請參考我們的 AWS 安全中心。有關合規性的更多信息(包括 MPAA 最佳實踐),請參考 AWS 合規性。
• 無縫傳輸
使用 Amazon Elastic Transcoder,Amazon S3 和 Amazon CloudFront,您可以存儲,轉碼和傳輸您的內容。通過在 Amazon Elastic Transcoder 中設置 CloudFront 分配的 S3 權限,現在隻需要一步就可以用 Amazon Elastic Transcoder 轉碼內容並通過連續下載或帶 CloudFront 的 HLS 流媒體傳輸多個輸出視頻。
• AWS 集成
Amazon Elastic Transcoder 提供了一個重要的媒體構建塊,用於在 AWS 上創建端對端媒體解決方案。例如,您可以使用 Amazon Glacier 存儲主要內容,使用 Amazon Elastic Transcoder 將主要內容轉碼成存儲在 Amazon S3 中用戶分配的呈現,並使用 Amazon CloudFront 通過 Internet 大規模流化這些呈現。
2.3 詳細功能
以下內容來源於AWS官方網站介紹: https://aws.amazon.com/cn/elastictranscoder/details/
Amazon Elastic Transcoder 提供了以下功能,使視頻轉換變得簡單輕鬆,價格便宜且具有可擴展性。
• 轉碼管道:您可以通過轉碼管道設置和並行運行轉碼工作流。您可以將轉碼管道用作創建靈活的工作流的一種方式。例如,您可以設置一個管道來對時間短的內容進行轉碼,再設置另一個管道來對時間長的內容進行轉碼,或者也可以針對不同的分辨率或存儲位置分配不同的管道。
• 轉碼作業:轉碼作業是將媒體文件從一種格式轉碼成另一種格式的工作。您可以通過一種作業從一個輸出文件中創建比特率和格式不同的多個輸出文件。例如,一個作業可以創建由一個同一個輸入文件的不同分辨率和比特率組成的呈現。您還可以創建僅限音頻的交換流,創建 HLS 文件集時通常使用此流媒體。在創建作業時,您需要指定 Amazon Elastic Transcoder 執行轉碼作業時所需的信息,包括:要轉碼的文件,轉碼後輸出文件的名稱以及要使用的預置模版。轉碼作業在轉碼管道內運行,轉碼管道可同時運行多個作業,因此您可以在您的 AWS 賬戶中同時運行許多作業。
• 係統轉碼預置模版:Amazon Elastic Transcoder 提供了一組轉碼預置模版,使您不必為弄清各個設備適合的轉碼設置而進行大量猜測。您可以從那些可創建能在任何設備上播放的輸出的預置模版中進行選擇,或選擇針對特定設備的預置模版。要獲得盡可能廣泛的兼容性,請選擇“廣度預置”模版,以創建可在大部分設備上播放的輸出文件。要獲得最佳質量和文件大小,請選擇“優化預置”模版,以創建適合特定設備或設備類別的輸出文件。
• 自定義轉碼預置模版:我們提供的轉碼預置模版適用於大部分設備和平台,但是有些客戶可能需要創建特定的預置模版,以達到特殊的輸出目標。使用自定義預置模版,您可以自定義現有轉碼預置模版並在一個地區的 AWS 賬戶中的所有管道中使用。
• 自動視頻比特率優化:借助這個自動視頻比特率設置,Amazon Elastic Transcoder 將自動調整比特率,從而優化您的轉碼輸出的視覺質量。使用最大比特率參數可以限製輸出視頻的瞬時比特率。這樣做可以生成限製最大比特率的輸出文件,符合某些設備對回放規格的要求。結果就是,您獲得的視頻文件看上去很棒,但其壓縮性比您為整個文件選擇一種比特率時要好。
• 監控和管理:您可以通過 AWS 管理控製台或 Amazon Elastic Transcoder API 或軟件開發工具包查看轉碼管道和作業的狀態。您還可以通過停止,啟動或取消操作來控製管道和作業。
• 通知功能:Amazon Elastic Transcoder 使用 Amazon Simple Notification Service (SNS) 來通知您有關轉碼事件的信息。您的轉碼作業開始,完成時,或存在警告和錯誤條件時,您將收到通知。使用通知功能是監控和管理您的轉碼工作負載的有效方式。您可以依靠 Amazon Elastic Transcoder 為您通知改變,這樣您就不需要輪詢狀態服務。
• 縮略圖:Amazon Elastic Transcoder 可為您創建輸出視頻的縮略圖。您可以設定縮略圖的大小,屏幕的高寬比以及其他參數,包括您希望生成的縮略圖的個數。如果您希望添加章節標記,提供視覺掃描功能或純粹想為內容提供最具代表性的縮略圖,則生成多個縮略圖會非常有用。
• 視覺水印:Amazon Elastic Transcoder 可以在輸出的視頻上覆蓋最多四個靜態圖像。要為輸出視頻打水印,隻需提供包含 PNG 或 JPG 圖像的文件,並使用轉碼預設以指定水印的位置,比例,尺寸和不透明度等信息。可以使用此功能在輸出中添加節目標誌或其他標識。
• 字幕:Amazon Elastic Transcoder 支持字幕。添加字幕就是將配合視頻的文字顯示在視頻中的過程,字幕可以顯示節目中的聲音片段,也可以將聲音翻譯成其他的語言。在將視頻在兩種格式之間進行轉碼時,使用 Elastic Transcoder 可以添加,刪除或保留字幕。
• 格式:Amazon Elastic Transcoder 支持轉碼到以下輸出格式:
HLS 使用 MPEG-2 TS 容器容納 H.264 編碼的視頻和 AAC 或 MP3 編碼的音頻
Smooth Streaming 使用 fmp4 容器容納 H.264 編碼的視頻和 AAC 編碼的音頻
XDCAM 使用 MXF 容器,視頻以 MPEG-2 編碼,音頻以 PCM 編碼
MP4 容器,視頻以 H.264 編碼,音頻以 AAC 或 MP3 編碼
WebM 容器,視頻以 VP8 編碼,音頻以 Vorbis 編碼
FLV 容器,視頻以 H.264 編碼,音頻以 AAC 或 MP3 編碼
MPG 容器,視頻以 MPEG-2 編碼,音頻以 MP2 編碼
MP3 容器,音頻以 MP3 編碼
MP4 容器,音頻以 AAC 編碼
OGG 容器,音頻以 Vorbis 或 FLAC 編碼
OGA 容器,音頻以 FLAC 編碼
FLAC 容器,音頻以 FLAC 編碼
GIF 動畫
• HLS 使用 AES-128 加密:您可以生成受 AES-128 加密保護的 HLS 流。使用此選項創建的工作將對媒體文件進行加密並在播放列表中引用加密密鑰。除工作對象外,您還可以選擇使用 SSE-S3 讓 Elastic Transcoder 將加密數據鍵直接寫入 S3,在 S3 中數據鍵將受到 AWS-KMS 主密鑰的保護。
• DRM 打包:我們支持對 Microsoft PlayReady DRM 進行打包。您可以使用 Microsoft PlayReady PIFF 1.1 保護 Smooth Streaming 文件,還可以使用 Discretix 3.0.1 for Microsoft PlayReady 保護 HLS 輸出。當您創建轉碼作業的時候,請務必將加密密鑰和 PlayReady 許可證提供方提供的許可證服務器 URL 包含在其中。
• 加密媒體文件:您可以使用加密的夾層文件作為 Amazon Elastic Transcoder 的輸入內容,或讓服務來對輸出內容進行加密以保護您轉碼後的文件。支持的選項包括使用 Amazon S3 服務器端加密的完全托管集成,以及您自己管理並使用 AWS Key Management Service (KMS) 進行保護的密鑰。而且加密支持不隻限於視頻文件。我們可以保護縮略圖,字幕,甚至是水印。
• 漸進式下載所需媒體:您可以將媒體內容的原始版本存儲在 Amazon S3 中,並對 Amazon CloudFront 下載分配進行配置,實現您的視頻和音頻文件漸進式下載。常用的媒體文件被緩存到節點上,以便於您進行擴展並為瀏覽者提供最佳性能。
• 剪輯生成:您可以從源媒體創建剪輯,方法是指定剪輯的開始時間以及(可選)所需的持續時間。在轉碼作業中,您可以為每個輸出生成不同長度的剪輯(或將整個文件轉碼)。您隻需按轉碼的輸出時長付費,如果您有一個時長為五分鍾的輸入文件,並從該文件創建了一個時長為一分鍾的輸出,則隻需支付一分鍾的轉碼費用。
• 高級設置:您可以使用高級設置來覆蓋默認設置或自動化作業和預置參數。例如,您可能希望強製使用或限製特定的輸出幀速率,最大比特率以及循環方式或設置特定的 H.264 或 VP8 配置文件等級。
• 多地區:Amazon Elastic Transcoder 可在以下六個 AWS 地區使用:美國東部(弗吉尼亞北部),美國西部(俄勒岡),美國西部(加利福利亞北部),歐洲(愛爾蘭),亞太地區(新加坡)和亞太地區(東京)。
自適應比特率流媒體
自適應流媒體提供更優秀的用戶體驗,可針對網絡狀況和 CPU 利用率進行調節,自動切換到更高或更低質量的數據流。Amazon Elastic Transcoder 可以創建一組采用不同分辨率和比特率的分段式輸出呈現,以及相應的播放列表或清單文件,全部儲存在 Amazon S3 中。Amazon Elastic Transcoder 支持以下做法:
• HTTP Live Streaming (HLS):您可以使用 Amazon Elastic Transcoder 創建與第 3 版或第 4 版 HLS 協議兼容的完整輸出內容集合。HLS 普遍用於觸及 iOS 設備,Android 設備,機頂盒和基於瀏覽器的播放器。然後您可以單獨使用 Amazon S3 或搭配使用 Amazon CloudFront 來交付您的媒體內容。
• Smooth Streaming:您可以使用 Amazon Elastic Transcoder 創建一組分辨率和比特率各不相同的 MP4 輸出片段,和相應的 ISM 和 ISMC 清單文件。然後使用 Amazon CloudFront 或 IIS 服務器將媒體文件交付到使用 Smooth Streaming 功能的玩家,例如 Xbox,Windows Phone 以及利用 Microsoft Silverlight 的客戶端玩家。
3.阿裏雲上的視頻服務
3.1 簡介
阿裏雲是阿裏巴巴集團旗下雲計算品牌,全球領先的雲計算技術和服務提供商。創立於2009年,在杭州,北京,矽穀等地設有研發中心和運營機構。2010年,阿裏雲對外開放其在雲計算領域的技術服務能力。用戶通過阿裏雲,用互聯網的方式即可遠程獲取海量計算,存儲資源和大數據處理能力。截至2014年6月,阿裏雲服務的客戶數超過140萬,遍布互聯網,移動APP,音視頻,遊戲,電商等各個領域。根據IDC調研報告,阿裏雲是國內最大的公共雲計算服務提供商。
阿裏雲上的視頻服務被稱為媒體轉碼(Media Transcoding),是為多媒體數據提供的轉碼計算服務。它以經濟,彈性和高可擴展的音視頻轉換方法,將多媒體數據轉碼成適合在PC,TV以及移動終端上播放的格式。媒體轉碼服務基於阿裏雲雲計算服務構建,它改變了以往進行轉碼時需要購買,搭建,管理轉碼軟硬件的高昂投入以及配置優化,轉碼參數適配等複雜性問題;同時,借助雲計算服務的彈性伸縮特性,可以按需提供轉碼能力,從而最大限度的滿足業務轉碼需求,避免資源浪費。媒體轉碼服務功能包括Web管理控製台,服務API和軟件開發工具包。您可以通過它們使用,管理轉碼服務,也可以將轉碼功能集成到您自己的應用和服務中。
圖 2 阿裏雲媒體轉碼的圖標
3.2 產品優勢
• 經濟
無需前期投資,隻按實際用量付費
同等質量視頻,文件更小,更省流量
• 專業
成熟編碼算法,更高視頻質量
智能分析視頻內容,預置智能模板
• 彈性
高速穩定的並行轉碼係統
轉碼任務規模無縫擴展
• 高擴展
提供豐富的媒體處理工具
自定義轉碼模板,按需設定
3.3 詳細功能
以下內容來源於阿裏雲官方網站介紹:
• 轉碼支持對存儲於OSS中的音,視頻文件按需轉碼。
• 管道可以通過管道來區分不同的轉碼業務,同一個管道內的作業支持優先級設置。同時,通過為管道分配轉碼資源,可以控製管道同時處理轉碼作業的能力。
• 截圖支持對存儲於OSS上的視頻文件截取指定時間的JPG格式圖像。
• 媒體信息支持獲取存儲於OSS上的音,視頻文件的編碼和內容信息。
• 水印支持在輸出的視頻上覆蓋最多四個靜態圖像。水印圖片支持PNG格式。
• 預置模版媒體轉碼服務為適配一定網絡帶寬範圍的輸出視頻預設了一係列轉碼模版:
預置智能模版會根據輸入視頻的具體情況而自動調整轉碼參數以滿足輸出視頻要求。由於輸入視頻本身有差異(分辨率,碼率等),不一定所有的預置智能模板都適合。因此需要通過模版分析作業來獲取指定輸入文件的可用預置模版。多媒體文件的轉碼,實際是在盡可能壓縮文件大小(即降低碼率)與盡可能減少文件質量損失之間的平衡,預置智能模版是質量優先的。
預置靜態模版可以直接調用的預置模版,無需進行模版分析。它分為三類:視頻轉碼模版,音頻MP3轉碼模版及M3U8切片模版,涵蓋常見的播放設備及帶寬條件,以碼率控製優先。
• 自定義模版由用戶自行定義轉碼參數的轉碼模版,它是轉碼參數(音頻,視頻,容器等)的集合,可以滿足用戶個性化的轉碼需求。
• 剪輯輸出支持指定時間點開始,截取指定時長的媒體剪輯。
• 分辨率按比例縮放轉碼輸出參數中僅指定寬或者高,另一個參數留空,則媒體轉碼服務會按照原視頻的寬高比自動設定另一個參數。
• M3U8輸出自定義切片時長支持自定義設置M3U8切片時長,範圍從1秒至60秒;有助於用戶根據播放端帶寬條件來設定切片時長,降低用戶首屏加載時間。
• 音視頻抽取從視頻文件中單獨分離出音頻或視頻。
• 視頻畫麵旋轉支持輸出視頻旋轉視頻畫麵一定角度。
• 視頻轉GIF支持視頻轉碼為GIF輸出。
• 消息通知集成(公測)集成MNS服務。為管道設定消息通知屬性,管道內轉碼作業異步接口的返回消息可通過消息通知服務主動推送到用戶的消息接收服務。
4. 微軟Azure上的視頻服務
4.1 簡介
微軟Azure是微軟提供的雲計算平台,主要目標是為開發者提供一個平台,幫助開發可運行在雲服務器,數據中心,Web和PC上的應用程序。雲計算的開發者能使用微軟全球數據中心的儲存,計算能力和網絡基礎服務。Azure服務平台包括虛擬機,雲服務,移動服務等等。
Azure上的媒體服務被稱為Media Service,Azure 媒體服務為世界各地的消費者和企業流式處理解決方案提供支持。媒體服務與功能強大且高度可縮放的基於雲的編碼,加密和流式處理組件合並,可幫助擁有寶貴的高級視頻內容的客戶在當今最受歡迎的數字設備(例如平板電腦和手機)上輕鬆地與更廣大的觀眾群體取得聯係。此外,借助可增強可發現性的 Azure Media Indexer,可簡化分發的跨平台播放器以及可從實時內容輕鬆轉移到按需播放內容的雲 DVR 功能等令人興奮的新功能,以及大型增值第三方合作夥伴生態係統,媒體服務真正做到為客戶提供同類最佳的視頻內容解決方案。親自來查看並了解媒體服務如何為端到端媒體工作流提供支持。
圖 3 Azure Media Service的圖標
4.2 產品優勢
音頻與視頻的大規模編碼,存儲和流式傳輸
通過Azure 媒體服務,可構建綜合性端到端媒體工作流,降低與集成多項產品和提供程序關聯的成本。您可從微軟及其合作夥伴中選擇已集成且立即可供使用的服務。
實時流式傳輸和視頻點播
該服務具備經營您自己的雲端視頻平台(提供實時節目和視頻點播 (VOD))所需的一切。Azure 媒體服務包括應對媒體處理,傳送和消費所需的全部工具和服務。
快速攝取選項和動態打包
通過支持UDP 或郵寄硬盤等方式快速上載資產。內容可編碼為多碼率 MP4 文件,並可隨時提供所有格式,內容僅存儲一個副本,借此可優化存儲利用率。
雲規模工作室級別編碼
利用我們的“基本”,“標準”和“高級”版編碼保留單元,專門針對你的工作流的要求對編碼速度進行定製。利用我們的 Azure 媒體編碼器,該編碼器支持各種 Studio 級輸入和輸出文件格式,並基於輸出 GB 數計費。
具有集成內容交付網絡功能
從各種來源拉取內容,可提供基於令牌的身份驗證和地域阻止功能。有了Azure CDN,您可以通過全球數據中心的穩定網絡,向世界各地的最終用戶提供高帶寬,低延遲,高可用的內容。
使用 AES 或 PlayReady 提供內容保護和加密
您的資產在上載期間可通過加密得到妥善保護,隨後會用安全的方式存放在存儲係統中,在播放期間則通過 Microsoft PlayReady 數字版權管理 (DRM) 或 AES 加密方式進行保護。
針對所有播放需求的一個播放器
借助微軟播放器框架,播放器和 SDK,您可以為最流行平台和設備上最多數量的客戶提供服務。
廣泛的增值合作夥伴生態係統
我們擁有一個融入知名第三方媒體技術的可擴展平台,這些技術已針對雲進行了優化和集成,具有可伸縮性,實行統一計費。
4.3 詳細功能
Azure Media Service主要包含5部分功能: 編碼,Azure 媒體播放器,媒體索引器,內容保護,實時和按需流式處理。
編碼
Azure的編碼被稱為是雲規模的工作室級編碼,支持多種格式的編碼,可縮放的批處理,縮略圖,疊加,拚接和剪輯生成,高性能編碼,Web,專業和廣播工作流支持,ISO 和 CDSA 認證的安全編碼平台。
媒體播放器
Azure Media Player 可以將內容通過一個獨立的播放器在多個設備上播放,支持最流行的屏幕和設備,自動選擇最佳播放格式,方便地集成到 Web 和應用解決方案中,可讓你使用熟悉的 JavaScript API 開發,包括 Flash 和 Silverlight 的自動回退,提供集成內容保護。
媒體索引器
媒體索引器可以支持自動生成標準字幕文件,使用基於深度神經網絡的點陣索引搜索你的庫,從一組快速增長的語言中進行選擇,使用自定義詞匯適應功能來識別特定於域的語音內容,並行處理作業並輕鬆將它們集成到現有工作流中,提取話語中的關鍵字以幫助進行標記和建議。
內容保護
Azure的內容保護通過使用 AES 加密或多 DRM Common Encryption(例如 PlayReady 和 Widevine)安全交付內容。支持保護內容(從雲上載到播放),支持 AES 以及 Common Encryption 的多 DRM(PlayReady 和 Widevine),使用動態加密簡化密鑰管理並幫助內容更新,與 Active Directory 或你自己的數據庫集成,可以使用簡單的 API 或 Web 門戶配置保護規則,對所有設備使用客戶端 SDK 保護播放。
實時和按需流式處理
支持向幾乎任何設備大規模交付內容,包括實時打包為 HLS,MPEG-DASH 和平滑流式處理,實時 AES 加密和 PlayReady DRM 技術,與內容交付網絡直接集成以進行自動預配,可應對所有受眾規模伸縮,用於剪裁和呈現形式篩選的動態清單操作,完整的雲 DVR 工作流功能。
5. 七牛上的視頻服務
5.1 簡介
七牛,是一家雲存儲初創企業,主要業務是存儲和CDN, 主要做靜態文件,包括富媒體一體化解決方案,解決富媒體存儲,上傳下載加速,數據處理,包括圖片處理,音視頻處理,比如說做縮略圖,打水印。此外,七牛還提供了鏡像存儲,客戶端直傳以及斷點續上傳等功能,方便開發者的使用。
七牛的數據處理產品中包括了音視頻/流媒體在線處理,主要功能如下:
支持常見ffmpeg音視頻格式互轉,如mp3,aac,m4a,mp4,avi,flv。
支持視頻幀提取,可以取視頻任意時間點的截圖。
支持流媒體傳輸協議(HLS)。
5.2 產品功能
七牛的音視頻處理主要包括編解碼,切片,憑借,獲取元信息,縮略圖,水印,采樣縮略圖,私有m3u8支持等等。此外還提供頗有中國特色的短視頻鑒黃服務,這個服務是由廣州圖普網絡科技有限公司提供的。
七牛的音視頻編解碼支持的標準和開源的FFMPEG完全一致。 FFMPEG是一套可以用來記錄,轉換數字音頻,視頻,並能將其轉化為流的開源計算機程序。它包括了領先的音/視頻編碼庫libavcodec等。
圖 4 FFmpeg的圖標
6. 功能的比較
根據上麵的分析,我們可以基本上得出下麵一個粗略的功能比較。所有的視頻處理平台包括了上傳,存儲,轉碼,智能處理,內容保護,CDN和客戶端等等功能。
|
![]()
|
![]()
|
![]()
|
![]()
|
上傳 |
S3工具上傳 |
OSS工具上傳 |
HTTP(S)或UDP上傳文件,RTMP或者MPEG-TS/RTP發送直播流 |
七牛工具 |
存儲 |
S3 |
OSS |
存儲賬戶 |
七牛存儲 |
轉碼 |
各種格式 |
各種格式 |
各種格式 |
Ffmpeg支持格式 |
智能處理 |
水印,縮略圖,字幕,剪輯,旋轉 |
水印,縮略圖, 剪輯,旋轉 |
水印, 縮略圖, 字幕,疊加, 拚接,剪輯, 視頻索引, 延時攝影, 人臉識別, 實施編碼。 |
水印,縮略圖, 字幕,拚接,剪輯, 人臉識別,短視頻鑒黃服務, |
內容保護 |
AES 以及DRM(PlayReady) |
存儲上實現AES,不支持DRM |
AES 以及DRM (PlayReady和 Widevine) |
無 |
CDN |
CloudFront |
阿裏雲CDN |
Azure CDN |
七牛自有和其他廠商CDN |
客戶端 |
第三方
|
第三方
|
Azure Media Player,第三方 |
第三方 |
SLA |
N/A |
99.9% |
99.9% |
99.8% |
我們接下來看在下麵四個最重要功能上,各大主流雲平台的差別。
6.1 轉碼
這是所有平台都共同支持的主要功能,在各平台上支持的格式大同小異。從編碼的格式支持範圍而言,Azure上的高級編碼器在視頻支持AVC, Avid DNxHD, DVCPro/DVCProHD,音頻上還支持AES,Dolby® Digital Plus (E-AC3) 最高可達7.1聲道,不愧為號稱工作室級別的編碼。七牛使用的ffmpeg是開源軟件中支持格式最多的視頻編解碼工具,一些比較冷門的編碼器,比如AYUV,YAMAHA SMAF應該都可以支持。阿裏雲支持的格式也相對廣泛,常見主流的編碼器都可以。AWS由於產品推出得比較早,很多新的格式都不太支持。
6.2 視頻智能處理
視頻智能處理也是視頻服務中非常重要的功能,這裏我們把功能分成了兩部分,一部分叫基本功能,比如視頻剪輯,裁切,水印,字幕,縮略圖等等。還有一部分叫做高級功能,包括視頻索引,延時攝影,人臉識別等功能。
|
![]()
|
![]()
|
![]()
|
![]()
|
|
![]()
|
![]()
|
![]()
|
![]() |
|
基本功能 |
|||
水印 |
支持 |
支持 |
支持 |
支持 |
縮略圖 |
支持 |
支持 |
支持 |
支持 |
字幕 |
支持 |
支持 |
支持 |
支持 |
剪輯(Clip) |
支持 |
支持 |
支持 |
支持 |
拚接 |
|
|
支持 |
支持 |
旋轉 |
|
支持 |
|
90度旋轉 |
直播 |
支持 |
支持 |
支持 |
支持 |
|
高級功能 |
|||
視頻索引 |
|
|
支持 |
|
實時編碼 |
|
|
支持 |
|
延時攝影 |
|
|
支持 |
|
人臉檢測 |
|
|
支持* |
支持* |
語音視頻背景去噪 |
|
|
支持 |
|
鑒黃服務 |
|
|
|
支持* |
視頻平滑和穩定化 |
|
|
支持* |
|
運動檢測 |
|
|
支持* |
|
通過上表可以看出,視頻的智能處理將會成為公有雲視頻服務的一個重點。所有的廠商都支持水印,縮略圖,字幕,剪輯,直播等等功能,不過拚接和旋轉在基本功能中也不是都支持。
對於高級功能而言,Azure的Media Service做到了絕對優勢,包括視頻索引,即通過語音識別生成全視頻的字幕並支持檢索,直播可以實現實時編碼,還有微軟研究院的一些智能項目,例如延時攝影(Hyperlapse), Project Oxford中支持的人臉檢測,視頻平滑和穩定化,運動檢測等等,在Azure的Media Service中都可以使用。七牛利用了第三方的服務,也提供了一定的高級功能,例如通過Face++提供的人臉識別和廣州圖普提供的鑒黃服務,也為用戶的視頻處理和分析提供了方便。
6.3 內容保護
對於內容保護,國內的廠商遠遠地落在了海外廠商的後麵,AWS和Azure都提供了DRM的技術,例如PlayReady,保證了視頻的安全性和版權。阿裏雲在存儲上提供了AES加密,對於DRM則沒有原生提供。
6.4 直播
對於直播,所有的公有雲廠商都支持直播的功能,所不同的是實現方法。AWS,阿裏雲的直播是通過IaaS方式,構建相應的直播轉碼服務器,再加上其相關的CDN產品而實現的。比如AWS為了實現直播,可以使用Wowza Streaming Engine, Adobe Media Server或者IIS Live Smooth Streaming來構建一套完整的直播平台。
圖 5 AWS的直播架構圖
而阿裏雲也是通過類似的技術來實現。
圖 6 阿裏雲的在線直播架構
七牛也是類似。
Azure將直播架構做成了PaaS平台,用戶不需要配置IaaS服務器,就可以通過在線的接口實現視頻的實時傳輸,編碼並通過CDN進行分發,架構圖如下:
圖 7 Azure直播架構圖
這樣簡化了用戶運維和部署IaaS服務器的複雜度。
7.總結
本文分析了AWS,阿裏雲,Azure和七牛在視頻服務上的一些功能。由於視頻服務是互聯網上最重要的服務之一,其中涉及到的內容也非常複雜,希望本文能夠給需要在公有雲上使用視頻服務的用戶起到一些拋磚引玉的作用,對選擇合適的雲有所幫助。如果您需要了解更多關於公有雲的知識,請聯係我們:info@yungoal.com
文中資料參考來源包括:
亞馬遜AWS:
https://aws.amazon.com/cn/elastictranscoder/?nc2=h_l3_as
微軟Azure:
https://azure.microsoft.com/en-us/documentation/articles/media-services-overview/
阿裏雲:
https://help.aliyun.com/document_detail/mts/introduction/concepts.html?spm=5176.7616369.9.2.pcGBQX
七牛:
https://developer.qiniu.com/docs/v6/api/reference/fop/av/
最後更新:2017-04-01 13:44:32