18个实时音视频开发中会用到开源项目

本文汇总了18个实时音视频开发的开源项目,包括音视频编解码、前后处理、服务端等多个类别。重点介绍了WebRTC、FFmpeg、ijkplayer等,并提到了Callstats.io等商业服务,为开发者提供了丰富的资源。
摘要由CSDN通过智能技术生成

实时音视频的开发学习有很多可以参考的开源项目。一个实时音视频应用共包括几个环节:采集、编码、前后处理、传输、解码、缓冲、渲染等很多环节。每一个细分环节,还有更细分的技术模块。比如,前后处理环节有美颜、滤镜、回声消除、噪声抑制等,采集有麦克风阵列等,编解码有VP8、VP9、H.264、H.265等。

 

我们今天汇总了一些能帮助到正在学习或进行音视频开发的实时音视频开发者们的开源项目与几个也在为开源社区贡献力量的商业服务。这些项目分为几类:音视频编解码类、视频前后处理、服务端类等。

音视频编解码类开源项目

视频编解码的作用,就是在设备的摄像头采集画面和前处理后,将图像进行压缩,进行数字编码,用于传输。编解码器的优劣基本在于:压缩效率的高低,速度和功耗。

目前,主流的视频编码器分为3个系列:VPx(VP8,VP9),H.26x(H.264,H.265),AVS(AVS1.0,AVS2.0)。VPx系列是由Google开源的视频编解码标准。在保证相同质量情况下,VP9相比VP8码率减少约50%。H.26x系列在硬件支持上比较广泛,H.265的编码效率能比上一代提高了30-50%,但是复杂度和功耗会比上一代大很多,所以纯软件编码实现的话有一定瓶颈,现有的技术下,还是需要依靠硬件编解码为主。AVS是我国具备自主知识产权的第二代信源编码标准,目前已经发展到第二代。

WebRTC

首先会用到的肯定是WebRTC,是一个支持网页浏览器进行实时语音对话或视频对话的开源项目。它提供了包括音视频的采集、编解码、网络传输、显示等功能。如果你想基于WebRTC开发实时音视频应用,需要注意,由于WebRTC缺少服务端设计和部署方案,你还需要将WebRTC与Janus等服务端类开源项目结合即可。

官网地址:webrtc.org/

x264

H.264是目前应用最广的码流标准。x264则是能够产生符合H.264标准的码流的编码器,它可以将视频流编码为H.264、MPEG-4 AVC格式。它提供了命令行接口与API,前者被用于一些图形用户接口例如Straxrip、MeGUI,后者则被FFmpeg、Handbrake等调用。当然,既然有x264,就有对应HEVC/H.265的x265。

官网地址:www.videolan.org/developers/…

FFmpeg

FFmpeg大家应该不陌生,提供了编码、解码、转换、封装等功能,以及剪裁、缩放、色域等后期处理,支持几乎目前所有音视频编码标准(由于格式众多,我们就不一一列列举了,可以在Wikipedia中找到)。

同时,FFmpeg还衍生出了libav项目,从中诞生了视频解码器LAV,许多播放软件都可调用LAV进行解码,并且LAV本身也支持利用显卡进行视频硬解。很多主流视频播放器中都以FFmpeg作为内核播放器。不仅仅是视频播放器,就连Chrome这类可以播放网页视频的浏览器也受益于FFmpeg。很多开发者也基于FFmpeg做过很多开发并开源出来,比如大神雷霄骅(

  • 1
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VTCP模块 版本 V1.1 2015年12月6日 1、去除常量库(Const.fnr) 2、去除死循环提示 3、减少其它的系统库引用 4、精简了代码, 修正若干BUG VTCP是虚拟TCP协yi缩写,它实现了UDP可靠传输协yi,UDP本来是一种不可靠的网络协yi,但在有些情况下UDP协yi可能会变得非常有用。因为UDP具有TCP所望尘莫及的速度优势。因此我们设计出了一种新的可靠UDP协yi(VTCP),自动实现UDP数据传输的可靠性。该项目始于2008年,在7年多的研制时间里,提出摆动G点理论与水桶理论,不断进化与提高,VTCP有着显著的速度与实时性能,是制作视频传输,音频传输,IM通讯,文件传输极好的选择。 ============================================= 为什么选择VTCP? 1.标准化,VTCP的接口采用的是 BSD POSIX 标准接口模型,为你的应用跨平台移植奠定坚实的基础;同时程序员只要熟悉任何一种系统的socket编程,那么几乎不用学习新知识就可以立即上手。 2.便捷化,VTCP并提供应用层二次开发标准接口,比如QIO异步模型接口(开源),你无需了解QIO具体原理,直接可以通过添加回调处理代码的形式来完成你的工作。 3.高速度,VTCP拥有极强的抗丢包,拥有100%满带宽传输能力,和TCP比较不只是快一点点,超乎寻常。 4.高效率,VTCP结合IOCP技术和EPOLL技术优势发明了跨平台统一的QIO高速异步接口,满足用户大规模数据量吞吐量要求。 5.高稳定,VTCP编译代码精炼,稳定性从设计阶段就本身很注重,大量测试与应用是VTCP稳定的又一个保障。 6.跨平台,VTCP支持几乎所有操作系统平台,以及多种多样的语言环境,VC,VS,GCC,Delphi,Java,VB,甚至是国产易语言等等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值