【发布时间】:2012-10-29 17:09:06
【问题描述】:
我有一个项目,要求我在 android 中显示视频流,该流是原始 H.264,我正在连接到服务器并将从服务器接收字节流。
基本上我想知道有没有办法将原始字节发送到 android 中的解码器并将其显示在表面上?
我已经成功地使用 android 4.1 中的新 MediaCodec 和 MediaExtractor API 解码包装在 mp4 容器中的 H264,不幸的是,我还没有找到使用这些 API 解码原始 H264 文件或流的方法。
我知道一种方法是编译和使用 FFmpeg,但我宁愿使用可以使用硬件加速的内置方法。我也了解 android 支持 RTSP 流,但这不是一个选项。 Android 版本不是问题。
【问题讨论】:
-
为什么不使用 BitmapFactory decodeByteArray 或 decodeFile。根据developer.android.com/guide/appendix/media-formats.html#core,它应该支持 h.264
-
这是 1 年前提出的,已经有一个使用 Android MediaCodec API 的解决方案,该 API 是为解码视频而设计的。我真的怀疑 BitmapFactory 可以解码 h264 视频。
-
我也不这么认为。事实上,我认为任何内置类都没有帮助。我现在正在研究 ffmpeg
-
嗯,我的意思是我能够使用我在回答中描述的方法播放原始 h264,只要你先给它正确的视频数据来配置解码器,它就应该可以工作。
标签: android ffmpeg h.264 rtsp decoding