查看: 594|回复: 0

[经验] 一起玩树莓派3 + 音视频基础简单介绍

[复制链接]

该用户从未签到

发表于 2021-4-24 17:42:23 | 显示全部楼层 |阅读模式
分享到:
首先简单介绍一点音视频的基础,算交代背景吧。声音和图像是我们来了解这个世界的重要通道,我们有两只耳朵,两只眼睛,可想而知他们的重要性。自然界中的声音和图像是模拟的,那么这些是怎么变成我们的平时熟悉的音频、图像、视频文件的呢?         早期记录这些信息也是使用的模拟的方式存储,留声机、黑胶唱片、磁带、胶卷、电影胶片等都属于模拟的方式,很多人认为模拟的方式最接近自然,最能还原本真。所以很多人偏执爱黑胶唱片、胶卷摄影,甚至好莱坞有导演组成联盟拯救柯达,承诺一定的胶卷购买量来拍电影,防止胶片从历史上消失。如果真如这些偏执狂发烧友所认为的,那对数字时代的我们来说也许是一种悲哀,技术更替,却把更好的东西淘汰掉了。anyway,我们今天要讲的是0和1相关的数字时代的音视频。数字时代我们有cd、mp3、mp4、vcd、dvd、电脑、手机、vr、ar各种,照样乐此不彼。。。。    那么我们日常看到的电影或视频是怎么来的呢?或者由什么组成的呢?此处以非常流行的Matroska格式为例,简称mkv,似乎现在大家下载高清电影都先看一下是不是mkv,成了某种意义上的高清代名词,其实这个都是误解。说它主要是因为Matroska属于开源免费的格式,而且支持的编码格式非常全,基本就是个万能格式,所以能这么流行。另外还有大家非常熟悉的mp4,rmvb,flv,avi(??嗯,没错!),3gp等。。。请看下图:(注意区分视频文件和视频)

1.jpg

mkv文件为视频文件格式video file format,也叫容器格式(container format),也叫数字容器格式(digital container format),其作用本质就是一个将需要的所有数据放入到一个文件中。所谓容器格式就是将各种不同类型的多媒体数据封装到一起,变成一个文件。mkv文件可以包含无限制的图片、视频、音轨、字幕,甚至还支持3d视频(mk3d),非常强大的容器格式。容器里面包含的就是媒体啦,最主要的就是视频、音频、字幕了,mkv格式支持将n路视频、音频、字幕封装到一起,多路的概念怎么理解呢?就是一个文件中,同时存在多个相同类型的媒体,就拿字幕来说,即可以加入英文字幕,也可以加入中文字幕,音频也一样,同一个电影文件,可以播放不同的配音,这在发布电影的时候非常方便,一个文件,可以针对很多不同国家的观众,只要播放的时候按需选择就可以了。至于多路视频,一般比较少见,我能想到的应用场景就是3d视频了,左右眼两路分别封装到同一个mkv文件中。如下图,某播放器的音轨选择:

音轨、视频、字幕等经过复用mux封装到同一个容器中,播放的时候demux解复用就可以得到各自的数据。那得到的这些数据是什么呢?音频当然就是录音得到的啦,视频当然就是录像得到的啦,字幕么,手打的(嗯,一定是这样!)。但不是简单的录音、录像得到数据就直接mux到容器中去的。这里就涉及到很重要的编码概念了。前面说过自然界的信息都是模拟信号,而我们计算机只处理数字信号,所以我们采集到的信号会通过模数转换(ADC),但是转换之后是什么呢?我们叫它原始(raw)数据,当然这些数据也有一定的格式,比如音频是PCM,视频呢,大多数传感器出来之后的数据是yuv格式的数据。但是这些数据非常的大,尤其是视频。
常见PCM格式:每秒44100次采样,每次采左右声道,一个声道用16bit表示。1s数据量44100*2*16/8 byte=176400B 戳这里进一步了解
常见YUV格式:每秒采集25帧图像,每张一定分辨率(如720p的分辨率1280x720)的图像用Y、U、V3个通道表示一个点,1s数据量为 1280*720*3/2*25 Byte=34560000B   戳此进一步了解
如此大的数据量,存储和传输都是很大的问题,所以就需要想方设法减少大小。没错,用压缩,但不是用zip这样的方法压缩,而是用更极端的方法,在这里我们叫“编码”。通过一套的复杂的算法,将raw数据编码成一定格式的数据,能大大减少音视频数据的大小。编码分有损和无损,有损编码之后的数据再解码会丢失一定的数据,而无损则不会,解码出来的数据跟raw数据一摸一样。常用的音频编码算法有mp3、aac、gsm、flac、ape等,视频编码算法有mpeg4、h263、h264、h265、vp8、vp9等。编码一般一次编码指定大小或时间的数据,音频以一定数量的采样点为单位编码,比如aac编码要求一次1024个采样点,而视频则以帧为单位,一幅图像编码一次。
编码之后的数据附加上时间戳之后,再经过上面说的mux,将不同的类型、轨道的数据按一定的顺序交错存入文件,就得到了我们平时看到的视频文件。
当然字幕也有很多的编码格式,用于显示不同的位置、样式、颜色等,我们就不讨论了。

2.jpg

说的比较乱,也有很多地方可能说错了,欢迎批评指正。如果被我的菜水平带沟里了,请躺好别出来了,我也救不了你。有什么无法理解的就先撞下墙,或者吐槽一下水个贴
帖子改了又改,总觉得没写好,渣渣码字水平,无力吐槽,自己都不敢回头看。理论的东西写起来太繁琐了,误事啊,码字好累,进度要跟不上了


回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条



手机版|小黑屋|与非网

GMT+8, 2025-1-13 19:53 , Processed in 0.127124 second(s), 17 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.