0

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

获取缩略图的问题是我没有视频的任何直接 IP 地址,相机只为我提供了两件事来访问视频

1.视频的RTSP URL
2.视频的数据流,以便我可以在我的代码中下载它。

如果我有上述可用选项,有人可以告诉我如何获取视频的缩略图吗?

注意:相机中还有一个 API 可用于提供视频的缩略图,当我发送该命令时,它会返回一帧视频,目前它正在向我发送损坏的帧并且此方法不起作用,这就是为什么我我专注于从其他两个可用选项中获取缩略图。

任何帮助将不胜感激。

谢谢

4

1 回答 1

0

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

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

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

如果您的相机有很多视频,最初执行此操作可能需要一些时间,但您应该能够将其设置为仅在运行一次后为新视频创建缩略图,这应该会加快速度。

也可以直接使用 ffmpeg 或 VLC(例如https://superuser.com/q/592160)从流中创建缩略图,但我认为您可能会发现上述方法更适合您的需求,并且避免了您必须集成 ffmpeg等与您的应用程序。

于 2015-06-03T10:50:19.050 回答