音视频开发常见的开源项目汇总

FFmpeg

  1. 地址https://ffmpeg.org/
  2. 介绍:FFmpeg 是一个非常强大的开源多媒体框架,它可以用来处理视频和音频文件。它支持多种格式的转换、编码、解码、转码、流处理等。FFmpeg 包括了 libavformat、libavcodec、libavutil、libswscale、libpostproc 等多个库,以及 ffmpeg、ffplay、ffprobe 等命令行工具。它支持广泛的音视频格式转换、编解码、流媒体、滤镜和设备操作,并且可以在多个平台上运行,如 Windows、Linux、Mac、iOS、Android 等。FFmpeg在多媒体处理领域被广泛尊称为"瑞士军刀",基本能解决所有关于音视频应用的问题;目前市面上所有音视频应用软件底层基本都使用了FFmpeg。
  3. 标志

WebRTC

  1. 中文地址https://www.webrtc.org.cn/
  2. 介绍:WebRTC(Web Real-Time Communication)是一种支持网页浏览器进行实时语音对话或视频对话的技术。它允许直接在浏览器中进行音视频通信,而无需任何插件,并支持点对点通信,这意味着通信双方可以直接交换数据,而无需通过服务器。WebRTC 包括了多个API和协议,能够实现音频、视频和数据的实时传输。目前在实时音视频应用领域底层基本都采用了WebRTC技术。
  3. 标志

x264/x265

  1. 地址x264x265
  2. 介绍:x264是H.264视频编码器的开源实现,而x265则是HEVC/H.265视频编码器的开源实现,用于生成符合相应标准的视频码流。可以说x264是最好的符合H.264标准的视频编码器,x265是最好的符合HEVC标准的视频编码器。二者都属于VLC项目组中的项目。
  3. 标志

Opus

  1. 地址https://opus-codec.org/
  2. 介绍:Opus 是一种开源的音频编码格式,由 IETF 标准化,集成了 SILK 和 CELT 两种声音编码技术。它专为互联网上的交互式语音和音频传输设计,能够处理各种音频应用,包括 IP 语音、视频会议、游戏内聊天、流音乐以及远程现场音乐表演。Opus 支持从低比特率的窄带语音到高质量的立体声音乐,具有非常低的算法延迟,适合用于低延迟语音通话的编码。支持的比特率范围从 6 kb/s 到 510 kb/s,单一频道最高支持 256 kb/s。Opus 编码器的实现包括 libopus 编解码器库、opusfile 封装器、opusenc 和 opusdec 工具以及 opusinfo 工具。
  3. 标志

ijkplayer

  1. 地址https://github.com/bilibili/ijkplayer
  2. 介绍:IJKPlayer 是一个基于 FFmpeg 的开源多媒体播放器框架,由 Bilibili 开发并维护,支持 Android 和 iOS 平台。它具有跨平台、高度可定制、稳定性高和占用资源少等特点。IJKPlayer 支持多种视频格式,如 MP4、FLV、MKV、AVI 等,并且支持硬件加速解码,以提高视频播放的流畅度和清晰度。
  3. 标志:无。

GPUImage

  1. 地址https://github.com/BradLarson/GPUImage
  2. 介绍:GPUImage 是一个非常著名的基于 OpenGL 的图像和视频处理框架,它为 iOS 和 Android 开发者提供了强大的图像处理能力。它内置了超过 120 多种常见的滤镜效果,并且支持实时相机和摄像机的滤镜处理,同时也能够自定义图像滤镜。
  3. 标志

VLC media player

  1. 地址https://www.videolan.org/vlc/libvlc.html
  2. 介绍:VLC Media Player 是一款广受欢迎的自由、开源的跨平台多媒体播放器及框架,由 VideoLAN 组织开发。它能够播放大多数多媒体文件格式,包括但不限于 MPEG-1、MPEG-2、MPEG-4、DivX、DVD、VCD 以及各种流媒体协议。VLC 不需要用户安装额外的编解码器,因为它已经内置了对多种格式的支持,如 MP3、MKV、WMV、WEBM、MPEG-2、MPEG-4 和 H.264 等。
  3. 标志

Jitsi

  1. 地址https://jitsi.org/
  2. 介绍:Jitsi 是一个开源的实时通信项目,提供了一系列工具和库,用于实现包括安全的视频通话、会议、聊天、桌面共享以及文件传输在内的多种功能。Jitsi Meet 是 Jitsi 项目中最为知名的部分,它是一个基于 WebRTC 技术的开源语音、视频会议和即时消息服务。用户可以通过 Web 浏览器加入会议,无需安装任何插件,也支持通过移动应用或桌面应用进行会议。
  3. 标志

live555

  1. 地址http://live555.com/
  2. 介绍:Live555 是一个为流媒体提供解决方案的跨平台的 C++ 开源项目,它实现了对标准流媒体传输协议如 RTP/RTCP、RTSP、SIP 的支持。Live555 支持多种音视频编码格式的流化、接收和处理,包括 MPEG、H.264、H.265、H.263+、DV、JPEG 视频和多种音频编码。由于其良好的设计,Live555 非常容易扩展对其他格式的支持。
  3. 标志

Seetaface

  1. 地址https://github.com/seetaface
  2. 介绍:SeetaFace 是由中国科学院计算技术研究所的 VIPL(Visual Perception and Learning)团队开发的开源人脸识别引擎。它包含三个核心模块:人脸检测(SeetaFace Detection)、面部特征点定位(SeetaFace Alignment)以及人脸特征提取与比对(SeetaFace Identification),能够实现从图像或视频中检测人脸、定位面部特征点以及提取人脸特征并进行识别的全套流程。
  3. 标志

