Android Mediacodec在不同平台(Android、iOS、Web)上编码h264并解码
我正在开发一款Android应用程序Android Mediacodec在不同平台(Android、iOS、Web)上编码h264并解码,android,ios,video-streaming,h.264,android-mediacodec,Android,Ios,Video Streaming,H.264,Android Mediacodec,我正在开发一款Android应用程序(min sdk=21),它需要将实时视频(从Android设备摄像头捕获)传输到不同的平台(Android/IOS/web)。 我决定使用媒体编解码器将视频编码到h.264,并通过TCP套接字将原始数据发送到其他设备 我从Media codec创建了一个输入界面,并将颜色格式设置为MediaCodecInfo.CodeCapabilities.color\u FormatSurface Android设备应该能够解码这些原始数据,但是如果我选择这种颜色格式,
(min sdk=21)
,它需要将实时视频(从Android设备摄像头捕获)传输到不同的平台(Android/IOS/web)。我决定使用媒体编解码器将视频编码到h.264,并通过
TCP套接字
将原始数据发送到其他设备
我从Media codec创建了一个输入界面,并将颜色格式设置为MediaCodecInfo.CodeCapabilities.color\u FormatSurface
Android设备应该能够解码这些原始数据,但是如果我选择这种颜色格式,是否可以在iOS或Web中解码这些原始数据 是的,输入颜色类型不重要。即使您使用
COLOR\u FormatSurface
,它仍然被编码为普通YUV 4:2:0视频,就像您使用其他非表面颜色格式一样
如果您手动选择一种更不常见的颜色格式,如YUV 4:4:4(不使用表面输入时),编码器可以选择将其实际降采样为YUV 4:2:0(所有解码器都支持该格式),或者保持原样并编码为H264的更不常见变体,并非所有解码器都能解码。thx为了您的帮助,我现在可以在少数Android设备上成功编码和解码。然而,我遇到了一个新问题。当我把我的应用程序放到nanopim3(安卓5.0)上时,它无法正确编码。编码器的输出大小在每帧中只有11个字节。你知道吗?