ffmepg处理10bit 和8bit yuv总结
ffmepg处理yuv视频的系列之三
最近发现数据集里的yuv大部分是8bit,但是有一部分是10bit或者16bit的,默认的yuv播放器打不开,也不利于数据集制作。所以就想用ffmpeg进行处理,记录一下方法。10bit能够容纳更多的色彩,获得更好的动态范围。
ffmpeg里面yuv的格式定义了很多种,比如下面:
PIX_FMT_YUV420P9BE, ///< planar YUV 4:2:0, 13.5bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian
PIX_FMT_YUV420P9LE, ///< planar YUV 4:2:0, 13.5bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
PIX_FMT_YUV420P10BE,///< planar YUV 4:2:0, 15bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian
PIX_FMT_YUV420P10LE,///< planar YUV 4:2:0, 15bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
PIX_FMT_YUV422P10BE,///< planar YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian
PIX_FMT_YUV422P10LE,///< planar YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
PIX_FMT_YUV444P9BE, ///< planar YUV 4:4:4, 27bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian
PIX_FMT_YUV444P9LE, ///< planar YUV 4:4:4, 27bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
PIX_FMT_YUV444P10BE,///< planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian
PIX_FMT_YUV444P10LE,///< planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
PIX_FMT_YUV422P9BE, ///< planar YUV 4:2:2, 18bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian
PIX_FMT_YUV422P9LE, ///< planar YUV 4:2:2, 18bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
我们平时常见的yuv默认的是yuv420p,是8bit。我看有人问如何从10bit转8bit,查了一下网上没有写。结果我发现ffmpeg默认420p就是8bit。
例如我想将一个分辨率为1920x1080,名字为“test_444p_10bit.yuv”转换为420p 8bit的格式,方法如下:
ffmpeg -s 1920x1080 -pix_fmt yuv444p10le -i test_444p_10bit.yuv -pix_fmt yuv420p test_420p_8bit.yuv
那如果是yuv420p test_420p_8bit.yuv转换为444p 10bit,方法如下:
ffmpeg -s 1920x1080 -pix_fmt yuv420p -i test_420p_8bit.yuv -pix_fmt yuv444p10be test_444p_10bit.yuv
不清楚yuv是10be还是10le,可以用下面这个播放器(能够播放10bit的yuv)鉴别:https://sourceforge.net/projects/raw-yuvplayer/
————————————————
版权声明:本文为CSDN博主「学EE的粒粒」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/baoyongshuai1509/article/details/83927538
ffmepg处理10bit 和8bit yuv总结相关推荐
- yuv 10bit 8bit
我们知道为了获得更好的动态范围,除了常见的8bit yuv外,还有10bit,16bit这样的yuv数据.8bit的yuv数据还好理解,每一个像素8bit,在内存中自然也就是一个字节一个字节的存储咯, ...
- 12bit的图像如何向8bit转化_【福联影像】10bit显示器比8bit专业在哪?想告别色彩断层必须要了解...
很多摄影人对8bit.10bit都不陌生,无论是单反相机.专业显示器,还是PS上,都会涉及到色深(位深)选择,但色深对作品的实际影响,却知之甚少.因此,在选择后期修图显示器时,摄影人的期许大多是不偏色 ...
- c语言8bit转10bit,8bit、8+2bit和10bit 手机屏幕三种色深你真的能看出来吗?
10bit,这个词在手机厂商"铺天盖地"的宣传下,至少在线上关注手机参数的消费者,已经注意到色深对屏幕的意义.继色域.刷新率之后,屏幕色深再一次成为一面"好屏幕" ...
- 海思3559万能平台搭建:在截获的YUV图像上画框
前言 万里长征第二步,YUV的认识和编码还在进行中,熟悉了YUV格式的原理和储存方式后,我们就可以结合第一步中从vpss通道截获的YUV图像上尝试修改,叠加自己的算法,先简单粗暴的改改,后续在替换 ...
- HEVCProfileMain10HDR10 和 非8bit数据位深的一些讨论。
用过Android-MediaCodec做视频编解码的同学,应该都会见过这个定义变量--HEVCProfileMain10HDR10,其定义是在MediaCodecInfo.CodecProfileL ...
- Android平台上基于OpenGl渲染yuv视频
本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 更多音视频开发文章,请看:音视频开发专栏 介绍一个自己刚出炉的音视频播放录制开源项目 前言 这是我音视频专栏的第一篇实例解析,也算是 ...
- android 10bit,作为“普通用户” 我们为什么建议你不强求10bit屏幕?
作为"普通用户" 我们为什么建议你不强求10bit屏幕? 2021-03-26 22:11:09 0点赞 0收藏 0评论 10bit,这个词在手机厂商"铺天盖地" ...
- YUV视频格式详解(翻译自微软文档)
Video Rendering with 8-Bit YUV Formats Gary Sullivan 和 Stephen Estrop 微软数字媒体部门 四月 2002年 更新于 八月 2003 ...
- 10bit灰阶测试图_真假10bit?!到底该怎么测?测试显示器10bit色深的两种方法
为什么要开启10bit色深? 因为显示器的色深越高,容纳的颜色就越多,越能够在色彩的过度渐变方面做的细腻,因为颜色渐变更自然了,观感也会得到很大的提升. 现在就是一个显示行业升级换代的分水岭,就像当年 ...
- 视音频格式基础知识视频压缩
视音频格式基础知识&视频压缩 2018.7.10 一.视频基础知识 1.什么是视频:连续的图像变化每秒超过24帧(frame)画面以上时,根据视觉暂留原理,人眼无法辨别单幅的静态画面:看上去是 ...
最新文章
- php -- 读取大文件
- Visual Studio 2013 在使用 razor无智能提示的解决办法
- CentOS7——vi编辑保存
- VS2010 SQL Server 2005 Database Project 使用笔记(二)
- 对现有的所能找到的DDOS代码(攻击模块)做出一次分析----CC篇
- 动态规划—最长上升子序列(POJ 1458)
- [The Diary] 11.9 The Final Day
- java javascript 的编码
- 车牌识别算法实践(二):基础算法
- 【雅思大作文考官范文】——第十一篇:'homework' essay
- 为什么在CAD图纸中插入外部参照后会出现多余图形?
- Windows文件夹用“命令行窗口”打开
- apt-get update 出错 Could not connect to archive.ubuntukylin.com:10006 (120.240.95.35), connection tim
- java utf-8_java如何把string转为utf-8
- 多wan口路由器,如何实现域名解析?
- 实现图片加载先模糊后清晰的效果
- 【1】谷歌2021模型量化白皮书《A White Paper on Neural Network Quantization》
- cv2.minAreaRect函数详解
- 基于DQN与gym的小车爬坡训练
- 阿拉伯数字转中文大写,以及票据日期的写法
热门文章
- 存量用户时代,方兴未艾的客户服务SaaS
- 元素垂直居中的几种方法
- 8款实用的Jquery瀑布流插件
- 中国关系型社会的环境如何生存发展------总结程序员如何做人做事
- 【游戏测试】bug优先级的定义及如何描述
- C#压缩ACCESS数据库的类源码
- Linux--解决vi报错:E37: No write since last change E162: No write since last change for buffer
- 边缘和核心交换——应用层CS、P2P、混合模式
- Flash地址空间的数据读取——STM32
- Unity Android Ios 微信SDK 接入