釘釘一個小小的創新,分享給大家~
大家好,我是鈞小鴻,是一名釘釘音視頻直播 iOS 開發工作者。在日常工作中,我們除了支撐好業務工作外,我們音視頻端團隊還會實時關注 iOS 等蘋果技術的發展動向:比如畫中畫、iPad 分屏、靈動島、視頻效果等等,並針對這些不同的新特性、新技術和相關業務結合,從而能做出更好的體驗、更優秀的產品。比如去年釘釘和蘋果合作適配 Apple Vision Pro(釘釘正式登陸蘋果Vision Pro),結合這種新型設備,可以讓虛擬人分身參與會議、觀看大屏直播。那這次,我們還要進行哪些原生應用創新的探索呢?跟著我一起往下看👀
考慮一個場景,在部門直播一場籃球賽的熱場直播階段,攝像頭除了抓取球場的畫面,主播也會去採訪現場觀眾。我們收到同事的反饋,“我只有一個手機,沒法直播拍攝兩個畫面”“多機位多畫面的直播,那不得要用專業設備啊”。
的確,現在在一些知名視頻網站上,越來越多的解說視頻裡解說畫面和視頻畫面同時出現的。觀眾對解說的訴求已經不僅僅停留在聽聲音,大家也喜歡看到解說的神態表情等肢體畫面。那麼這個問題是否能解決呢?
用一個手機,既能充分進行賽事直播,又能看到主播酣暢淋漓地進行講解。
答案當然是可以的。
作為音視頻的開發,我會重點關注蘋果在視頻相關的一些技術迭代,比如畫中畫、視頻效果、攝像頭等等。音視頻中聲音保證了最基本的溝通和傳播,當然是首要保證的,但是在保證了聲音的基礎上畫面能提供更優秀的體驗,值得我們對其做相應的探索和研究。眾所周知,單攝像頭的處理方式是將攝像頭採集到的一路視頻幀經過前處理預覽發布即可,那麼是否能多路視頻流同時採集並輸出以在特定場景能有更好的體驗呢,我們探索將蘋果的雙攝像頭和直播業務的結合。
使用雙攝像頭時,需要使用 AVCaptureMultiCamSession 來管理多路視頻的採集,其工作原理如下:
因為我們還需要對錄製的視頻幀做美顏、合流等處理,我們要優化成更適合直播音視頻場景的雙攝像頭模型,所以需要選擇 AVCaptureVideoDataOutput 作為輸出,優化後的攝像頭錄製模型工作流如下: 這樣的模型工作流,會讓創建多路會話並錄製輸出的交互更簡單,接下來我們講一下其在釘釘直播業務場景中,是如何應用的。
通過雙攝像頭模型,我們還會對視頻幀做美顏、虛擬背景、縮放等處理,最終做合流發佈。
另外,因為雙攝像頭基於 AVCaptureMultiCamSession 多攝像頭會話,所以 iOS 13及攜帶 A12 以上晶片的設備支援該功能,系統:iOS 13 及以上。機型:iPhone:iPhone XR、iPhone XS、iPhone XS Max 及以上機型。iPad:2019款 iPad Pro 及以上機型。
讓我們一起體驗一下!
雙攝像頭預覽視圖有兩路視頻流分別輸出到兩個預覽中,因此有不同的組合方式:每路視頻流固定在一個預覽視圖,切換攝像頭方向時交換兩個預覽視圖;預覽視圖固定位置,切換攝像頭時交換兩路視頻流對應的預覽視圖。
雙攝像頭採集時主播側需要輸出兩個前後攝像頭預覽給業務層展示,經過和我們的交互老師探討後,結合現有的視頻多畫面和手勢交互等多方考慮,最終確定兩種預覽視圖的佈局方案:基於橫屏和豎屏,左右或上下等分平鋪;如下為第一種佈局方式,上方為前置攝像頭、下方為後置攝像頭。
我們支持用戶可以左右拖動,調整畫面大小,當放手時若畫面小於一定範圍,則自動關閉雙攝像頭,切換到單畫面模式。當然,用戶也可以在設置頁重新開啟雙攝像頭。
有了雙攝像頭功能,音視頻部門在秋天舉辦部門足球聯賽時,我們的同事可以隨手使用自己的蘋果手機,進行賽前解說,給活動預熱,增加直播的快樂~
雙攝像頭雖然是一個支線功能,但它讓直播有了更多的拍攝效果。雙攝像頭在戶外或小型活動直播中非常有用。感謝我們的設計師,讓功能體驗有了更好的效果。目前有的戶外直播等已經支援該功能,相信後續會有越來越多的直播平台支援。目前釘釘直播的雙攝像頭功能已經完成,不過仍有待進一步完善,比如:合流部分,現在使用的都是 CPU 合流,對資源消耗比較嚴重,後續需要持續優化,換成 GPU 合流,性能會有進一步提升;目前只實現了平鋪佈局,大小窗的佈局仍待實現。
釘釘技術團隊還會探索基於畫中畫的能力,實現共享內容時,更多攝像頭合流實現畫面露臉的交互效果創新探索,包含畫面和手勢的 AI 識別交互、以及與更多語音視頻識別結合的釘釘 AI 能力創新等。
釘釘小而美的創新探索~一直在進行!
多姆科技(DomTech)是釘釘在香港的官方唯一指定服務商,專門為廣大客戶提供釘釘服務。 如果您還想瞭解更多釘釘平臺應用的內容,可以直接諮詢我們的在線客服。 我們有優秀的開發和運維團隊,豐富的市場服務經驗,可以為您提供專業的釘釘解決方案和服務!