【问题标题】:rendering YUV ffmpeg frames in Android native ndk在 Android 原生 ndk 中渲染 YUV ffmpeg 帧
【发布时间】:2014-12-11 23:35:49
【问题描述】:

我们可以直接在Android屏幕上渲染来自ffmpeg流输出(AV_PIX_FMT_YUV420P)的YUV帧而不转换为RGB格式吗?

【问题讨论】:

  • 这个问题和stackoverflow.com/questions/26336024/…一样吗?
  • @fadden 是的,当我尝试直接在屏幕上渲染 YUV 时,我得到了一秒钟的视频显示并且应用程序停止了,你能帮我解决这个问题吗..

标签: android-ndk ffmpeg video-streaming libyuv


【解决方案1】:

我最近对 ​​Google WebRTC 开源项目有一些经验。

它提供了一个完整打包的视频通话示例,还包含一个 Android 演示。

演示的作用是显示解码后的视频帧,即 I420(YUV420P) 像素格式。

看一下源码:https://code.google.com/p/webrtc/source/browse/trunk/webrtc/modules/video_render/android/video_render_opengles20.cc

【讨论】:

  • 上面的链接很有用。谢谢,我正在寻找一些与 OPENGLES1 相同的教程,你能帮忙吗..
  • 在 Google WebRTC 演示中,对于没有 ES 2.0 的用户,使用基于 libyuv 的 YUV -> RGB 转换。其中提供了许多优化,包括 NEON SIMD 版本。我也同意这种方法,因为如果 ES 2.0 不可用,最好依赖 CPU 而不是 GPU。
猜你喜欢
  • 1970-01-01
  • 2019-03-11
  • 1970-01-01
  • 2019-01-13
  • 1970-01-01
  • 2017-09-03
  • 2013-08-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多