Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Mediacodec在不同平台(Android、iOS、Web)上编码h264并解码_Android_Ios_Video Streaming_H.264_Android Mediacodec - Fatal编程技术网

Android Mediacodec在不同平台(Android、iOS、Web)上编码h264并解码

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设备应该能够解码这些原始数据,但是如果我选择这种颜色格式,

我正在开发一款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个字节。你知道吗?