主流开源流媒体服务器有哪些

主流开源流媒体服务器有哪些,第1张

流媒体解决方案 Live555 (C++)

流媒体平台框架 EasyDarwin (C++,国产精品)

实时流媒体播放服务器程序DarwinStreamingSrvr (C++)

Flash流媒体服务器 Red5 (Java)

流媒体服务器 Open Streaming Server (Java)

FMS流媒体服务器 (Adobe,收费的)

Wowza流媒体服务器(Java)

开源流媒体平台FreeCast(Java)

最后补充一个 Ngix+RTMP插件

FFmpeg的主体框架

编译会生成4个可执行文件,和8个静态库。

一、可执行文件

ffmpeg : 转码、推流、Dump媒体文件

ffplay : 播放媒体文件,拉流

ffprobe :获取媒体文件信息

ffserver :简单流媒体服务器(一般用的比较少)

二、静态库

8个静态库实际是FFmpeg的8模块,包括如下:

libavutil :核心工具库,该模块是最基本的模块之一,其它这么多模块会依赖此模块做一些音视频处理操作。

libavformat : 文件格式和协议库,该模块是最重要的模块之一,封装了Protocol层、Demuxer层、muxer层,使用协议和格式对于开发者是透明的。

libavcodec: 编解码库,该模块也是最重要模块之一,封装了Codec层,但是有一些Codec是具备自己的License的,FFmpeg是不会默认添加,例如libx264,FDK-AAC, lame等库,但FFmpeg就像一个平台一样,可以将其它的第三方的Codec以插件的方式添加进来,然后为开发者提供统一的接口。

libswrsample: 音频重采样库,可以对数字音频进行声道数、数据格式、采样率等多种基本信息的转换。

libswscale: 视频压缩和格式转换库,可以进行视频分辨率修改、YUV格式数据与RGB格式数据互换。

libavdevice: 输入输出设备库,编译ffplay就需要确保该模块是打开的,时时也需要libSDL预先编译,因为该设备播放声音和播放视频使用的都是libSDL库。

libavfilter :音视频滤镜库,该模块包含了音频特效和视频特效的处理,在使用FFmpeg的API进行编解码的过程中,直接使用该模块为音视频数据做特效物理非常方便同时也非常高效的一种方式。

libpostproc: 音视频后期处理库,当使用libavfilter的时候需要打开该模块开关,因为Filter中会使用该库中的一些基础函数。

写了一大堆,最后用一张思维导图来总结体现吧,简单明了,方便大脑记忆存储:


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/126081.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-15
下一篇2023-03-15

发表评论

登录后才能评论

评论列表(0条)

    保存