如何在安卓设备上在线获取视频缩略图而无需下载

5

我需要获取在线视频文件的缩略图,而不需要下载该文件。

这是可能的吗?

使用Universal Image Loader可以实现吗?


网站是否拥有缩略图? - Clive DM
@CliveDM 不幸的是,不行! - Hossein Kurd
@HK 没有下载视频就能获取视频缩略图的方法。 - Durgesh Patel
请参考此链接https://github.com/wseemann/FFmpegMediaMetadataRetriever,我希望它能帮到你。这是一个MediaMetadataRetriverLibrary。 - Moinkhan
你能否构建一个定制的Web服务来在服务器端完成这个任务,然后从你的移动应用中调用该服务? - B W
3个回答

6

使用内置的Android API,无法在完全下载视频的情况下获取在线视频缩略图,但可以使用ffmpeg来实现。

我们可以使用以下方法从下载的视频中提取缩略图。

ThumbnailUtils.createVideoThumbnail (String filePath, int kind)

在哪里

filePath 视频文件的路径

kind 可以是 MINI_KIND 或 MICRO_KIND

返回值

May return null if the video is corrupt or the format is not supported.

我为您创建了演示应用程序。请查找上传到github的android项目路径AndroidFFmpeg 执行以下命令从在线视频网址中提取第一帧: 语法:
-itsoffset -4 -i [Url of online video] -vcodec mjpeg -vframes 1 -an -f rawvideo -s 320x240 [Path of image where thumbnail to be stored]

例如:
-itsoffset -4 -i http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_1mb.mp4 -vcodec mjpeg -vframes 1 -an -f rawvideo -s 320x240 /sdcard/thumb.jpg
这将在SD卡上生成一个名为thumb.jpg的分辨率为320x240的缩略图。

最低SDK版本:10,那么我必须下载视频的第一帧?如何操作? - Hossein Kurd
@HK请查看我的更新答案,并就此提供您的反馈。 - Durgesh Patel

1

我想建立缩略图而不实际下载视频是没有简单的方法的。

所以,如果你的问题是“我能在不下载完整视频的情况下获取缩略图吗?”,我会说... 不行。

否则,在你本地下载了视频之后,我猜你可以通过提供已下载文件的路径来完美使用ThumbnailUtils.createVideoThumbnail(...)

创建视频缩略图的其他选项:

Bitmap thumbnail = ThumbnailUtils.createVideoThumbnail( videoUrl, MediaStore.Video.Thumbnails.MINI_KIND);

享受你的代码 :)

-1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接