一、使用場景
上傳到y(tǒng)outube的全景視頻能被正確的識別為360視頻
二、寫入規(guī)則
youtube被google收購镣丑,所以元數(shù)據(jù)的寫入規(guī)則當(dāng)然由google定義了,這里有詳細(xì)說明:https://github.com/google/spatial-media/blob/master/docs/spherical-video-rfc.md
三娱两、如何寫入
由于寫入規(guī)則稍微有點復(fù)雜莺匠,需要解析mp4的結(jié)構(gòu),增加BOX層來定義識別全景視頻需要的一些標(biāo)識和參數(shù)十兢,而iOS端AVFoundation框架只能添加一些apple定義的元數(shù)據(jù)趣竣,做不到添加BOX層,所以只能另尋其他方法旱物。
這里是google定義了寫入規(guī)則遥缕,所以google開源了給視頻寫入全景元數(shù)據(jù)的腳本,地址:https://github.com/google/spatial-media 宵呛。
開源腳本使用python所寫单匣,但是如何讓該腳本在移動APP上使用呢:
1、Android
可以使用第三方框架QPython,有興趣的可以去官網(wǎng)上看看。
2户秤、iOS
可以使用PythonistaKit來運行python腳本码秉,但App打包后PythonistaKit占用內(nèi)存太大,即使根據(jù)作者介紹的減少PythonistaKit占用App內(nèi)存的方法也要占到大約20M左右虎忌,故放棄泡徙。
3、跨平臺
感謝VarolOkan把google的開源項目spatial-media移植到c++端膜蠢,為了跨平臺在iOS和Android上使用堪藐,刪除了一些不必要的文件并且添加了一些平臺相關(guān)的操作,源碼在這里挑围。