我使用rtsp协议将视频从IP摄像头传输到我的Android应用程序。布局中有SurfaceView
。创建了SurfaceHolder
,然后从SurfaceView
获取持有者,然后使用MediaPlayer
对象查看此内容。
我的问题是1)我该怎么做SurfaceView / SurfaceHolder / MediaPlayer中显示的内容的图片,并将其保存到外部存储器中,而不必仅截取整个屏幕的屏幕截图; 2)如何记录最长15秒的源并将其保存到外部存储也是。
答案 0 :(得分:0)
您无法将帧拉回SurfaceView。 Surface是生产者 - 消费者对的生产者端,而消费者端则处于不同的过程中(SurfaceFlinger,即系统图形合成器)。
如果您将视频反馈到SurfaceTexture,则可以将每个帧作为“外部”OpenGL ES纹理进行访问。然后,您可以将其渲染到屏幕或保存到磁盘的屏幕外缓冲区或视频编码器。
可以在Grafika中找到使用相机作为视频源的各种示例。