【问题标题】:How to generate video preview thumbnails in Android如何在 Android 中生成视频预览缩略图
【发布时间】:2019-01-25 15:05:40
【问题描述】:

场景是当用户从图库中选择一个视频时,它将创建所选视频的预览缩略图作为单个图像,如this。然后视频和预览缩略图都将保存在数据库中。是否可以在单个图像中创建预览缩略图?

【问题讨论】:

标签: java android video thumbnails preview


【解决方案1】:

使用滑行

Glide.with(this).asBitmap().load(url).into(new SimpleTarget<Bitmap>() {
        @Override
        public void onResourceReady(Bitmap resource, Transition<? super Bitmap> transition) {
            mVidorExoPlayerView.setDefaultArtwork(resource);
// you can use "resource" as bitmap :)
        }
    });

希望对你有帮助

【讨论】:

  • 你好像已经有了缩略图,我需要的是生成一个预览缩略图。无论如何,感谢您的示例代码,它可能会对某人有所帮助。
  • 您是否在此代码中尝试使用 uri 而不是 url?
  • 我将使用缩略图作为预览,同时像这里 github.com/rubensousa/PreviewSeekBar 这样在搜索栏移动,而不是像 playerview 的占位符,所以这意味着缩略图在流式传输之前已经创建。
  • Glide 不支持在线视频流,所以我不能使用视频的 url
【解决方案2】:

我不确定是否有现成的库可以为您提供预览缩略图,其中包含在不同时间拼接在一起的多个视频帧。

但如果我要这样做,我会寻找允许我在指定时间检索视频帧的东西。然后,给定视频长度,我们可以请求不同时间间隔的帧并将它们拼接在一起以获得一个大的预览缩略图。

Android 支持[MediaMetadataRetriever][1],允许提取视频帧(不确定您是否已经尝试过)。 AFAIK,它适用于 mp4 格式。

另一种选择是在服务器端创建预览缩略图并使用它(显然有下载缩略图的开销)。

【讨论】:

  • 我还在找这个,我会尝试使用Android提供的内置库提取视频帧。
【解决方案3】:

有一个名为“FFmpeg”的工具,它有一个命令可以随时获取第一张图像甚至任何图像。

【讨论】:

  • 是图书馆吗?
  • 不错,这个库我用了半年多了,可以给这个推荐。官方链接是ffmpeg.org
  • 如何在android项目中实现这个,它说它支持windows、iOS和linux。这适用于安卓吗?
  • 是的,我使用它的方法:在后台运行命令作为一个进程,完成后,我将从路径(文件夹)中得到想要的结果
  • 你能给我一个android示例项目吗?我不熟悉命令
【解决方案4】:

ffmpeg -i video.webm -ss 00:00:07.000 -vframes 1 thumb.jpg

该命令只能获取第7秒时间的一张图片,视频文件名为'video.webm'。

【讨论】:

    猜你喜欢
    • 2019-03-24
    • 2017-09-13
    • 1970-01-01
    • 2011-11-04
    • 2012-10-16
    • 2019-07-26
    • 2012-09-01
    • 2011-01-16
    相关资源
    最近更新 更多