首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【音视频原理】图像相关概念 ⑤ ( YUV 数据存储 | I444 格式说明 | I422 格式说明 | I420 格式说明 | NV12 格式说明 | NV21 格式说明 )

又叫 I422 格式 , 与 FFmpeg AV_PIX_FMT_YUV422P 像素格式标识符对应 ; FFmpeg AV_PIX_FMT_YUV422P 像素格式标识符 说明 : AV_PIX_FMT...采样格式 按照 平面格式 Planar 进行存放 , 那么就是 YUV420P 格式 ; YUV420P 格式 , 又叫 I420 格式 , 与 FFmpeg AV_PIX_FMT_YUV420P...像素格式标识符对应 ; FFmpeg AV_PIX_FMT_YUV420P 像素格式标识符 说明 : AV_PIX_FMT_ 前缀是 FFmpeg 中 用于标识其内部像素格式 ; YUV420...表示 每个像素都有独立 Y 亮度分量 , UV 色度分量 在水平和垂直方向上 采样率都是亮度分量 Y 一半 , 每个 2x2 像素共享一对色度分量值 ; P 表示 YUV 分量 是 平面格式..., 特别是对于人眼对亮度信息更为敏感特性而言 ; 3、YUV420P 数据存储 YUV420P 数据存储 格式如下图所示 : 不同类型分量放在不同数组中 , Y 灰度值 分量 , 存储在 最上面的数组中

69410

FFmpegffmpeg 命令行参数 ⑥ ( 使用 FFmpeg 提取 YUV 像素格式数据 | 使用 FFmpeg 提取 RGB 像素格式数据 | RGB 与 YUV 之间格式转换 )

一、使用 FFmpeg 提取 YUV 像素格式数据 FFmpeg 是一个非常强大多媒体处理工具 , 可以用来 处理 / 转换 / 播放 各种音视频格式数据 , 因此 使用 FFmpeg 自然也可以提取...使用 FFmpeg 工具自己提取像素格式视频数据 ; 2、提取 YUV 数据 执行下面的命令 , 可以 使用 ffmpeg 工具 从 input.mp4 视频文件 中提取 YUV420P 格式数据...像素格式转换 ; 2、设置分辨率与像素格式 - 同时设置输入 / 输出文件参数 执行 ffmpeg -pix_fmt rgb24 -s 320x240 -i output_rgb24.rgb -pix_fmt...640x480 大小 yuv420p 格式 视频文件 ; 3、设置分辨率与像素格式 - 只设置输入文件参数 执行 ffmpeg -pix_fmt rgb24 -s 320x240 -i output_rgb24...视频画面大小 ; 此时 输出文件 默认情况 下 , 使用 输入文件 画面大小 320x240 像素 ; 执行完 , 可查看转换文件 ; 执行 ffplay -pixel_format yuv420p

