如果我有视频的 rtsp link,如何获取视频缩略图?

How to get video thumbnail if i have the rtsp link of the video?

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

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

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

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

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

任何帮助将不胜感激。

谢谢

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

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

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

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

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