前阵子写了很多笔记,由于忙于研究生课程学习,故很少有时间整理笔记分享到公众号上,今天整理的笔记是我之前学习音视频技术相关的笔记整理。
1、视频
1.1、视频帧
帧,是视频的一个基本概念,表示一张画面,一个视频就是由许许多多的帧组成的。
1.2、帧率
即单位内帧的数量,单位为:帧/秒 或 fps(frames per second),一秒内包含多少张图片,图片越多,画面越顺滑,过渡越自然。
常见的帧率典型值:
(1)24/25 fps:1秒24/25帧,一般的电影频率。
(2)30/60 fps:1秒30/60帧,游戏的频率,30帧可以接受,60帧会感觉更加流畅逼真
(3)85fps:这个帧率及以上人眼基本无法察觉出来,更高的帧率在视频里没有太大意义。
2、色彩空间
2.1、RGB
通过R、G、B三种基础色,可以混合出所有的颜色
2.2、YUV
也叫,YCbCr,是一种亮度与色度分离的色彩格式
(1)Y:亮度,就是灰度值,出了表示亮度信号外,还含有较多的绿色通道量
(2)U:蓝色通道与亮度的差值
(3)V:红色通道与亮度的差值
优势:
人眼对亮度敏感,对色度不敏感,因此减少部分UV的数据量,人眼却无法感知出来,这样可以通过压缩UV分辨率,在不影响感观的前提下,减少视频的体积。
2.3、RGB与YUV的换算
(1)RGB转YUV算法
Y = 0.299R + 0.587G + 0.114B
U = -0.147R - 0.289G + 0.436B
V = 0.635R - 0.515G - 0.100B
(2)YUV转RGB算法
R = Y + 1.14V
G = Y - 0.39U - 0.58V
B = Y + 2.03U
3、音频
3.1、基本知识
人类能够听到的所有声音都称之为音频,在计算机中,音频只是存储在计算机里的声音。
PCM:音频数据的承载方式最常用的是脉冲编码调制。
在自然界中,声音是连续不断的,是一种模拟信号,那怎样才能把声音保存下来呢?就是将这些模拟信号数字化,即模数转换,将模拟信号转换为数字信号。
声音是一种波,由自己的振幅和频率,那么要保存声音,就要保存声音在各个时间点上的振幅。而数字信号并不能连续保存所有时间点的振幅。
奈奎斯特采样定理:为了不失真地恢复模拟信号,采样频率应该不小于模拟信号频率中最高频率的2倍。
3.2、采样率和采样位数
(1)采样率
根据奈奎斯特采样定理,人耳能听到的最高频率为20KHz,所以为了满足人耳的听觉要求,采样率至少为40KHz,通常为44.1KHz,更高的通常为48KHz。
注意:人耳听觉频率范围[20Hz,20KHz]。
(2)采样位数
波形振幅在模拟信号上也是连续的样本值,而在数字信号中,信号一般是不连续的,所以模拟信号量化后,只能取一个近似的整数值,为了记录这些振幅值,采样器会采用一个固定的位数来记录这些振幅值,通常有8位、16位、32位。
注意:位数越多,记录的值越准确,还原度越高,但是占用的硬盘空间越大。
位数 | 最小值 | 最大值 |
---|---|---|
8 | 0 | 255 |
16 | -32768 | 32767 |
32 | -2147483648 | 2147483647 |
3.3、音频编码
由于数字信号是由0、1组成的,因此,需要将幅度值转化为一系列0和1进行存储,也就是编码。
3.4、PCM的采集步骤
模拟信号->采样(奈奎斯特采样定理)->量化->编码->数字信号
3.5、声道数
声道数是指支持能不同发声(注意是不同声音)的音响的个数。
单声道:1个声道双声道:2个声道立体声道:默认为2个声道立体声道(4声道):4个声道
3.6、码率
码率是指一个数据量中每秒钟能通过的信息量,单位bps(bit per second)
码率 = 采样率 * 采样位数 * 声道数
3.7、常见的音频格式
CD格式、WAVE(*.WAV)、AIFF、MP3、MIDI、AAC、WMA、OggVorbis
4、FFmpeg
4.1、FFmpeg是什么?
是一套可以用来记录、转化数字音频、视频、并能将其转化为流的开源计算机程序。它有着非常强大的功能,主要包括:视频采集功能、视频格式转换、视频抓图、给视频加水印等。
4.2、FFmpeg的组成
FFmpeg由三个部分组成:
(1)工具
分别是ffmpeg、ffplay、ffserver和ffprobe。
ffmpeg:音视频转码、转换器
ffplay:简单的音视频播放器
ffserver:流媒体服务器
ffprobe:简单的多媒体码流分析器
(2)SDK
提供开发者使用的SDK,我们可以根据自己的需求使用这些库开发自己的应用程序,这些库主要有:
libavcodec:包含音视频编码器和解码器
libavutil:包含多媒体应用常用的简化编程的工具,如随机数生成器、数据结构、数学函数等功能
libavformat:包含多种多媒体容器格式的封装、解封装工具
libavfilter:包含多媒体处理常用的滤镜功能
libavdevice:用于音视频数据采集和渲染等功能的设备相关
libswscale:用于图像缩放和色彩空间和像素格式转换功能
libswresample:用于音频量采样和格式转换等功能
libpostproc:用于后期处理,当我们使用filter的时候,需要打开这个模块,filter会用到这个模块里的一些基础函数
(3)源代码
整个工程的源代码,无论是编译出来的可执行程序还是SDK。
它的源代码由C语言实现,主要在Linux平台上进行开发。
上一篇:入耳式蓝牙耳机哪款音质好?入耳式质排行榜
下一篇:如何选择液晶显示模块
推荐阅读
史海拾趣
2014年,ACAM公司迎来了一个重要的里程碑事件——被奥地利微电子股份有限公司收购。这次收购极大地增强了ACAM公司在时间数字转换器(TDC)技术领域的实力。奥地利微电子在半导体行业有着深厚的积累和丰富的经验,与ACAM公司的技术优势相结合,进一步提升了ACAM公司在市场上的竞争力。
CQR SECURITY公司在追求商业成功的同时,也积极履行社会责任。公司定期举办网络安全宣传活动,提高公众的网络安全意识。同时,CQR还积极参与社会公益事业,为弱势群体提供网络安全支持和帮助。这种积极履行社会责任的举措不仅提升了CQR的品牌形象,还为公司赢得了社会的广泛赞誉。
这些故事虽然虚构,但反映了电子安全公司可能经历的一些普遍发展路径和挑战。希望这些故事能够为您提供一些启发和参考。如果需要更多关于特定公司的信息,建议您查阅相关新闻报道、行业分析报告或公司官网等渠道。
随着业务的不断发展和市场的不断扩大,DIALIGHT公司逐渐实现了全球化布局。他们在美国、英国、丹麦、德国、马来西亚、新加坡、澳大利亚、墨西哥和巴西等地设立了分支机构或办事处,为全球客户提供及时、高效的服务。此外,DIALIGHT还积极寻求与其他企业的合作与共赢,通过战略合作协议的签署,为双方带来新的业务机遇和合作空间。这些举措不仅增强了DIALIGHT的市场竞争力,也为其未来的发展奠定了坚实的基础。
请注意,由于篇幅限制,以上三个故事仅为DIALIGHT公司发展历程的简要概述。如需更详细的信息和更多故事,建议查阅相关资料或访问公司官网。
随着国内市场的逐渐饱和,联捷(Elinker)开始寻求海外市场的拓展。公司积极参加国际电子展会,与国外的电子企业建立了广泛的合作关系。同时,公司还通过引进国外先进的技术和管理经验,不断提升自身的竞争力。在国际市场的竞争中,联捷(Elinker)凭借其优质的产品和服务,赢得了越来越多客户的信任和认可。
随着公司业务的不断拓展,科通技术开始与国际知名品牌展开合作。通过与Xilinx、Intel、SanDisk等全球领先的芯片原厂建立紧密的合作关系,科通技术获得了这些品牌的产品线授权,并为其在中国市场的拓展提供了有力的支持。这些合作不仅提升了科通技术的品牌影响力,也为其带来了更多的市场机会。
目录: 译者的话 序言 第1章 电磁场理论概述 1.1 引言 1.2 场的概念 1.3 矢量分析 1.4 微分和积分表示法 1.5 静态场 1.6 时变场 1.7 时变场的应用 1.8 数值解 1.9 进一步研究 第2章 矢量分析 2.1 引言 2.2 标量和矢量 2.3 矢量运 ...… 查看全部问答∨ |
|
在wince操作系统下如何进行数据操作?(Symbol开发) 我现在设备的是wince4.2的操作系统,设备是symbol mc1000的数据采集器.以前是通过rda的方式,将数据从sql server2000中pull到sqlce中的.现在需要在当我扫描到条码信息后,记录下来所扫描的信息,而且再上传到pc中.由于现在的数据是存在oracle中的,也不 ...… 查看全部问答∨ |
|
几天前和一位老师聊天,他谈到他招研究生的原则是“男生优于女生,有兄弟姐妹的优于独生子,有工作经验的优于没工作经验的”,而且这条经验非常管用。 闲话少说,他说起实验室的学生比起前些年来差了很多,先不说干活怎么样,就连带着学生 ...… 查看全部问答∨ |
|
高手,请教用MSP430F2132写一个时钟程序怎么写,只要显示年月日,时分秒???? 不用时钟芯片 很简单 入门的那种程序 用1602液晶显示… 查看全部问答∨ |
以前写过一篇文章《基于beaglebone的lighttpd的使用(1)》这个是基于ubuntu的,这次我的环境是 硬件环境:Beaglebone black+ AT070TN83(群创7寸屏)软件环境:Angstrom-Cloud9-IDE-GNOME-eglibc-ipk-v2012.12-beaglebone-2013.06.20.img.xz(下载 ...… 查看全部问答∨ |