67710
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    讲解FFMPEG H264H265 编码延迟问题

    减少GOP大小可以减少编码器等待整个编码单元时间,从而降低延迟。但是,减小GOP大小会对视频质量产生一定影响,需要在延迟和质量之间进行平衡。 2....降低视频帧率和码率可以减少编码器工作量和数据量,从而降低延迟。但是,这样做可能牺牲视频流畅性和质量,需要根据实际需求进行权衡。 3....-crf 23:调整视频质量,此处23为可调整值,可以根据实际情况进行调整。 -vf "format=yuv420p":将视频强制转换YUV420P像素格式。...-crf 28:调整视频质量,此处28为可调整值,可以根据实际情况进行调整。 -vf "format=yuv420p":将视频强制转换YUV420P像素格式。...使用ffmpeg命令可以捕获设备输入(如摄像头、音频输入)并将其写入到文件中,也可以将文件进行播放。 转码和解码:FFmpeg可以将音视频文件从一种格式转换为另一种格式,例如从MP4转换为MKV。

    1.7K00

    Qt加载本地图片转为YUV420P格式数据

    在实现上述功能时,使用第三方库(FFmpeg)来完成H264编码和RTMP推流功能。...FFmpeg是一种跨平台开源多媒体框架,它提供了丰富音视频处理功能,包括视频编码、解码、转换、推流、拉流等功能。...二、YUV420P格式介绍 YUV420P和RGB888都是常见像素格式,分别代表了不同色彩空间表示方式。 RGB888是一种直接将像素颜色信息表示为红、绿、蓝三种颜色通道格式。...在将YUV420P转换为RGB888时,需要使用一定算法进行转换,因为YUV420P和RGB888之间存在非线性转换关系。...然后,使用两个指针分别指向目标YUV420P数据和源RGB数据开头。使用两个嵌套循环遍历每个像素,并将其转换YUV420P格式。

    48840

    FFmpeg libswscale源码分析1-API介绍

    本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/14349382.html libswscale 是 FFmpeg 中完成图像尺寸缩放和像素格式转换库...用户可以编写程序,调用 libswscale 提供 API 来进行图像尺寸缩放和像素格式转换。...而 bpp (Bits Per Pixel)则是将图像总比特数分摊到每个像素上,计算出平均每个像素占多少个 bit,例如 yuv420p bpp 是 12,表示平均每个像素占 12 bit(Y占8位...U 分量和 V 分量垂直采样因子也是 2,因此 U 分量和 V 分量行数少了,只有图像高度一半,但垂直方向采样率并不影响一个 plane stride 值,因为 stride 定义决定了其值只取决于水平方向采样率...1.3 转换函数 sws_scale() 图像分辨率转换像素格式转换都通过这一个函数完成。

    58620

    利用ffmpeg进行提取PCM数据和封装格式转换

    今天主要还是分享ffmpeg命令一些操作:提前像素格式和PCM数据、如何利用ffmpeg进行命令转封装。...一、利用ffmpeg提取像素格式和PCM数据 1、提取YUV: 提取流媒体文件3秒数据,分变率和源视频一样: ffmepg -i test_1280x720.mp4 -t 3 -pix_fmt yuv420p...yuv420P_orig.yuv 效果如下: 播放花屏,主要是分辨率不对 修改一下: 现在就播放正常了 现在我们来转换成指定大小像素格式大小yuv格式 ffmpeg -i test_1280x720...-t: 表示截取流媒体文件内容长度 -pix_fmt:指定要流媒体要转换格式 -s:指定分辨率大小 2、提取rgb: 提取流媒体指定大小分辨率: ffmpeg -i test.mp4 -t 3...3、rgb和yuv之间转换ffmpeg -s 1280x720 -pix_fmt yuv420p -i yuv420p_1280x720.yuv -pix_fmt rgb24 rgb24_1280x720

    3.2K50

    FFmpeg 内容介绍 音视频解码和播放

    前言 FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频完整解决方案。...为什么可以压缩 ● 去除冗余信息 ○ 空间冗余:图像相邻像素之间有较强相关性 ○ 时间冗余:视频序列相邻图像之间内容相似 ○ 编码冗余:不同像素值出现概率不同 ○...但是一般情况下音频数据量要远小于视频数据量,因而即使使用稍微落后音频编码标准,而导致音频数据量有所增加,也不会对视音频总数据量产生太大影响。...yuv420编码像素数据 AVFrame *pAVFrameYUV420P = av_frame_alloc(); //给缓冲区设置类型->yuv420类型 //得到YUV420P...格式规范一:Y结构表示一个像素(一个像素对应一个Y) //YUV420P格式规范二:4个像素点对应一个(U和V: 4Y = U = V)

    2.2K12

    流媒体技术基础

    设置画面大小 # r 设置帧率 # -pix_fmt yuv420p 指定像素格式,将读取图像像素点颜色格式转换yuv420p # -vcodec libx264 指定编码器 # -f flv...不做视频转码操作的话,节省 CPU 计算资源,CPU 占用率降低很多,但是如果输入视频码率特别高的话,文件也特别大,这种情况做一下转码还是有必要。...(default false) FFmpeg 为什么会给 MP4 demuxer 加这么多兼容性参数呢?...libx264 在 FFmepeg 中支持参数: # 查看 libx264 支持参数 ffmpeg -h encoder=libx264 通常统一编码成 yuv420p ,如果确定播放器可以支持 HDR...宏树是一种视频编码结构,在编码时它可以增加 slice 处理层数,降低视频编码码率,但是复杂度略有提升,所以耗时也增加一些。

    1.5K10

    音视频开发之旅(34) - 基于FFmpeg实现简单视频解码器

    目录 FFmpeg解码过程流程图和关键数据结构 mp4通过FFmpeg解码YUV裸视频数据 遇到问题 资料 收获 一、FFmpeg解码过程流程图和关键数据结构 FFmpeg解码涉及知识点比较多,...但这些像素并不是连续存储,每行有效像素之后存储了一些无效像素,经过该函数处理,去掉无效数据。否则会出现花屏。 10....YUV数据类型 输出解码前h264码流、输出解码后YUV信息 使用Elecard StreamEye Tools查看输出h264数据 视频显示流程,就是将像素数据“画”在屏幕上过程。...有些可能是错误要过滤掉,否则相应帧可能出现绿屏 AVFrame *pFrame = av_frame_alloc(); //作为yuv输出frame承载者,进行缩放和过滤出错帧,...YUV420P,在渲染之前需要进行格式转换 struct SwsContext *img_convert_ctx = sws_getContext(pCodecContext->width,

    1.4K00

    8.ffmpeg-基础常用知识

    MPEG 系列标准对 VCD、 DVD 等视听消费电子及数字电视和高清晰度电视(DTV&&HDTV)、 多媒体通信等信息产业发展产生了巨大而深远影响....音频解码 将音频码流(aac、ape等)解码成pcm 4.像素格式 压缩编码中一般使用是RGB24,YUV420 , YUV420P, YUV422P, YUV444P等格式数据,最常见是YUV420P...YUV420、YUV420P、YUV420SP区别 对于YUV420格式(packed封装),每个像素Y,U,V是连续交*存储。所以存储数据时,data[0]中就存是yuvyuvyuv......对于YUV420P格式(planar平面封装),先连续存储所有像素Y,紧接着存储所有像素U,随后是所有像素V,比如:YYYYYYYY UU VV,所以Ffmpeg中存储P格式数据时,data...从上图,可以看到,DTS和PTS顺序是不一致,并且每组GOP中开头都是I帧,然后后面都是B、P帧,如果开头I帧图像质量比较差时,也影响到一个GOP中后续B、P帧图像质量.

    59750

    图解YU12、I420、YV12、NV12、NV21、YUV420P、YUV420SP、YUV422P、YUV444P区别

    ffmpeg视频推流实践 android平台下音频编码之编译LAME库转码PCM为MP3 图解YU12、I420、YV12、NV12、NV21、YUV420P、YUV420SP、YUV422P、YUV444P...下面基于实例来理解Y,U,V分量作用 先使用ffmpeg将指定图片转为yuv420p格式 ffmpeg -i input.jpg -s 510x510 -pix_fmt yuv420p input.yuv...ubuntu系统,因此运行yuvplayer.exe文件,需要提前安装好wine:sudo apt install wine,运行yuvplayer之后,需要先设置像素格式为Y,否则你看到图像可能会有问题...文件并且保留Y分量,你可能会有疑问,为什么U分量和V分量要写入0x80,其实你可以参考上面的YUV转RGB公式,YUV数据是无法直接显示,最终需要转成RGB显示,因此我这里是只需要保留Y分量,忽略UV...分量影响,因此根据上面的公式,我在U和V分量中都写入128就是十六进制0x80 保留Y分量(生成灰度图) void yuv420p_y(char *inputPath, char *outputPath

    2.7K30

    音视频八股文(3)--ffmpeg常见命令(2)

    播放YUV数据 播放 YUV 数据文件 yuv420p_320x240.yuv,指定像素格式为 yuv420p,视频大小为 320x240,帧率为 5: ffplay -pixel_format yuv420p...-t 3 -pix_fmt yuv420p -s 320x240 yuv420p_320x240.yuv 这里我们使用了 -t 参数指定只抽取前 3 秒数据,使用了 -pix_fmt 参数指定了输出文件像素格式为...改变编码格式 将视频文件 test.mp4 中视频数据转换为 H.265 编码格式,音频数据转换为 MP3 格式,并将其保存为 Matroska 文件 out_h265_mp3.mkv: ffmpeg...需要注意是,重新编码视频数据可能导致视频质量损失,同时也消耗大量计算资源和时间,因此应该根据具体需求谨慎调整。...需要注意是,重新编码音频数据可能导致音频质量损失,同时也消耗大量计算资源和时间,因此应该根据具体需求谨慎调整。

    1K121

    CentOS7 安装 FFmpeg

    1指定只截取一帧,-q:v 2表示输出图片质量,一般是1到5之间(1 为质量最高) 截取某时间段视频 ffmpeg -ss 0:0:19 -i test.mp4 -to 0:13:11 -c copy...格式转换 ffmpeg -i out.mp4 -vcodec copy -acodec copy out.flv 上面的命令表式是音频、视频都直接 copy,只是将 mp4 封装格式转成了flv...:00:00 -t 10 out.gif avi 转换成 mp4 ffmpeg -i input.avi -c:v libx264 -s 1280x720 -pix_fmt yuv420p -b:a 63k...yuv420p # 设置像素采样方式 -b # 设置码率 -b:a和-b:v # 分别表示音频码率和视频码率,-b表示音频加视频总码率 -r # 帧率,表示每秒更新图像画面的次数...,通常大于24肉眼就没有连贯与停顿感觉了 mp4 转换 m3u8 ffmpeg -i output.mp4 -hls_time 10 -hls_list_size 0 -hls_segment_filename

    8810

    音视频八股文(3)--ffmpeg常见命令(2)

    播放YUV数据 * 播放 YUV 数据文件 `yuv420p_320x240.yuv`,指定像素格式为 `yuv420p`,视频大小为 320x240,帧率为 5: ``` ffplay -pixel_format...-t` 参数指定只抽取前 3 秒数据,使用了 `-pix_fmt` 参数指定了输出文件像素格式为 `yuv420p`,同时在第二个命令中使用了 `-s` 参数指定了输出文件分辨率为 320x240....yuv` 转换成 RGB 格式文件 `rgb24_320x240_2.rgb`,分辨率为 320x240: ``` ffmpeg -s 320x240 -pix_fmt yuv420p -i yuv420p...需要注意是,重新编码视频数据可能导致视频质量损失,同时也消耗大量计算资源和时间,因此应该根据具体需求谨慎调整。...需要注意是,重新编码音频数据可能导致音频质量损失,同时也消耗大量计算资源和时间,因此应该根据具体需求谨慎调整。

    1.9K10

    FFmpeg菜鸡互啄#第1篇#一些基本概念

    常见封装格式有mp4、flv、avi、mkv… 视频编码 将视频像素数据(RGB, YUV等)压缩编码成视频流,从而降低视频数据量。...一般使用AAC情况会比较多,可以将音频数据压缩10倍以上。 视频像素数据 保存了屏幕上每个像素像素值。...常见像素数据格式有RGB24、RGB32、YUV420P、YUV422P、YUV444P等。压缩编码中一般使用是YUV格式像素数据, 最为常见格式为YUV420P。...最后 使用FFmpeg对媒体文件解码之后,大多数情况直接得到YUV和PCM数据,再把数据利用SDL等媒体库就可以直接播放(其实像VLC这样FFmpeg儿子可以直接使用其接口播放媒体文件)。...总的来说,我们一开始学习FFmpeg时候可以先不深入研究各种封装格式、编码格式和数据格式。研究那些时候应该就不是菜鸟了吧~

    97090

    六个常用FFmpeg命令

    output.mp4 输出文件 如果你没有指定音频或者视频编码译码器,那么FFmpeg根据容器格式使用默认编码译码器及其参数。...较新版本FFmpeg自动增加这条命令。 4、不重新编码就能裁剪视频 你可能需要裁剪视频中部分内容,使用Adobe Premiere Pro来裁剪视频需要渲染以及编码,因此很耗时。...当编码译码器设为copy时,FFmpeg根据关键帧进行查找,因此设置时间不会完全精准,在多数应用场景下这不会有问题,但是如果你需要精准时间设置,你可能需要其他视频编辑器。...5、转换为原始格式 一些工具只支持原始格式(如YUV或者Y4M),或者当使用新编码译码器如AV1,而多数工具不支持直接输入AV1编码文件,因此你需要将你文件转换为原始格式: ffmpeg -i...input.mp4 -pix_fmt yuv420p -vsync 1 output.y4m 命令解释: -pix_fmt yuv420p 指定格式为YUV420p

    4.6K30
    领券