是否可以从android中的视频网址生成缩略图

DKV*_*DKV 26 android thumbnails android-video-player

我正在制作视频应用.我正在从服务器链接流式传输视频,我是否可以在不下载视频的情况下从URL生成视频缩略图.

Kis*_*oid 77

无需下载视频,您可以从以下代码生成缩略图:

public static Bitmap retriveVideoFrameFromVideo(String videoPath) throws Throwable
{
    Bitmap bitmap = null;
    MediaMetadataRetriever mediaMetadataRetriever = null;
    try
    {
        mediaMetadataRetriever = new MediaMetadataRetriever();
        if (Build.VERSION.SDK_INT >= 14)
            mediaMetadataRetriever.setDataSource(videoPath, new HashMap<String, String>());
        else
            mediaMetadataRetriever.setDataSource(videoPath);
   //   mediaMetadataRetriever.setDataSource(videoPath);
        bitmap = mediaMetadataRetriever.getFrameAtTime();
    } catch (Exception e) {
        e.printStackTrace();
        throw new Throwable("Exception in retriveVideoFrameFromVideo(String videoPath)" + e.getMessage());

    } finally {
        if (mediaMetadataRetriever != null) {
            mediaMetadataRetriever.release();
        }
    }
    return bitmap;
}
Run Code Online (Sandbox Code Playgroud)

注意:视频存储为Intra和非Intra(图片帧)getFrameAtTime将返回最接近的非Intra帧作为Bitmap.所以基本上它不会下载整个视频.

  • 谢谢@KishuDroid,我做到了,但是这个挑战,在 Lollipop 5 上加载需要太多时间,没有任何很酷的库可以将 URL 视频加载到 RecyclerView (2认同)

DKV*_*DKV 13

无法通过蒸汽链接创建缩略图,您必须从服务器显示它.更好地上传视频中的缩略图.使用以下代码生成缩略图

Bitmap bitmap = ThumbnailUtils.createVideoThumbnail("picturePath", MediaStore.Video.Thumbnails.MINI_KIND);
Run Code Online (Sandbox Code Playgroud)


Man*_*ddy 8

我尝试了滑翔,并成功了,滑翔版本 4.3.1

    GlideApp.with(context)
                .asBitmap()
                .load(FILE_URL)
                .diskCacheStrategy(DiskCacheStrategy.DATA)
                .into(iv_picture);
Run Code Online (Sandbox Code Playgroud)

编辑:滑行为我工作缓慢

最重要的答案没有给出某些视频的结果,这是我的做法

MediaMetadataRetriever retriever = new MediaMetadataRetriever();
 //give YourVideoUrl below
retriever.setDataSource("YourVideoUrl", new HashMap<String, String>());
// this gets frame at 2nd second
Bitmap image = retriever.getFrameAtTime(2000000, MediaMetadataRetriever.OPTION_CLOSEST_SYNC); 
//use this bitmap image
Run Code Online (Sandbox Code Playgroud)


小智 5

这是你的链接:

  1. Android:是否可以显示视频缩略图?
  2. http://developer.android.com/reference/android/media/ThumbnailUtils.html

在我看来,服务器端应该从视频创建缩略图并通过您的服务传输缩略图视频图像.