`

android将视频文件转化为图片

 
阅读更多
 public void getBitmapsFromVideo() {
        String dataPath = Environment.getExternalStorageDirectory() + "/11211015_1555.mp4";
        MediaMetadataRetriever retriever = new MediaMetadataRetriever();
        retriever.setDataSource(dataPath);
        // 取得视频的长度(单位为毫秒)
        String time = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION);
        // 取得视频的长度(单位为秒)
        int seconds = Integer.valueOf(time) / 1000;
        // 得到每一秒时刻的bitmap比如第一秒,第二秒
        for (int i = 1; i <= seconds; i++) {
            Bitmap bitmap = retriever.getFrameAtTime(i * 1000 * 1000, MediaMetadataRetriever.OPTION_CLOSEST_SYNC);
            String path = Environment.getExternalStorageDirectory() + File.separator+"_car_vedio_capture"+ File.separator + i + ".jpg";
            saveBitmap(bitmap,path);
        }

    }



public void saveBitmap(Bitmap bm, String path) {
        String dir = path.substring(0,path.lastIndexOf("/"));
        File dirFile =  new File(dir);
        if (!dirFile.exists()) {
            dirFile.mkdirs();
        }
        File f = new File(path);
        if (f.exists()) {
            f.delete();
        }
        FileOutputStream out = null;
        try {
            out = new FileOutputStream(f);
            bm.compress(Bitmap.CompressFormat.JPEG, 100, out);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } finally {
            if (out != null) {
                try {
                    out.flush();
                    out.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
分享到:
评论

相关推荐

    android 把多张图片合成MP4视频Demo

    在这个例子中,我们需要用它来编码图片为视频帧。 4. **Surface**:在MediaCodec编码过程中,Surface是一个关键组件,它作为编码器的输入,可以接收图像数据。我们可以通过Bitmap对象绘制到Surface上,从而将图片传...

    Android-ImageToVideoAndroid用于将图像轻松转换成视频

    `MediaCodec`用于编码图片数据,`MediaMuxer`则负责将编码后的数据封装成视频文件。 2. **ImageToVideoAndroid库介绍** "ImageToVideoAndroid"库由Masayuki Suda开发,它提供了一个简洁的API,让开发者可以快速地...

    android安卓图片序列转视频、录屏原理(javacv实现)

    在Android平台上,将图片序列或录屏转换为视频是一个常见的需求,这通常涉及到多媒体处理和帧率控制等技术。在本项目中,开发者利用了JavaCV库来实现这个功能。JavaCV是一个开源的Java库,它提供了对OpenCV、FFmpeg...

    Android图片合成视频的小Demo

    总的来说,这个"Android图片合成视频的小Demo"展示了Android多媒体处理的能力,提供了将图片转化为动态视频的实践案例。对于Android开发者,尤其是对多媒体编程感兴趣的开发者,这是一个不可多得的学习资料。

    Android 图片转视频

    在Android平台上,将图片转换为视频是一个常见的需求,特别是在创建相册视频或动态壁纸时。本文将深入探讨如何实现这个功能,重点介绍JavaCV和JavaCPP库,以及它们在处理.so文件方面的作用。 首先,JavaCV(Java ...

    Android 加载assets文件夹的文本文件 图片

    本篇文章将详细探讨如何在Android应用中加载`assets`文件夹内的文本文件和图片。 1. **加载assets中的文本文件** - **创建assets文件夹**:首先,在项目的`src/main`目录下创建一个名为`assets`的文件夹(如果不...

    Android-视频或多张图片转换成GIF图Android实现

    在Android平台上,将视频或多张图片转换为GIF图是一项常见的需求,特别是在社交媒体应用、游戏和个性化应用中。本文将详细介绍如何在Android环境中实现这一功能。 首先,我们需要理解GIF(Graphics Interchange ...

    qt for android图片选择器

    在 Java 代码中创建这样的 Intent,然后使用 QAndroidJniObject 将其转换为 C++ 世界,接着通过 Qt 的 QtActivity::startActivityForResult 方法启动。 4. **处理返回结果**: 当用户选择图片并返回后,我们需要在...

    Android选择图片或视频进行循环播放

    在这里,我们使用Intent.ACTION_GET_CONTENT来选择视频文件,代码如下: ```java private void setVideoPath() { Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("*/*"); intent.add...

    android拍摄视频,并转换成gif图片

    在Android平台上,开发一款应用来实现拍摄视频并将其转换为GIF动图是一项技术性的工作。这个过程涉及多个步骤,包括捕获视频、处理视频帧、生成GIF以及创建缩略图。以下是对这一过程的详细阐述: 1. **启动摄像头**...

    Android下的图片压缩及图片和视频的上传

    可以将图片文件转换为InputStream,然后通过网络连接将其写入服务器。这种方式需要处理更多低级别细节,但具有更高的灵活性。 三、视频压缩 1. 视频压缩工具: 在Android上,可以使用MediaCodec或FFmpeg库进行...

    Android-android视频轴仿海康android端视频轴时间轴

    3. **时间转换**:将视频的毫秒时间转换为易读的格式(如分钟:秒)显示在时间轴上。 4. **实时更新**:当视频播放时,需要实时更新视频轴上的当前播放位置。 时间轴的设计则相对简单,主要关注时间的表示方式,可以...

    android 集成 OSS 上传图片

    - **读取图片**:通过`BitmapFactory`读取选中的图片并转换为字节数组。 - **创建上传请求**:创建`PutObjectRequest`,设置Bucket名、Object键(图片的URL)以及本地文件的字节数组。 - **执行上传**:调用`OSS...

    Android例子源码图片转换成视频实现屏幕录像.rar

    在Android中,我们可以使用`MediaMuxer`类来将一系列的图像帧和音频流组合成一个视频文件。首先,我们需要将图片(通常是JPEG格式)转换为`Bitmap`对象,然后将其编码成`ByteBuffer`。接着,通过`MediaCodec`类的...

    android 视频转GIF图片

    在Android平台上,将视频转换为GIF动态图是一项常见的需求,尤其在社交媒体分享、表情包制作等方面。这个项目“LmVedioToGifDemo”显然提供了一个实现这一功能的示例。以下是对这个项目中涉及的技术点进行的详细解释...

    Android音视频开发与处理.pdf

    例如,从视频中抽取帧并保存为图片,或者将图片合成GIF动画。 3. **码率**(Bitrate): - **码率**决定了视频文件的大小和画质。更高的码率意味着更好的画质,但也需要更多的存储空间。 - **码率类型**: - **...

    Android视频裁剪 - 含裁剪View

    2. **裁剪图片**:将获取的帧转换为Bitmap,然后使用Bitmap的`createBitmap()`或`copy()`方法进行裁剪。 3. **处理裁剪参数**:确定裁剪的开始时间和持续时间,这通常根据裁剪的区域和视频的帧率计算得出。 4. **...

    安卓 图片合成视频(利用javacv)

    本项目的核心目标是通过JavaCV将指定目录下的JPG图片序列合成成一个视频文件。 首先,我们需要了解JavaCV的基本用法。JavaCV提供了一个Java接口,可以直接调用OpenCV和FFmpeg的函数。在Android中,我们通常需要添加...

    android studio javacv 播放rstp流、抓图、录制视频功能

    这可以通过在获取到的帧上调用相关的转换方法,将图像帧保存为图片文件。例如,可以使用OpenCV的imwrite()函数将帧转换为Bitmap,然后保存为JPEG或PNG格式的文件。 至于“录制视频”,JavaCV提供了...

    android 视频播放sdk

    视频解码器负责将视频文件或流数据转换成设备可以理解的格式,以便在屏幕上正确显示。渲染器则将解码后的视频帧输出到屏幕,同时处理音频输出。控制器则提供了用户交互的接口,如播放、暂停、快进、快退等操作。 在...

Global site tag (gtag.js) - Google Analytics