【多媒体】多媒体架构(面向GPT的学习笔记记录)

2023-04-16 16:15:55 浏览数 (1)

从入职到现在,多媒体的ppt一直没有去细讲,该笔记用来个人理下思路。现在我处于被字节92年小姐姐月薪14万的打击中。。。深深的emo了,呜呜呜,华为老哥说6万月薪,300万年终奖,我已经觉得好强,不知道有没有吹牛逼,没想到字节小姐姐。。。难以想象大佬们的世界。。。好了言归正传,好好记笔记,好好学习。


多媒体架构

首先,多媒体架构层通常由三个主要层次组成:

  1. 应用层:负责媒体的展示、控制和交互等功能,如播放器、视频编辑器等。应用层一般是用户最直接接触到的界面。
  2. 中间件层:提供了各种媒体操作的基本服务,如编解码、音频合成、图像处理、网络传输、数据存储等。中间件层为上层应用提供了丰富的API接口,使得开发人员可以快速、方便地调用各种多媒体服务。
  3. 硬件层:包括硬件设备和驱动程序,如摄像头、麦克风、扬声器等。硬件层与中间件层紧密相连,通过底层驱动程序实现对中间件层的支持。

不同的平台、系统以及应用程序可能具有不同的架构层次结构,但总体来说,这三个层次是构成多媒体架构的核心。

下面是我用xmind画的图片,便于记忆


学习嵌入式音视频需要掌握哪些知识

从计算机科学与技术转到现在嵌入式音视频,跨度有点大,我有很多地方掌握的不好

而要学习嵌入式音视频技术,需要掌握以下知识点:

  1. 嵌入式系统基础:了解嵌入式系统的硬件和软件架构,掌握裸机编程和RTOS操作系统的开发方法。
  2. 编码与解码技术:掌握音视频编码和解码技术,包括PCM、MP3、AAC、H.264等标准编码格式,以及相应的解码器实现原理。
  3. 视频处理技术:了解视频采集、图像处理、视频压缩等基本概念和算法,掌握相应的嵌入式平台上的优化实现。
  4. 音频处理技术:了解音频采集、数字信号处理、音频压缩等基本概念和算法,掌握相应的嵌入式平台上的优化实现。
  5. 显示技术:了解LCD、HDMI等常用显示接口和协议,掌握液晶显示屏和HDMI接口驱动程序的开发方法。
  6. 多媒体应用开发:掌握多媒体应用开发的基本流程和方法,熟悉音视频播放、录制、转换等功能的实现。
  7. 系统调试和优化:了解系统性能分析和调试工具,掌握系统优化、功耗优化等方法。

其实说实话,没必要全部都会,精通几个领域就好,慢慢来啃吧,时间还多。目前当务之急是先懂架构,你至少得可以表述出来吧。硬件部分不用去详细了解,有硬件组做。如今前景比较好的是音视频编解码和图像处理,音视频编解码我工作中会经常接触MP3、AAC、H.264这些格式,但我个人兴趣不怎么大,而图像处理有点偏人工智能了,结合现在的趋势来看可以往这个方向靠。另外iot ai这个方向很有前景,智能车企也给的很多,有点后悔当时毕业没有去比亚迪这些企业,不过既然选择了嵌入式芯片就好好干吧


嵌入式音视频领域哪些领域就业前景好,薪资高

嵌入式音视频领域就业前景广阔,适合有相关技术背景和兴趣的从业者。以下是一些当前就业前景较好、薪资水平相对较高的嵌入式音视频领域职业:

  1. 音视频编解码工程师:需熟悉各种音视频编解码标准,能够开发优秀的音视频压缩算法,熟练掌握FPGA、DSP、ARM等嵌入式系统的设计与开发,能够进行硬件加速设计并优化算法实现。
  2. 嵌入式音视频软件工程师:需要熟练掌握Linux、RTOS等操作系统,具备C/C 、Python等编程语言开发经验,能够进行音视频应用的开发与调试,如音视频播放器、音视频采集设备驱动等。
  3. 视频图像处理工程师:需要对数字信号处理、图像处理以及计算机视觉等方面有深入的了解,能够使用OpenCV、MFC等相关库进行图像处理,能够进行视频分析、跟踪等方面的开发。
  4. 音频处理工程师:需要了解声学、信号处理等基础知识,理解常见音效和声卡的原理,并能够开发出音频处理软件或硬件设备。
  5. 嵌入式系统架构师:需要具备较强的嵌入式系统整体设计和架构能力,能够从底层到上层进行系统的规划、设计和实现。

总的来说,嵌入式音视频领域的技术岗位多样化,并且应用范围广泛,对于有相关背景的人才,薪资水平相对较高。


android mediaplayer播放器状态和生命周期

