【发布时间】:2017-04-25 17:00:46
【问题描述】:
Android MediaCodec 可用于解码输出 yuv420 格式。我猜它应该是 NV12 格式,但是当我在 Nexus6 7.1.1 设备上尝试时。结果很奇怪:
-
对于 720p 视频,它可以正常工作,输出的 yuv 可以通过 ffplay 使用以下命令播放:
ffplay -v info -f rawvideo -pixel_format yuv420p -video_size 1280x720 out.yuv
out.yuv 文件大小正好是宽*高*3/2。
对于 1080p 视频,顶部的输出 yuv 颜色不正确。而out.yuv文件大小是3133440,但是width*height*3/2应该是3110400,所以还有23040字节。 听起来顶层颜色不正确。
当尝试将其解码到表面时,它看起来不错。所以我猜问题仅来自 1080p YUV 包。
【问题讨论】:
-
不要使用yuv输出,改用Image输出。参考developer.android.com/reference/android/media/…。
标签: android android-mediacodec