视频编码
文章平均质量分 78
li_wen01
liwen01
展开
-
libwebp 交叉编译移植到arm设备
(一)前言 我们常用的图片格式有jpeg,jpg,png,bmp等等,jpeg图片是常见的一种有损压缩,现在使用非常广,压缩比也比较的高。每种格式都有它自己的优缺点。这里介绍webp图片在前嵌入式设备中的使用 webp 图片是在网页中使用的一种高压缩比的图片处理方法,在嵌入式设备中使用,可以节省图片的存储空间,如果要远程传输,还可以节省流量。 webp 在GitHub上的源码路径为:https://github.com/webmproject/libwebp 关于l............原创 2020-12-10 18:15:45 · 1631 阅读 · 1 评论 -
V4L2视频采集与视频编码学习目录及总结
我们现在平时所看到的视频,从摄像头数据采集到最后显示频显示出来,初略的归纳经过了下面的几个环节:摄像头采集图像数据->将图像数据进行压缩->将压缩的图像数据封装成视频格式。视频格式文件->去除视频格式封装->解压缩图像数据->得到一帧图像的数据->显示器显示图像。 这里只介绍摄像头数据的采集以及将采集到的数据压缩成视频流的一些操作。 摄像头输...原创 2018-04-24 11:14:17 · 6691 阅读 · 1 评论 -
V4L2视频采集与H264编码1—V4L2采集JPEG数据
最近在做视频编码,经过一段时间的折腾,终于可以把V4L2采集到的图片数据编码成H264视频,并且成功将工程移植到了ARM开发板上。无奈开发板性能太低,每秒钟只能编码一帧数据,查看CPU已经跑到100%,计划换另外一种编码方式,先把遇到的问题和开发过程记录下来,做个备忘,也可以给大家一个参考。 我的整个开发流程是: (1)通过V4L2采集摄像头数据,保存成图片 (2)通过V4...原创 2018-04-24 11:01:53 · 10124 阅读 · 16 评论 -
V4L2视频采集与H264编码2—v4l2采集YUV数据
在上一篇中因为是在PC机上使用的USB摄像头只能支持GPEG image格式,但是H264编码需要使用YUV数据,所以我找了个ARM开发板来做测试。本以为代码从PC机移植到开发板是很简单的一个事,谁知因为平台或是V4L2底层驱动的不同,最终也是花了九牛二虎之力才把问题给解了。话不多说,直接上代码:/*=============================================...原创 2018-04-24 11:01:59 · 19390 阅读 · 13 评论 -
V4L2视频采集与H264编码3—X264移植
计划将YUV数据编码成H264视频,中间需要用到X264编码器。X264编码器的源码分析参考了雷神的博客x64源码分析,这里将介绍如何将x264编码库移植到ARM开发板上。最新的x264代码可以在x264源码下载地址下载,如果是在linux环境下,可以使用下面命令直接克隆一份代码# git clone http://git.videolan.org/git/x264.git 如果...原创 2018-04-24 11:02:06 · 7151 阅读 · 11 评论 -
V4L2视频采集与H264编码4—X264编码H264视频
在我们的视频采集传输设备中,先是通过摄像头采集颜色数据组成一张画面,也就是我们常说的一帧。数据格式可以是YUV数据也可以是RGB数据,他们之间可以通过计算转换。我们看到的视频其实就是由一帧一帧的画面组成,其速度一般是25帧/秒,电影《比利林恩的中场战事》采用的120帧/秒的技术。如果直接将摄像头采集到的颜色编码成视频,那么视频要求的带宽是非常非常高的。以30万像素摄像头YUV420格式来计...原创 2018-04-24 11:04:13 · 6390 阅读 · 10 评论 -
V4L2采集YUYV数据—X264编码H264视频实例
前几天在网上买个罗技的C270摄像头,它支持YUYV(YUV422)和JPEG数据输出。它规格书上写的是支持HD720P(1280*720像素),在实际的调试过程中,我使用该分辨率会导致数据采集过慢。这里需要注意一下,罗技的摄像头C270在有些虚拟机上使用是有异常的,有些是不能映射到虚拟机上,有些是映射过去操作非常缓慢。因为之前在自己的开发板上调试过YUV420的摄像头,在此基础上改为YU...原创 2018-04-24 11:02:31 · 9985 阅读 · 30 评论 -
YUV422转换YUV420应用实例
在上一篇文章中JPEG编码学习—JPEG数据转YUV数据应用实例已经可以将v4l2 采集到的JPEG数据转换为YUV422格式,但是我们有时候需要使用其他格式的数据,比如用YUV420作为H264的输入数据格式。做数据格式转换,首先需要明白各种数据类型的采样分布格式。如下图:我们在上一篇中通过JPEG解码转换过来的是YUYV数据格式(YUV422),他的数据分布是:现在我们需要把YUYV...............原创 2018-04-24 11:05:16 · 15991 阅读 · 6 评论 -
JPEG数据转YUV数据应用实例
在很多USB摄像头中,质量好点的可以输出很多种数据格式,也有一些只能设置MJPEG模式输出JPEG格式数据,比如我从师弟那顺过来的这颗,哈哈便宜没好货。JPEG数据如果是作为本地存储是没有什么问题的,它在摄像头中已经经过了一次压缩。但是,如果你是需要做视频流,直接使用JPEG格式数据,那么传输的码流就会很大,不利于传输。所以现在基本上所有的视频都是有经过压缩处理的。常见的压缩是H264格式...原创 2018-04-24 11:05:08 · 12407 阅读 · 8 评论 -
使用avilib封装MJPEG数据应用实例
avilib 是一个很小的封装模块,它可以将一些图片数据封装成视频格式。在一些比较差的摄像头中,他们只支持V4L2_PIX_FMT_MJPEG 输出JPEG格式数据,以这种格式输出的数据,并不是标准的JPEG图片数据。因此,如果只是把MJPEG输出的所有文件存成一个文件,那么这个文件其实并不能播放。据网上的一些资料介绍,说是缺少Huffman 表,需要自己手动插入一个Huffman表。在一.........原创 2018-04-24 11:04:40 · 5504 阅读 · 12 评论 -
h264视频与pcm音频合成MP4视频格式
H.264是压缩过的数据,PCM是原始数据,MP4是一种视频封装格式。实际H.264与PCM不能直接合成MP4格式,因为音频格式不对。这里需要中间对音频做一次压缩处理。基本流程为:将PCM音频数据压缩成AAC格式音频数据,再将AAC与H.264合成MP4视频格式。(一)PCM压缩为AAC格式 直接上代码,接口函数的实现如下:#include <stdio.h>.........原创 2018-12-27 18:20:49 · 6613 阅读 · 1 评论 -
JPEG文件编/解码详解
JPEG文件编/解码详解cat_ng 猫猫JPEG(Joint Photographic Experts Group)是联合图像专家小组的英文缩写。它由国际电话与电报咨询委员会CCITT(The International Telegraph and Telephone Consultative Committee)与国际标准化组织ISO于1986年联合成立的一个小组,负责制定静态数字图像的编码标...转载 2018-04-24 11:05:29 · 7163 阅读 · 1 评论 -
H264语法结构及编码原理
----------------------前言----------------------- H264是新一代的编码标准,以高压缩高质量和支持多种网络的流媒体传输著称,在编码方面,我理解的他的理论依据是:参照一段时间内图像的统计结果表明,在相邻几幅图像画面中,一般有差别的像素只有10%以内的点,亮度差值变化不超过2%,而色度差值的变化只有1%以内。所以对于一段转载 2017-04-05 14:19:47 · 2245 阅读 · 0 评论 -
从技术角度比较CCD与CMOS的区别
从技术角度比较CCD与CMOS的区别原创 2019-04-26 09:08:25 · 20191 阅读 · 1 评论 -
D1~D5 CIF 720P~1080P 视频各格式参数
CIF CIF是常用的标准化图像格式(Common Intermediate Format)。在H.323协议簇中,规定了视频采集设备的标准采集分辨率。CIF = 352×288像素CIF格式具有如下特性: (1) 电视图像的空间分辨率为家用录像系统(Video Home System,VHS)的分辨率,即352×288。 (2) 使用非隔行扫描(non-interlaced ......原创 2019-04-01 13:33:42 · 8379 阅读 · 1 评论