Your Site Title

multimedia

主流多媒体库vlc, gstreamer, ffmage(libav)

vlc
vlc代码, 使用GPL-2.0, LGPL-2.1 licenses

gstreamer
gstreamer代码, 使用GPL-2.0

FFmpeg
FFmpeg代码

libav

oneapi-src/oneVPL

blog

移动端进行直播和音视频开发

  1. 移动应用开发:熟悉移动应用开发平台,例如Android(Java/Kotlin)或iOS(Objective-C/Swift),以便能够创建直播和音视频应用程序。
  2. 视频编解码:了解视频编解码的基本原理和常见的视频编码标准,如H.264、H.265(HEVC)等。这将帮助您理解视频流的压缩和解压过程,以及如何处理视频数据。
  3. 音频编解码:熟悉音频编解码的原理和常用的音频编码标准,如AAC、MP3等。这将使您能够处理音频流,并进行编码和解码。
  4. 实时传输协议:了解实时传输协议(Real-Time Transport Protocol,简称RTP)和实时传输控制协议(Real-Time Transport Control Protocol,简称RTCP)等协议,它们用于在网络上传输音视频数据,并支持实时性和同步性。
  5. 流媒体协议:熟悉流媒体协议,如HTTP Live Streaming(HLS)、Dynamic Adaptive Streaming over HTTP(DASH)等。这些协议用于将音视频数据分段并以流的形式传输,以适应不同的网络条件和设备。
  6. 网络通信:了解网络通信的基本原理和常用的网络通信协议,如TCP、UDP等。这将有助于您实现音视频数据的传输和接收,以及处理网络延迟和丢包等问题。
  7. 实时处理:掌握实时处理音视频数据的技术,包括音视频采集、音视频编码、数据压缩、流媒体传输、数据解码和渲染等。您需要了解如何处理实时音视频数据流,以确保流畅的播放和良好的用户体验。
  8. 网络安全:熟悉网络安全的基本概念和常见的安全机制,以保护音视频数据的传输和存储过程中的安全性和完整性。

除了以上的知识,还可以学习和使用一些开源的音视频开发框架和工具,例如FFmpeg、WebRTC、OpenTok等,它们提供了丰富的功能和接口,可以简化音视频开发过程。

Reference

The FFmpeg/Libav situation
gstreamer,vlc,ffmpeg比较