Android MediaPlayer 播放器状态和生命周期如下:

  1. IDLE:播放器处于空闲状态,没有设置数据源,或者调用了reset() 方法后进入此状态。
  2. INITIALIZED:播放器已经设置好了数据源,并完成了初始化操作。
  3. PREPARING:播放器正在准备中,例如正在缓冲数据或寻找关键帧等。可以通过 setOnPreparedListener() 方法监听此状态。
  4. PREPARED:音视频资源准备就绪,并可以开始播放。可以通过 setOnPreparedListener() 方法监听此状态。
  5. STARTED:播放器已经开始播放音视频资源,可以通过调用 pause() 方法将其暂停。可以通过 setOnSeekCompleteListener() 监听跳转完成、setOnCompletionListener() 监听播放完成、setOnBufferingUpdateListener() 监听缓存更新等事件。
  6. PAUSED:播放器已经暂停当前的音视频播放,可以通过调用 start() 方法继续播放。可以通过 setOnSeekCompleteListener() 监听跳转完成、setOnCompletionListener() 监听播放完成等事件。
  7. STOPPED:播放器已经停止,可以调用 reset() 方法让其回到空闲状态。可以通过 setOnCompletionListener() 监听播放完成等事件。
  8. ERROR:播放器出现错误,需要重新初始化或者释放资源。可以通过 setOnErrorListener() 方法监听错误事件。
  9. END:播放器播放结束,可以通过 setOnCompletionListener() 方法监听结束事件。

总的来说,Android MediaPlayer 播放器状态和生命周期非常重要,开发者需要根据业务需求和用户反馈对不同状态进行处理,以保证播放器的正常运行。同时,在使用 MediaPlayer 播放器时,也需要注意调用其相关方法的正确顺序,避免因不当操作而导致播放器状态混乱或出错。


多媒体media本地流程

多媒体本地流程通常包括以下步骤:

  1. 多媒体数据采集:使用相机、麦克风等设备采集图像、音频等多媒体数据。
  2. 数据编码:将采集到的数据进行编码,例如对图像进行JPEG或H.264压缩,对音频进行MP3或AAC压缩。
  3. 数据传输:将编码后的多媒体数据传输到存储介质中,例如保存到本地磁盘上。
  4. 数据解码:从存储介质中读取数据并进行解码,还原为原始的多媒体数据格式。
  5. 数据处理:对解码后的多媒体数据进行处理,例如对图像进行旋转、缩放等操作,对音频进行降噪、混音等操作。
  6. 数据播放:将经过处理的多媒体数据输出到显示器、扬声器等设备上进行播放。如果需要实现视频播放,则需要将处理后的图像和音频进行同步。
  7. 数据存储:可以将处理后的多媒体数据再次保存到存储介质中,以备后续使用。

总体来说,多媒体本地流程主要包括数据采集、编码、传输、解码、处理、播放和存储等环节。在实际应用中,可能会根据需求对流程进行适当的调整和优化。


多媒体media本地流程和android mediaplayer播放器状态和生命周期有什么关系

多媒体本地流程和 Android MediaPlayer 播放器状态和生命周期之间的关系:

  1. 在多媒体本地流程中,数据采集需要与相机、麦克风等设备进行交互。对应到 Android MediaPlayer 播放器中,状态转换过程中通常在 INITIALIZED 状态下设置数据源,这个阶段类似于打开相机或麦克风等设备。
  2. 在多媒体本地流程中,数据传输需要将数据存储到本地存储介质中,例如保存到本地磁盘上。在 Android MediaPlayer 播放器中,从本地存储介质中读取数据并进行解码,就对应了 MediaPlayer 处于 PREPARING 和 PREPARED 状态的过程。
  3. 在多媒体本地流程中,数据处理涉及到对图像进行旋转、缩放等操作,对音频进行降噪、混音等操作。而在 Android MediaPlayer 播放器中,对应的是对 MediaPlayer 设置相关参数,例如 setVideoScalingMode() 方法可以对视频进行缩放,并对应了 STARTED 和 PAUSED 状态的过程。
  4. 在多媒体本地流程中,数据播放需要将经过处理的多媒体数据输出到显示器、扬声器等设备上。在 Android MediaPlayer 播放器中,对应的是 STARTED 和 PAUSED 状态下的播放过程。如果需要实现视频播放,则需要将处理后的图像和音频进行同步,即对应了 MediaPlayer 中的 setOnBufferingUpdateListener() 方法。

综上所述,在多媒体本地流程中,每一个阶段都需要使用 Android MediaPlayer 播放器的不同状态,以完成数据采集、编码、传输、解码、处理、播放和存储等环节,并且这些阶段之间存在紧密的联系。因此,开发者在使用 Android MediaPlayer 播放器时,也需要充分理解多媒体本地流程,才能更好地掌握 Android MediaPlayer 播放器的使用和实现。

0 人点赞