设为首页收藏本站

安徽论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 99012|回复: 0

音视频应用基本框架介绍

[复制链接]

83

主题

0

回帖

261

积分

中级会员

Rank: 3Rank: 3

积分
261
发表于 2022-3-26 10:25:32 | 显示全部楼层 |阅读模式
网站内容均来自网络,本站只提供信息平台,如有侵权请联系删除,谢谢!
    毕业以来,一直在音视频相关行业工作,学过很多东西,也做过很多东西,但是从来没有系统的做过总结,现在回头想想,好多都快忘了,为此想写一系列博客,把自己的对音视频理解和想法记录下来,以便将来可以查阅,同时也希望能给其他同仁一些启发和帮助,也希望大家能对我的看法不妥之处提出宝贵意见,帮助我提高水平。
    我打算先总体介绍一下音视频应用框架,并对其中的各模块进行简述,在后续的博客里面在对每个模块具体技术做详细介绍。
    在让我们融入世界的感知系统中,视觉和听觉无疑是最重要的,视觉通过的视频信号来感知信息,听觉通过音频信号来感知信息。将音视频信号进行存储和传输,可以克服信号的时间和空间局限,以便于信息更广的传播。在我看来,音视频主要涉及模块和框架图如下:
    

    音视频采集模块:负责产生音视频信号,将场景转换成视频信号输出,声波转换成音频信号输出。在移动设备领域,信号采集设备主要有摄像头,麦克风,采集到的数据主要音视频裸数据,视频主要为RGB和YUV数据,音频主要PCM数据。

    信号处理模块:将采集到的信号进行一些运算,使得有用信息更为突出(信噪比更高),视频的主要处理包括白平衡,滤镜等,视频处理运算量大一般,一般尽量用GPU处理,可以参照GPUImage开源框架。音频的处理主要有降噪,回声抑制,自增强等,这些算法可以参照webrtc开源框架。
    编码模块:将信号的冗余去除,用最小的数据量来存储和传递信号,以便节省硬盘和带宽资源。视频信号在时间和空间上都有很大的冗余,通过正交变换和帧内预测,去除空间上的冗余度,通过帧间预测去除时间上的冗余度;音频信号短时平稳信号,通,变换到频谱域,再结合人耳的掩蔽效应,可以消除大部分信号的冗余度。主要的视频编码格式有mpeg4,h264,h265,vp8,vp9和av1等,主要音频编码格式有mp3,aac,flac和opus等。
    封装模块:在编码后的信号上面加一层协议,让信号便于理解,方便传输、存取和资源复用,比如支持随机存取和多套节目同时传输等,封装模块包括两部分,一部分主要用于存储的文件封装协议,如ps,mp4,flv和avi等协议,另一部分主要用于传输的封装协议,如ts,rtsp,rtmp等协议。
    存储模块:将信号存储起来,克服了信号时间的局限,在时间维度得以延续,比如经典影视和安防录像证据,还有人类第一段被记录声音。
    传输模块:将信号传输到他处,克服了信号的空间局限,比如视频监控和直播,主要是通过网络传输。

    解封装模块:将封装的信号复原编码后的信号。
    播放模块:再现视频和音频信号。

    成熟音视频播放器比较多,像vlc和ijkplayer,内核都是基于ffmpeg,ijkplayer基于ffplay改造,使用与android和ios上。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
免责声明
1. 本论坛所提供的信息均来自网络,本网站只提供平台服务,所有账号发表的言论与本网站无关。
2. 其他单位或个人在使用、转载或引用本文时,必须事先获得该帖子作者和本人的同意。
3. 本帖部分内容转载自其他媒体,但并不代表本人赞同其观点和对其真实性负责。
4. 如有侵权,请立即联系,本网站将及时删除相关内容。
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表