我需要在不下载文件的情况下获取在线视频文件的缩略图。
可能吗 ?
通用图像加载器可以吗?
如果不完全使用内置的 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
我想如果没有在本地实际下载视频,就没有简单的方法来构建缩略图。
因此,如果您的问题是“我可以在不下载完整视频的情况下获得缩略图吗?”,我会说......不。
否则,一旦您在本地下载了视频,那么我想您可以ThumbnailUtils.createVideoThumbnail(...)
通过提供下载文件的路径来完美使用。
和其他创建视频拇指的选项:
Bitmap thumbnail = ThumbnailUtils.createVideoThumbnail( videoUrl, MediaStore.Video.Thumbnails.MINI_KIND);
享受你的代码:)
在某些特定场景下, 1 - 如果 HTML5 video 标签中包含海报,您可以解析页面以查找其值。2 - 如果网站是 youtube ,答案就在这里 >>如何从 YouTube API 获取 YouTube 视频缩略图?