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总结相关推荐

  1. yuv 10bit 8bit

    我们知道为了获得更好的动态范围,除了常见的8bit yuv外,还有10bit,16bit这样的yuv数据.8bit的yuv数据还好理解,每一个像素8bit,在内存中自然也就是一个字节一个字节的存储咯, ...

  2. 12bit的图像如何向8bit转化_【福联影像】10bit显示器比8bit专业在哪?想告别色彩断层必须要了解...

    很多摄影人对8bit.10bit都不陌生,无论是单反相机.专业显示器,还是PS上,都会涉及到色深(位深)选择,但色深对作品的实际影响,却知之甚少.因此,在选择后期修图显示器时,摄影人的期许大多是不偏色 ...

  3. c语言8bit转10bit,8bit、8+2bit和10bit 手机屏幕三种色深你真的能看出来吗?

    10bit,这个词在手机厂商"铺天盖地"的宣传下,至少在线上关注手机参数的消费者,已经注意到色深对屏幕的意义.继色域.刷新率之后,屏幕色深再一次成为一面"好屏幕" ...

  4. 海思3559万能平台搭建:在截获的YUV图像上画框

    前言   万里长征第二步,YUV的认识和编码还在进行中,熟悉了YUV格式的原理和储存方式后,我们就可以结合第一步中从vpss通道截获的YUV图像上尝试修改,叠加自己的算法,先简单粗暴的改改,后续在替换 ...

  5. HEVCProfileMain10HDR10 和 非8bit数据位深的一些讨论。

    用过Android-MediaCodec做视频编解码的同学,应该都会见过这个定义变量--HEVCProfileMain10HDR10,其定义是在MediaCodecInfo.CodecProfileL ...

  6. Android平台上基于OpenGl渲染yuv视频

    本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 更多音视频开发文章,请看:音视频开发专栏 介绍一个自己刚出炉的音视频播放录制开源项目 前言 这是我音视频专栏的第一篇实例解析,也算是 ...

  7. android 10bit,作为“普通用户” 我们为什么建议你不强求10bit屏幕?

    作为"普通用户" 我们为什么建议你不强求10bit屏幕? 2021-03-26 22:11:09 0点赞 0收藏 0评论 10bit,这个词在手机厂商"铺天盖地" ...

  8. YUV视频格式详解(翻译自微软文档)

    Video Rendering with 8-Bit YUV Formats Gary Sullivan 和 Stephen Estrop 微软数字媒体部门 四月 2002年 更新于 八月 2003 ...

  9. 10bit灰阶测试图_真假10bit?!到底该怎么测?测试显示器10bit色深的两种方法

    为什么要开启10bit色深? 因为显示器的色深越高,容纳的颜色就越多,越能够在色彩的过度渐变方面做的细腻,因为颜色渐变更自然了,观感也会得到很大的提升. 现在就是一个显示行业升级换代的分水岭,就像当年 ...

  10. 视音频格式基础知识视频压缩

    视音频格式基础知识&视频压缩 2018.7.10 一.视频基础知识 1.什么是视频:连续的图像变化每秒超过24帧(frame)画面以上时,根据视觉暂留原理,人眼无法辨别单幅的静态画面:看上去是 ...

最新文章

  1. php -- 读取大文件
  2. Visual Studio 2013 在使用 razor无智能提示的解决办法
  3. CentOS7——vi编辑保存
  4. VS2010 SQL Server 2005 Database Project 使用笔记(二)
  5. 对现有的所能找到的DDOS代码(攻击模块)做出一次分析----CC篇
  6. 动态规划—最长上升子序列(POJ 1458)
  7. [The Diary] 11.9 The Final Day
  8. java javascript 的编码
  9. 车牌识别算法实践(二):基础算法
  10. 【雅思大作文考官范文】——第十一篇:'homework' essay
  11. 为什么在CAD图纸中插入外部参照后会出现多余图形?
  12. Windows文件夹用“命令行窗口”打开
  13. apt-get update 出错 Could not connect to archive.ubuntukylin.com:10006 (120.240.95.35), connection tim
  14. java utf-8_java如何把string转为utf-8
  15. 多wan口路由器,如何实现域名解析?
  16. 实现图片加载先模糊后清晰的效果
  17. 【1】谷歌2021模型量化白皮书《A White Paper on Neural Network Quantization》
  18. cv2.minAreaRect函数详解
  19. 基于DQN与gym的小车爬坡训练
  20. 阿拉伯数字转中文大写,以及票据日期的写法

热门文章

  1. 存量用户时代,方兴未艾的客户服务SaaS
  2. 元素垂直居中的几种方法
  3. 8款实用的Jquery瀑布流插件
  4. 中国关系型社会的环境如何生存发展------总结程序员如何做人做事
  5. 【游戏测试】bug优先级的定义及如何描述
  6. C#压缩ACCESS数据库的类源码
  7. Linux--解决vi报错:E37: No write since last change E162: No write since last change for buffer
  8. 边缘和核心交换——应用层CS、P2P、混合模式
  9. Flash地址空间的数据读取——STM32
  10. Unity Android Ios 微信SDK 接入