Soundtouch

  1. 地址http://soundtouch.surina.net/
  2. 介绍:SoundTouch 是一个开源的音频处理库,由 Olli Parviainen 开发。它能够实现音频的变速、变调和变速同时变调等功能,而不会降低音频质量。这个库特别适合用于实时处理媒体流和音频文件。
  3. 标志

OBS Studio

  1. 地址https://obsproject.com/
  2. 介绍:OBS,全称为Open Broadcaster Software,是一个开源的直播和录屏软件,广泛用于视频录制和直播推流。它支持多平台,包括Windows、macOS和Linux,提供了强大的音视频混流功能,非常适合视频博主和游戏直播人员使用。
  3. 标志

libyuv

  1. 地址https://chromium.googlesource.com/libyuv/libyuv/
  2. 介绍:Libyuv 是一个由 Google 开源的 YUV 图像处理库,它提供了包括缩放、格式转换、旋转等功能。Libyuv 支持多种 YUV 格式之间的转换,包括从摄像头格式转换为 YUV 格式,以及从 YUV 格式转换为 RGB 格式。此外,libyuv 还支持图像的旋转功能,可以旋转 90、180 或 270 度,适用于移动设备在不同方向上的显示需求。Libyuv 还针对不同的处理器架构进行了专门的指令集优化,如 SSSE3/AVX2 在 x86/x64 上,Neon 在 ARM 上,MSA 在 MIPS 上,以及 RVV 在 RISC-V 架构上的优化。
  3. 标志:无

OpenCV

  1. 地址https://opencv.org/
  2. 介绍:OpenCV(Open Source Computer Vision Library)是一个功能强大的开源计算机视觉库,它提供了广泛的编程函数,用于图像处理、视频捕获和分析、特征检测、机器学习、深度学习等。
  3. 标志

openh264

  1. 地址https://github.com/cisco/openh264
  2. 介绍:OpenH264 是由 Cisco 开源的 H.264 视频编解码器,它提供了适合实时应用的编码和解码功能,特别适用于 WebRTC 等场景。
  3. 标志:无

JSMpeg

  1. 地址https://jsmpeg.com/
  2. 介绍:JSMpeg 是一个用 JavaScript 编写的视频播放器,它能够解码 MPEG1 视频和 MP2 音频。这个播放器包括 MPEG-TS 解复用器、MPEG1 视频解码器、MP2 音频解码器、WebGL 和 Canvas2D 渲染器以及 WebAudio 音频输出。JSMpeg 支持通过 Ajax 加载静态视频文件,并且可以通过 WebSockets 实现低延迟(约50ms)的流媒体播放。
  3. 标志

AV1

  1. 地址https://aomedia.org/
  2. 介绍:AV1(Alliance for Open Media Video 1)是由开放媒体联盟(AOM)开发的新一代视频编码标准,旨在提供更高效的视频压缩,同时保持视频质量。AV1 相较于前代编码标准如 VP9,实现了更高的压缩效率和更好的视频质量。它支持高达 12 位颜色深度,允许更广泛的颜色范围和更好的视觉表现,并在颜色分级和后处理方面提供了更大的灵活性。AV1 支持从标清到超高清(4K 和 8K)的分辨率,并为自适应流提供可扩展性。
  3. 标志

SDL

  1. 地址https://www.libsdl.org/
  2. 介绍:在音视频开发领域,SDL(Simple DirectMedia Layer)是一个非常重要的开源库。它提供了跨平台的音频、视频、键盘、鼠标、游戏杆和图形硬件的低级访问,使得开发者能够通过编写一套代码实现在多个操作系统上的运行。SDL 特别适用于开发游戏、模拟器、媒体播放器等多媒体应用。
  3. 标志

SRS

  1. 地址https://ossrs.net/lts/zh-cn/
  2. 介绍:SRS(Simple Realtime Server)是一个开源的实时视频服务器,支持RTMP、WebRTC、HLS、HTTP-FLV、SRT等多种实时流媒体协议。
  3. 标志
相关推荐
冬奇Lab1 小时前
一天一个开源项目(第17篇):ViMax - 多智能体视频生成框架,导演、编剧、制片人全包
开源·音视频开发
一个处女座的程序猿3 小时前
AI之Agent之VibeCoding:《Vibe Coding Kills Open Source》翻译与解读
人工智能·开源·vibecoding·氛围编程
上海合宙LuatOS3 小时前
LuatOS核心库API——【audio 】
java·网络·单片机·嵌入式硬件·物联网·音视频·硬件工程
一只大侠的侠4 小时前
React Native开源鸿蒙跨平台训练营 Day16自定义 useForm 高性能验证
flutter·开源·harmonyos
IvorySQL4 小时前
PostgreSQL 分区表的 ALTER TABLE 语句执行机制解析
数据库·postgresql·开源
Android系统攻城狮5 小时前
Android16进阶之音频播放定位MediaPlayer.seekTo调用流程与实战(二百二十七)
音视频·mediaplayer·android16·音频进阶·音频性能实战
一只大侠的侠5 小时前
Flutter开源鸿蒙跨平台训练营 Day11从零开发商品详情页面
flutter·开源·harmonyos
一只大侠的侠5 小时前
React Native开源鸿蒙跨平台训练营 Day18自定义useForm表单管理实战实现
flutter·开源·harmonyos
一只大侠的侠5 小时前
React Native开源鸿蒙跨平台训练营 Day20自定义 useValidator 实现高性能表单验证
flutter·开源·harmonyos
晚霞的不甘6 小时前
Flutter for OpenHarmony 可视化教学:A* 寻路算法的交互式演示
人工智能·算法·flutter·架构·开源·音视频