[英]Android Mediacodec encode h264 and decode in different platforms (Android,iOS, Web)
我正在開發一個Android應用程序(min sdk=21)
,該應用程序需要將實時視頻(從Android設備的攝像頭捕獲(min sdk=21)
流式傳輸到不同的平台(Android / IOS / web)。
我決定使用Media編解碼器將視頻編碼為h.264,然后通過TCP socket
將原始數據發送到其他設備。
我從Media編解碼器創建了一個輸入表面,並將顏色格式設置為MediaCodecInfo.CodecCapabilities.COLOR_FormatSurface
。
Android設備應該能夠解碼該原始數據,但是如果我選擇這種顏色格式,是否可以在iOS或Web中解碼該原始數據 ?
是的,輸入顏色類型無關緊要。 即使您使用COLOR_FormatSurface
,它仍然被編碼為普通的YUV 4:2:0視頻,就像您將使用其他非表面顏色格式一樣。
如果您手動選擇一種更不常見的顏色格式,例如YUV 4:4:4(當不使用表面輸入時),編碼器可以選擇將其實際降采樣為YUV 4:2:0(並且所有解碼器都支持)或保持原樣並將其編碼為H264更為罕見的變體,並非所有解碼器都能夠解碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.