想了一下前些天,T家視頻的團隊來學校開了一次講座,而後我就地去看了一下。雖然知道遠古時期的視頻編碼混亂割據的時代已經遠去,可是如今的挑戰反而突飛猛進。如今T家發展得這麼大,T的視頻業務作得也很大,因此嘗試了一些新的技術,固然deep learning啦,分佈式,雲計算,計算機視覺什麼的都是能夠有的。不由感嘆擁有大量數據的公司真是能夠爲所欲爲地作一些事情。php
從講技術的一位技術人員那裏光明正大地偷偷記下他們的技術棧,大概過了半個小時吧。mysql
能夠列出以下的幾點:git
1. MD5 編碼, H264, H265 編碼github
2. ffmpeg x264 mp4box算法
3. 計算機視覺庫 opencv vlfeat dlibsql
4. 深度學習相關 caffe tensorflow架構
5. 系統架構相關 curl mysql phpcurl
簡述iphone
1. 流媒體的編碼技術是在不斷向前發展的。 H265從H264發展起來, 而且因爲移動互聯網的帶動, 各家開發移動端的廠商在對流媒體編碼技術都有必定的需求。蘋果公司自iphone 6s以來就開始支持H265編碼技術。這種技術能夠在輸送一樣質量視頻的狀況下節省一半帶寬。本質上H265就是一個壓縮算法,它把原始視頻壓縮後發送到客戶端, 在客戶端解壓顯示原始視頻。分佈式
至於以上記錄的MD5編碼, 忽略它, 應該是同時講到的一些視頻的保存中用到的。
2. ffmpeg是一個自由軟件(free software, 關於自由軟件跟開源軟件的區別請看GPL, 開源軟件是自由軟件和商業軟件的折中)。
具體來講,FFmpeg是一套能夠用來記錄、轉換數字音頻、視頻,並能將其轉化爲流的開源計算機程序。它包括了目前領先的音/視頻編碼庫libavcodec。 FFmpeg是在Linux下開發出來的,但它能夠在包括Windows在內的大多數操做系統中編譯。這個項目是由Fabrice Bellard發起的,如今由Michael Niedermayer主持。能夠輕易地實現多種視頻格式之間的相互轉換,例如能夠將攝錄下的視頻avi等轉成如今視頻網站所採用的flv格式。
ffmpeg 的Github 地址: https://github.com/FFmpeg/FFmpeg
其包含的庫有:
3. x264: 一個軟件名, 顧名思義用來處理H264相關編碼的(不是解碼)
mp4box: 一樣顧名思義, 用來處理MP4的
他們講到的東西包括了一些ROI編碼的東西和讓局部人臉更清晰的技術, 聽起來好像沒什麼意思。
4. 關於計算機視覺和深度學習,其實這兩樣東西都很耗費資源的, T家內部會搭建一些深度學習的平臺, 包括他們的內部雲還搭建了能夠租用的GPU平臺, 用來跑深度學習的東西。目前來看, 在他們的應用中比較少, 主要仍是在提取特徵, 以及一些腦洞的應用中。好比能夠用人臉識別自動篩選本身想看的演員所在的片斷(可是在T家的視頻上試了一下感受還很不成熟)。
5. 系統架構什麼的看看就好, 畢竟是這麼大的流量入口, 這些問題什麼的原本就是他們天天都要處理的事情。