草庐IT

Android音视频开发:MediaCodec解码视频,得到YUV值,一帧一帧加载到SD卡中保存

一、MediaCodec​MediaCodec类可用于访问低级媒体编解码器,即编码器/解码器组件。它是Android低级多媒体支持基础设施的一部分(通常与MediaExtractor,MediaSync,MediaMuxer,MediaCrypto,MediaDrm,Image,Surface,以及AudioTrack.)。1.1数据类型编解码器处理三种数据:压缩数据、原始音频数据和原始视频数据。​所有这三种数据都可以使用ByteBuffers,但您应该使用Surface用于原始视频数据以提高编解码器性能。Surface使用原生视频缓冲区,而不将其映射或复制到ByteBuffers因此,它的效

Android音视频开发:MediaCodec解码视频,得到YUV值,一帧一帧加载到SD卡中保存

一、MediaCodec​MediaCodec类可用于访问低级媒体编解码器,即编码器/解码器组件。它是Android低级多媒体支持基础设施的一部分(通常与MediaExtractor,MediaSync,MediaMuxer,MediaCrypto,MediaDrm,Image,Surface,以及AudioTrack.)。1.1数据类型编解码器处理三种数据:压缩数据、原始音频数据和原始视频数据。​所有这三种数据都可以使用ByteBuffers,但您应该使用Surface用于原始视频数据以提高编解码器性能。Surface使用原生视频缓冲区,而不将其映射或复制到ByteBuffers因此,它的效

彩色图像灰度化 (RGB ⇒ Gray )(RGB ⇒ YUV)(Verilog)

简介:    把一个彩色图像,也称为RGB(红,绿,蓝)图像转化为灰度图像的行为称为彩色图像灰度化处理。也就是由原来的三个通道RGB转化为一个通道YCrCb(从三个亮度值转换为一个亮度值),也即YUV(亮度,饱和度)的过程。常见的24位深度彩色图像RGB888中的每个像素的颜色由R、G、B三个分量决定,并且三个分量各占1个字节,每个分量的变化范围是0~255。而灰色图像是一种特殊的彩色图像,其一个像素点的变化范围是0~255,所以在进行图像处理的过程中,用灰度图像会比RGB图像少了很多计算量。想要进行彩色图像灰度化处理,有4种方法,以下会一一讲解。加权平均法:    这也是彩色图像灰度化处理最

彩色图像灰度化 (RGB ⇒ Gray )(RGB ⇒ YUV)(Verilog)

简介:    把一个彩色图像,也称为RGB(红,绿,蓝)图像转化为灰度图像的行为称为彩色图像灰度化处理。也就是由原来的三个通道RGB转化为一个通道YCrCb(从三个亮度值转换为一个亮度值),也即YUV(亮度,饱和度)的过程。常见的24位深度彩色图像RGB888中的每个像素的颜色由R、G、B三个分量决定,并且三个分量各占1个字节,每个分量的变化范围是0~255。而灰色图像是一种特殊的彩色图像,其一个像素点的变化范围是0~255,所以在进行图像处理的过程中,用灰度图像会比RGB图像少了很多计算量。想要进行彩色图像灰度化处理,有4种方法,以下会一一讲解。加权平均法:    这也是彩色图像灰度化处理最

c# - 如何解决 EM_WATCHDOG_TIMEOUT_DEADA444 SICK_APPLICATION_DEADA444 上的 Windows Phone 8.1 运行时崩溃

我写了一个WindowsPhone8.1runtimeAPP。我从APP仪表板得到了一些崩溃报告,但不知道如何使用它或如何相应地调试应用程序。在我的本地机器上,我无法重现崩溃。我没有找到转储文件。这是崩溃报告failures-export_9NBLGGH3THQ9_20150713_20150812.tsv的摘录:9NBLGGH3THQ9 2015-08-01 ba34d7f4-498c-fcd4-e012-7d4bf26a763eEM_WATCHDOG_TIMEOUT_DEADA444_Caixin.exe!{6A2A0B5A-E7E8-4748-A1AB-9B820BE11753}

c++ - ffmpeg Bmp 到 yuv : Crash at sws_scale

上下文:我有一系列连续的位图,我想将它们编码成一种轻型视频格式。我使用ffmpeg版本2.8.3(内部版本here),在qt5、qtIDE和msvc2013适用于win32。问题:我的代码在sws_scale()处崩溃(有时在avcodec_encode_video2()处)。当我探索堆栈时,崩溃事件发生在sws_getCachedContext()。(我只能看到这些ffmpeg构建的堆栈)。我只使用这些ffmpeg库(来自Qt.pro文件):LIBS+=-lavcodec-lavformat-lswscale-lavutilswscale是哪个bug。这是代码:voidnewVide

ios - YUV420p 有很多绿色 --> iOS 上 OpenGL 2.0 着色器中的 RGB

我想使用ffmpeg和OpenGLES2.0为iOS制作一个电影播放器但我有一些问题。输出的RGB图像有很多绿色。这是代码和图片480x320宽度和高度:512x512纹理宽度和高度我从ffmpegAVFrame得到了一个YUV420p行数据。for(inti=0,nDataLen=0;idata[i];for(intj=0;j>nShift);j++){memcpy(&pData->pOutBuffer[nDataLen],pYUVData,(mWidth>>nShift));pYUVData+=_frame->linesize[i];nDataLen+=(mWidth>>nShif

ios - 如何在 VLC 播放器上播放原始 YUV NV12 文件

我正在处理一个在ObjectiveC上开发的视频处理项目。现在,我得到了YUV(YpCbCr)格式的相机原始输出,表示为YUV(NV12)格式。我已将此输出存储在一个文件中。我怎样才能在VLC播放器上播放这个原始的YUVNV12文件?还有一件事我要提一下,我可以通过以下命令在VLC上播放原始YUV(I420)格式的视频文件:"C:\ProgramFiles\VideoLAN\VLC\vlc.exe"--demuxrawvideo--rawvid-fps10--rawvid-width640--rawvid-height480--rawvid-chromaI420input.yuvvlc

iOS 使用 vImage - 加速将 QCAR YUV 转换为 RGB

我正在尝试测试转换Vuforia生成的YUV图像并将它们转换为UIImage使用iOSAccelerateFramework的vImage调用的性能。在代码的当前状态下,我只是想让它工作。现在转换会产生深色条纹图像。是否有关于Vuforia如何在其实现中布局YUV格式的任何已发布的详细信息?我最初的假设是他们使用iOS设备使用的双平面420p格式。相关测试代码如下。UIImage*imageWithQCARCameraImage(constQCAR::Image*cameraImage){UIImage*image=nil;if(cameraImage){QCAR::PIXEL_FOR

ios - 如何从 YUV 转换为 CIImage for iOS

我正在尝试将YUV图像转换为CIIMage并最终转换为UIImage。我在这些方面相当新手,并试图找出一种简单的方法来做到这一点。据我所知,从iOS6YUV可以直接用于创建CIImage但是当我试图创建它时,CIImage只持有一个nil值。我的代码是这样的->NSLog(@"StartedDrawVideoFrame\n");CVPixelBufferRefpixelBuffer=NULL;CVReturnret=CVPixelBufferCreateWithBytes(kCFAllocatorDefault,iWidth,iHeight,kCVPixelFormatType_420