我试图通过的ffmpeg到流android的视频,这我是解码后得到的输出为YUV format.Is可以直接呈现YUV图像格式在Android屏幕?
Answer 1:
是的,没有。
相机和硬件视频解码器的输出通常为YUV。 来自这些源的帧通常被直接发送到显示器。 它们可以由驾驶员进行转换,通常与硬件缩放器和格式转换器。 这是必要的效率。
没有一个API,允许一个应用程序来绕过同样的方式YUV帧。 最根本的问题是,“YUV”涵盖了大量的地面。 由视频解码器中使用可以是各种硬件模块可以有效地处理一个专有的内部格式的缓冲器格式; 为您的应用程序,以这种格式创建面,那就要进行转换,你是右后卫,你是性能代价。
你应该能够使用GLES2着色器做转换为你的方式来显示,但我没有指针的代码演示此。
更新:回答这个问题,有一个链接到的WebRTC源文件用于演示做的GLES2着色器的YUV转换。
文章来源: Rendering YUV format in android?