2015-05-26 33 views
0

我正在为我的ip摄像头开发一个android应用程序,并且摄像头有一些可以响应的特定api命令。我遇到的问题是我想显示相机存储卡上可用的视频列表。我得到的文件列表,但我也想获得这些文件的缩略图。如何获得视频缩略图,如果我有视频的rtsp链接?

在获得缩略图的问题是,我没有视频的任何直接的IP地址,摄像机只提供了我两件事访问视频

 
1. RTSP URL of the video 
2. Data stream of the video, so that i can download it in my code. 

谁能告诉我我该怎么如果我有上述可用选项,请获取视频的缩略图?

注意:还有一个API可用于提供视频缩略图,当我发送该命令时,它返回给我一帧视频,目前它发送给我的是损坏的帧,此方法是不工作,这就是为什么我专注于从另外两个可用选项中获取缩略图。

任何帮助将不胜感激。

感谢

回答

0

你可以打开一个套接字,并从每个视频流了几秒钟,在本地保存文件,您的Android设备上。

一旦你有它,只要它是一个可识别的视频格式,你应该能够以通常的方式(http://developer.android.com/reference/android/provider/MediaStore.Video.Thumbnails.html)创建一个缩略图。

您需要小心确保您的应用程序实际上并未尝试播放这些截断的视频,而是在有人想要查看它们时转到正确的流网址。如果你想确定,你可以在创建缩略图后删除文件。

如果您的相机拥有大量视频,则最初可能需要一点时间,但您应该可以将其设置为仅为新视频创建缩略图,一旦它运行一次,这会加快速度。

也可以创建直接使用的ffmpeg或VLC(例如https://superuser.com/q/592160)从流缩略图,但我认为你可能会发现上面的方法是适合您的需求简单,它避免你不必等ffmpeg的使用你的应用程序集成。

+0

是啊,最后我只是用这两种方法卡住,要么得到流并保存足够短的时间来创建缩略图或获取idr帧并整合ffmpeg来获得结果。但第二个确实花了很多时间和精力。谢谢你的宝贵意见米克。 –