博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
yuv encode h264 test
阅读量:4059 次
发布时间:2019-05-25

本文共 1325 字,大约阅读时间需要 4 分钟。

原始图像

shell.albert@yantai:~/project/H.264/football>ls -l fb001.yuv fb002.yuv fb003.yuv fb011.yuv fb012.yuv fb013.yuv

-rw-r--r-- 1shell.albert users 126720 Feb 12 2002 fb001.yuv

-rw-r--r-- 1shell.albert users 126720 Feb 12 2002 fb002.yuv

-rw-r--r-- 1shell.albert users 126720 Feb 12 2002 fb003.yuv

-rw-r--r-- 1shell.albert users 126720 Feb 12 2002 fb011.yuv

-rw-r--r-- 1shell.albert users 126720 Feb 12 2002 fb012.yuv

-rw-r--r-- 1shell.albert users 126720 Feb 12 2002 fb013.yuv

合并为一个yuv文件

cat fb001.yuvfb002.yuv fb003.yuv fb011.yuv fb012.yuv fb013.yuv > 123.yuv

shell.albert@yantai:~/libx264>ls -l 123.yuv

-rw-r--r-- 1shell.albert users 760320 Apr 24 14:41 123.yuv

计算尺寸

126720*6=760320

正好对应上。

已知数据源为352x240YUV420格式的,所以一帧的数据量为width*height*3/2

即为350*240*3/2=126720.00

那么最终的数据文件123.yuv中会包含

760320/126720=6.00帧原始的yuv图像。

使用libx264进行yuv2h264编码后,如下

shell.albert@yantai:~/libx264>ls -l 123.yuv libx264123.264

-rw-r--r-- 1shell.albert users 760320 Apr 24 14:41 123.yuv

-rw-r--r-- 1shell.albert users 44376 Apr 24 14:45 libx264123.264

可以数据量差距还是很大的,所以视频图像是需要先进行264编码后,再进行传输,然后再接收解码回显的。

libx264期望原始的yuv420p的数据流输入格式,如果是其他的则需要先进行转换。

如果想进入mjpegpng图像进行h264压缩,那么在此之前必须先将mjpeg转换为原始的yuv图像再送入libx264进行编码。

接收端接收到h264文件,解码为yuv,然后转换为RGB,再使用QImage生成图像,使用QPixmap画到QWidget上面。

libx264只是一个h264编码库,将yuv420的输入编码成h264。没有解码功能,若想将h264解码还原为yuv数据,

则需要使用ffmpeg。

转载地址:http://gzzji.baihongyu.com/

你可能感兴趣的文章
【积跬步以至千里】Excel行列互换
查看>>
【YOLO学习笔记】之YOLO初体验
查看>>
【YOLO学习笔记】之YOLO配置文件详解
查看>>
【YOLO学习笔记】之YOLO v1 论文笔记1(超详细:翻译+理解)
查看>>
【YOLO学习笔记】之YOLO v1 论文笔记2(超详细:翻译+理解)
查看>>
【YOLO学习笔记——数据集】之一YOLO数据集制作1(含LabelImg工具讲解)
查看>>
【积跬步以至千里】pdf转word后数字和英文格式别扭,无法修改
查看>>
【YOLO学习笔记——数据集】之一YOLO数据集制作2
查看>>
【深度学习小常识】CPU(中央处理器)和GPU(图像处理器)的区别
查看>>
【人工智能小常识】一篇文章搞懂人工智能、机器学习和深度学习
查看>>
【积跬步以至千里】如何查看浏览器保存的密码
查看>>
【opencv拓展】摄像头基本操作
查看>>
【数据结构周周练】001顺序表与链表(含上海大学832计算机组成原理与数据结构原题)
查看>>
C++获取数组长度(自写函数实现)
查看>>
C++报错:写入位置 0xCCCCCCCC 时发生访问冲突。
查看>>
C++报错:引发了未经处理的异常:写入访问权限冲突, p 是 0xCCCCCCCC
查看>>
【数据结构周周练】002顺序表与链表
查看>>
C++报错:C4700:使用了非初始化的局部变量
查看>>
【数据结构周周练】003顺序栈与链栈
查看>>
【数据结构周周练】004顺序栈与链栈 -数制转换
查看>>