5

我需要在不下载文件的情况下获取在线视频文件的缩略图。

可能吗 ?

通用图像加载器可以吗?

4

3 回答 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 AndroidFFmpeg上找到 android 项目的路径

执行以下命令从在线视频 url 中提取第一帧:

句法:

-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

这将在 SDCard 上生成缩略图,分辨率为 320x240,名称为 thumb.jpg

于 2015-08-27T08:58:57.603 回答
1

我想如果没有在本地实际下载视频,就没有简单的方法来构建缩略图。

因此,如果您的问题是“我可以在不下载完整视频的情况下获得缩略图吗?”,我会说......不。

否则,一旦您在本地下载了视频,那么我想您可以ThumbnailUtils.createVideoThumbnail(...)通过提供下载文件的路径来完美使用。

和其他创建视频拇指的选项:

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

享受你的代码:)

于 2015-09-03T05:10:55.983 回答
-1

在某些特定场景下, 1 - 如果 HTML5 video 标签中包含海报,您可以解析页面以查找其值。2 - 如果网站是 youtube ,答案就在这里 >>如何从 YouTube API 获取 YouTube 视频缩略图?

于 2015-08-29T08:53:45.557 回答