ScriptGirl 2021-07-14 17:26 采纳率: 0%
浏览 13

订阅了您的专栏,问题:获取到NV21格式的frame后如何转成byte[]数组。


public static void readVideo2Bitmap(String uri) throws IOException, InterruptedException {
        FFmpegFrameGrabber grabber = FFmpegFrameGrabber.createDefault(uri);
        grabber.setImageWidth(1280);
        grabber.setImageHeight(720);
        grabber.setPixelFormat(avutil.AV_PIX_FMT_NV21); // 设置像素格式
        grabber.start();
        saveAsNV21(grabber); // 调用下列函数
        grabber.stop();
        grabber.close();
    }

private static void saveAsNV21(FFmpegFrameGrabber grabber) throws IOException, InterruptedException {
        while (Constant.readVideo2BitmapFlag) {
            Frame frame = grabber.grab();
            
            // 这里怎么将frame转换成byte[]数组?

            if (RtspActivity.rgbCameraHelper != null) {
                RtspActivity.rgbCameraHelper.onPreviewFrame(nv21);
            }
            Log.i("djtest", "saveAsBitmaps: nv21长度=" + nv21.length);

            Thread.sleep(40);
        }
    }
  • 写回答

1条回答 默认 最新

  • 程序媛一枚~ Python领域新星创作者 2022-11-06 14:07
    关注
                Frame frame = ff.grabFrame();
                AndroidFrameConverter androidFrameConverter = new AndroidFrameConverter();
                Bitmap bitmap = androidFrameConverter.convert(frame);
                ByteArrayOutputStream stream = new ByteArrayOutputStream();
                bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);
                byte[] imageInByte = stream.toByteArray();
    

    http://www.yanzuoguang.com/article/711

    评论

报告相同问题?

问题事件

  • 创建了问题 7月14日

悬赏问题

  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教