Android如何从IP摄像头向surfaceview显示流

时间:2015-02-04 19:04:56

标签: android camera h.264 rtp mediacodec

我正在尝试开发一个简单的应用程序,将来自IP摄像机的视频流显示为surfaceview。 我对视频解码/编码完全陌生。在过去的几天里,我已经阅读了很多关于mediacodec API的信息以及如何实现它,但我找不到正确的方法。我仍然必须完全理解缓冲区如何工作以及如何从UDP中解包RTP数据包并将每个帧传递给MediaCodec

我有几台Sony EP521 IP摄像头。从CGI命令手册我得到相机支持Mpeg-4 / H264 HTTP比特流(" GET /h264 ......。## 34;相机将发送H.264原始数据作为其响应。)或RTP(UDP)比特流。

我的问题是我不知道从哪里开始:

  1. 这是"最好的"实现这个的方法? (最好的,我的意思是最可靠/正确,但仍然很简单)
  2. 我应该使用HTTP比特流还是RTP?
  3. 严格需要MediaCodec,还是以其他方式实现? (即,android.media.mediaplayer类已经通过RTP支持h.264原始数据(如果它实际上没有,我不会这样做))
  4. 如何从HTTP比特流中提取视频数据?
  5. 我知道有很多类似的问题,但似乎没有人能完全回答我的怀疑。

    相机也支持MJpeg。这将更容易实现,但目前我不想使用MJpeg编码。

    这是Camera CGI手册:http://wikisend.com/download/740040/G5%20Camera%20CGI%20manual.pdf

    谢谢,对不起如果已经讨论过了。

0 个答案:

没有答案