开源框架_常用音视频开源框架

本文列举了音视频开发中常用的开源框架,包括编解码库libx264、openh264、x265,播放器VLC、mplayer,流媒体服务器live555和librtmp,以及屏幕抓取工具OBS和FFmpeg等。通过了解和利用这些开源框架,开发者可以提高效率,实现更高质量的产品和服务。
摘要由CSDN通过智能技术生成

b8d300a68bc5526fa85b4278fc34c0cb.png

作为一名音视频从业者,不可避免的会使用到开源实现的多媒体框架,涉及音频、视频,也包含不同的封装格式,还会有后处理,滤镜等等。日常的开发工作中,我们经常会用到各种开源的框架和结构,这样可以省去重复造轮子的精力,也有助于解放我们的精力,进而提供更好的产品,更好的服务不同的场景。本篇就简单罗列下我们常见和常用的一些开源框架:

编解码

说到编解码,这些年,H.264算是最大的赢家了。基于其的开源实现主要有libx264, openh264。

libx264采用c语言实现,可以支持跨平台,但原生对类Linux系统支持更好,对于H.264的编码部分也做了大量的优化!在264时代中,可谓编码中的王者。

libx264官方网站:https://www.videolan.org/developers/x264.html

libx264源码下载:

git clone https://code.videolan.org/videolan/x264.git

除了libx264,还有openh264也是不错的开源实现框架,感兴趣可以去学习了解下。

openh264官方网站:http://www.openh264.org/

openh264源码下载:

git clone https://github.com/cisco/openh264.git 

说完264的实现,就该265登场了。随着视频分辨率的不断提升,视频文件在网络传输的带宽成为瓶颈。新一代的编码器HEVC(大家也习惯称之为H.265)走进了历史舞台,当前正在广泛的使用。当然,开源的实现框架也是跟得上节奏,主要是x265。

x265官方网站:http://www.x265.org/

x265源码下载:

hg clone http://hg.videolan.org/x265

注意,x265的源码管理工具非git,非svn,而是hg,下载源码会略费周折些(需要在不同的平台上安装工具,而且常常受网络情况影响)。

播放器

说完编解码,再说说播放器。开源实现的播放器也不少,主要的几个有vlc,mplayer,FFmpeg中的ffplay(FFmpeg我们一会说)。

VLC对于音视频开发者而言,不会陌生。是一个支持跨平台的播放器,还可以播放网络流,如rtsp,rtmp,本身也可以串流。不光开放源代码,而且可以有各大平台的播放器可以使用。

VLC官方网站:https://www.videolan.org/

VLC源代码下载:http://download.videolan.org/pub/videolan/vlc/

除了vlc,mplayer也是一个不错的开源播放器。mplayer对linux系统支持更好,而对windows平台不是很友好。而且其代码编译的方式也不是特别主流,需要注意,多研究一下。

mplayer官方网站:http://www.mplayerhq.hu/design7/news.html

mplayer源代码下载:

svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer

注意:mplayer源码使用svn管理。

流媒体服务器

接下来,再说说流媒体服务器。比较常见的流媒体服务器框架基本上就是live555和librtmp了,live555主要针对rtsp实现流媒体服务器的功能;近几年来,直播越来越火,rtmp也比较广泛的应用,于是librtmp也越来越流行,librtmp主要针对rtmp协议实现流媒体服务器的功能。

live555官网:http://www.live555.com/

live555源代码下载:http://www.live555.com/liveMedia/public/

librtmp官网:http://rtmpdump.mplayerhq.hu/

librtmp源代码下载:

git clone git://git.ffmpeg.org/rtmpdump

抓屏

再说一个抓屏的开源框架openbroadcast,openbroadcast简称obs,是针对屏幕抓取做的不错的一个开源的框架。有抓屏需求的小伙伴,不妨一试哦!

官方网站:https://obsproject.com/

源代码下载:

https://github.com/obsproject/obs-studio.git 

注意:broadcast的编译需要CMake的支持。

意外的发现

在学习nvidia对FFmpeg提供硬件编解码支持的时候,看到了HandBrake。了解了一下,看上去不错,该开源框架是一个可视化的可以对部分视频文件进行编码层面编辑的软件,感兴趣的童鞋可以研究一下。放个软件的截图大家感受一下。

53edd77fca1252c9ee1062b763a5ce7d.png

官方网站:https://handbrake.fr/

源代码下载地址:

git clone https://github.com/HandBrake/HandBrake.git

最后的王炸

最后再说一下王炸级别的选手FFmpeg。这几个字眼相信大家并不陌生,估计现在连好多的人力小姐姐和猎头小哥哥们也对这个有几分眼熟,因为搞音视频实在避不开。它能干啥就不详细说了,前面说的所有的功能,它都可以实现,而且它也支持跨平台。妥妥滴,没毛病。

5df71d4b33942b79f2e6c27a2c4b207e.png

FFmpeg官方网站:http://ffmpeg.org/

FFmpeg源代码下载:

git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg

大概就梳理这些吧,由于实际工作中的场景不同,可能还有其他一些有些的开源框架没有提到。不过,相信能了解这么多,也完全够用了。对于开源的框架,我们要记住一点,开源不等于免费。我们要懂得站在巨人的肩膀上,做出更优秀更有意义的事情。开源的框架有无数的开发者在迭代,所以,有余力的情况下多看看开源的实现,对我们而言是一个很好的提升的机会。博采众长,取其精华去其糟粕,相信我们会变得越来越强。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值