0

现在我正在尝试从视频文件中获取帧图片,我知道该怎么做(使用ffmpeggetFrameAtTime功能)

所以我可以在我的程序中获得一个帧作为 bmp 结构但是当我将它保存为pngorjpeg时,

这些质量不好,虽然视频质量很好

所以我想保存这个bmp而不进行任何压缩

据我copyPixelsToBuffer所知,功能适用于此,但我做不到... T_T ...

请任何人都可以向我解释如何使用它?//我的录音大小是 (1280, 720)

我应该录制更大尺寸的视频吗?还是应该将帧保存为 SD 卡中的位图???

不压缩???

//我的猜测是它用于压缩。压缩是一种与质量的权衡

现在我用这个函数制作了一个 png 或 jpeg Bitmap.compress(CompressFormat.PNG, 100, fos)

4

1 回答 1

2

来自维基百科:http ://en.wikipedia.org/wiki/Portable_Network_Graphics

便携式网络图形 (PNG /ˈpɪŋ/[2] ping) 是一种采用无损数据压缩的位图图像格式。

您使用显示的代码进行的 PNG 压缩不会丢失任何质量。PNG是无损的。

最有可能发生的是,将位图对象放入内存的实现在某处丢失了一些像素。

我建议您(出于比较和测试目的)在应用程序的 ImageView 全屏中显示位图对象,并将其与保存的 PNG 进行比较。只是为了检查哪个转换真正失去质量。

于 2012-08-15T10:12:16.990 回答