流媒体技术基础-流媒体服务与框架【38款 流媒体服务器开源软件】
一、开源流媒体服务器
38款 流媒体服务器开源软件
主流的开源流媒体服务器及框架如下:
1.Live555 [RTSP拉流]
一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如 RTP/RTCP、RTSP、SIP等的支持。
实现了对多种音视频编码格式的音视频数据的流化、接收和处理等支持,包括MPEG、H.263+、DV、JPEG视频和多种音频编码。
2.EasyDarwin [RTSP拉流/推流]
由国内开源流媒体团队开发和维护的一款开源流媒体平台框架,基于Golang开发维护;
支持RTSP推流分发(推模式转发)
支持RTSP拉流分发(拉模式转发)
服务端录像检索与回放
3.Darwin Streaming Server
- 实时流媒体播放服务器,使用开放标准,让你可以透过互联网实时传送实况或预先录制的内容。
4.Flash流媒体服务器 Red5 [过时]
一个采用Java开发开源的Flash流媒体服务器。
支持功能:
Streaming Video (FLV, F4V, MP4, 3GP)
Streaming Audio (MP3, F4A, M4A, AAC)
Recording Client Streams (FLV and AVC+AAC in FLV container)
Shared Objects
Live Stream Publishing
Remoting
Protocols: RTMP, RTMPT, RTMPS, and RTMPE
5.Open Streaming Server
流媒体服务器 ,主要功能包括支持 mp4、3gp、WMF和qt文件格式;动态带宽适配;负载均衡、内容分发技术。
基于 C++、Java 和 CORBA 技术开发。
6.FMS流媒体服务器
7.Wowza流媒体服务器
8.开源流媒体平台FreeCast
- 一个P2P的流媒体开源平台,使用Java语言编写
9.LiveGBS GB28181流媒体服务[多种类型直播]
支持设备或平台通过GB28181协议接入;
提供 WebRTC、RTSP、RTMP、HTTP-FLV、Websocket-FLV、HLS 等多种协议流输出;
提供实时流媒体处理,PS(TS)转ES;
支持 H264、H265 等多种视频格式接入;
支持语音对讲,级联语音对讲; 支持云台控制、预置位巡航;
10.Nginx-RTMP[RTMP直播]
支持RTMP、HLS、MPEG-DASH
支持RTMP、HLS点播
可将直播视频分段存储
支持 H.264 视频编解码、AAC 音频编解码
支持 FFmpeg 命令内嵌
支持回调 HTTP
可使用 HTTP 对直播进行删除、录播等控制
具有强大的缓冲功能,可确保在效率与码率间达到平衡
11.simple-rtmp-server[多种类型直播]
一个简单高效的实时视频服务器,使用C++开发,支持RTMP/WebRTC/HLS/HTTP-FLV/SRT/GB28181。
SRS定位是运营级的互联网直播服务器集群,追求更好的概念完整性和最简单实现的代码。
SRS提供了丰富的接入方案将RTMP流接入SRS,包括推送RTMP到SRS、推送RTSP/UDP/FLV到SRS、拉取流到SRS。
SRS还支持将接入的RTMP流进行各种变换,譬如将RTMP流转码、流截图、转发给其他服务器、转封装成HTTP-FLV流、转封装成HLS、转封装成HDS、录制成FLV。
二、音视频处理框架
1.OpenCV
OpenCV全称是Open Source Computer Vision Library,是一个跨平台的计算机视觉库,是由英特尔公司发起并参与开发,以BSD许可证授权发行,可以在商业和研究领域中免费使用。可用于开发实时的图像处理、计算机视觉以及模式识别程序。
OpenCV用C++语言编写,有大量的Python, Java and MATLAB(版本2.5)的接口。
2.Gstreamer
GStreamer 是一个基于管道的多媒体框架,基于GObject,以C语言写成。可以很容易地创建各种多媒体功能组件,包括简单的音频回放,音频和视频播放,录音,流媒体和音频编辑。
适用于所有主要操作系统,例如 Linux、Android、Windows、Max OS X、iOS,以及大多数 BSD、商业 Unix、Solaris 和 Symbian。
GStreamers 功能可以通过新插件进行扩展。
容器格式:asf、avi、3gp/mp4/mov、flv、mpeg-ps/ts、mkv/webm、mxf、ogg
流媒体:http、mms、rtsp
编解码器:FFmpeg、各种编解码器库、第三方编解码器包
元数据:原生容器格式,它们之间有一个公共映射
视频:各种色彩空间,支持逐行和隔行视频
音频:各种位深度和多通道配置的整数和浮点音频
3.FFmpeg
一套开源的音视频处理的框架,可以运行音频和视频多种格式的录影、转换、流功能,包含了libavcodec(用于多个项目中音频和视频的解码器库)以及libavformat(音频与视频格式转换库)
核心组件
- 命令行应用程序
- ffmpeg:用于对视频文档或音频档案转换格式
- ffplay:一个简单的播放器,基于SDL与FFmpeg库
- ffprobe:用于显示媒体文件的信息,见MediaInfo
- 函数库
- libswresample
- libavresample
- libavcodec:包含全部FFmpeg音频/视频编解码库
- libavformat:包含demuxers和muxer库
- libavutil:包含一些工具库
- libpostproc:对于视频做前处理的库
- libswscale:对于影像作缩放的库
- libavfilter
- 命令行应用程序
支持的音频编解码器
- ITU-T视频标准:H.261,H.262/MPEG-2 Part 2, H.263和[H.264/MPEG-4 AVC
- ITU-T音频编解码器标准
- ISO/IEC MPEG视频标准:MPEG-1 Part 2, H.262/MPEG-2 Part 2, MPEG-4 Part 2和H.264/MPEG-4 AVC
- ISO/IEC MPEG音频标准:MP1, MP2, MP3, AAC, HE-AAC和MPEG-4 ALS
- ISO/IEC/ITU-T JPEG图像标准:JPEG和JPEG-LS
- SMPTE视频标准:VC-1(也称作WMV3), VC-3(也称作AVID DNxHD)和DPX图像
- SMPTE音频标准:SMPTE 302M
- DVD论坛的相关标准 / 杜比实验室的音频编解码器:MLP(也称TrueHD)和AC-3
- 3GPP音频编码器标准:AMR-NB, AMR-WB
- GSM相关的语音信号编解码器:Full Rate
- Windows Media Player相关的视频编解码器:Microsoft RLE, Microsoft Video 1, Cinepak, Indeo 2, 3和 Motion JPEG, Microsoft MPEG-4, v1, v2和v3, WMV1, WMV2 and WMV3(也称VC-1)
- Windows Media Player相关的音频编解码器:WMA1, WMA2和WMA Pro
- Windows Media Player相关的语音信号编解码器:WMA Voice和MS-GSM
- RealPlayer相关的视频编解码器:RealVideo 1, 2, 3和4
- RealPlayer相关的音频编解码器:RealAudio 3, 6, 7, 8, 9和10
- RealPlayer相关的语音信号编解码器:RealAudio1, 2 (G.728的派生), 4和5
- QuickTime相关的视频编解码器:Cinepak, Motion JPEG和Sorenson 3 Codec
- QuickTime相关的音频编解码器:QDesign音乐编解码器2和ALAC
- Adobe Flash Player相关的视频编解码器:Sorenson 3 Codec, VP6和Flash Video (FLV)
- Adobe Flash Player相关的音频编解码器:Adobe SWF ADPCM和Nellymoser Asao
- Sony, ATRAC1和ATRAC3
- NTT: TwinVQ
- On2: Duck TrueMotion 1, Duck TrueMotion 2, VP3, VP5, VP6和[VP8
- Truespeech
- RenderWare: TXD
协议
- IETF标准:TCP, UDP, Gopher, HTTP, RTP, RTSP和SDP
- 苹果公司的相关标准:HTTP Live Streaming
- RealMedia的相关标准:RealMedia RTSP/RDT
- Adobe的相关标准:RTMP, RTMPT(由librtmp实现),RTMPE(由librtmp实现),RTMPTE(由librtmp)和RTMPS(由librtmp实现)
- 微软的相关标准:MMS在TCP上和MMS在HTTP上
4.Video4Linux
Video4Linux或V4L是一组设备驱动程序和一个API,用于支持Linux系统上的实时视频捕获。支持许多USB网络摄像头、电视调谐器和相关设备,标准化它们的输出,因此程序员可以轻松地将视频支持添加到他们的应用程序中。
- 支持Video4Linux的软件
- aMSN
- DVswitch
- Ekiga
- FFmpeg
- FreeJ
- GStreamer
- kdetv
- Kopete
- LiVES
- MPlayer
- MythTV
- OpenCV
- Pygame
- Skype
- Tvtime
- VLC多媒体播放器
- xawtv
- ZoneMinder
5.其他
directshow:微软推出的流媒体处理的开发包
Stagefright:Android 流媒体框架
nuplayer: Android 流媒体框架
ExoPlayer: 一个构建于 Android 低版本 API 之上的开源应用项目
Halcon:德国 Mvtec 公司,一套完善的标准的机器视觉算法包,拥有应用广泛的机器视觉集成开发环境。
VisionPro:美国康耐视(Cogrex ),具有快速而强大的应用系统开发能力。
MIL:加拿大 Matrox Imaging Library(缩写为MIL)
vision editor:日本基恩士(keyence)
HexSight:加拿大Adept公司,采用最先进的轮廓检测技术来识别对象和模式。
Sherlock:加拿大Dalsa
NI Vision:美国国家仪器(NI)公司,基于LabVIEW
Microscan:美国欧姆龙迈思肯公司(Omron Microscan)
备注:halcon功能最强大,visionPro简单易用,opencv开源最省钱,mil便宜
流媒体技术基础-流媒体服务与框架【38款 流媒体服务器开源软件】相关推荐
- 流媒体技术基础-流媒体服务与框架
一.开源流媒体服务器 38款 流媒体服务器开源软件 主流的开源流媒体服务器及框架如下: 1.Live555 [RTSP拉流] 一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输 ...
- 共有90款 工作流引擎开源软件
共有90款 工作流引擎开源软件,第1页 java工作流引擎,开源工作流引擎,工作流引擎是什么,工作流引擎设计,工作流引擎介绍,.net工作流引擎,工作流引擎比较,工作流引擎内核揭秘,.net开源工作流 ...
- linux 云主机 管理软件,常用6款云服务器管理软件(上)
服务器常用Linux,往往是不具备图形化界面的,所以需要使用者精通Linux命令.非专业的运维人员使用起来有难度,不过现在很多具有图形化界面的面板帮助我们解决了这个问题. 这次我们看一下常用的6款服务 ...
- 38款 流媒体服务器开源软件
Flash流媒体服务器Red5 Red5是一个采用Java开发开源的Flash流媒体服务器.它支持:把音频(MP3)和视频(FLV)转换成播放流: 录制客户端播放流(只支持FLV):共享对象:现场直播 ...
- 83款 网络爬虫开源软件
网络爬虫介绍及其比较 http://www.docin.com/p-321349858.html 1.http://www.oschina.net/project/tag/64/spider?lang ...
- 6款国内外SNS开源软件 搭建社交网站利器
SNS(Social Network Service),有时称为社交网络,有时称为社会化网络,专指旨在帮助人们建立社会性网络的互联网应用服务.如果对SNS概念还很模糊,说到人人网.开心网你就明白了. ...
- 爬虫_83款 网络爬虫开源软件
1.http://www.oschina.net/project/tag/64/spider?lang=0&os=0&sort=view& 搜索引擎 Nutch Nutch 是 ...
- 开源python爬虫软件下载_83款 网络爬虫开源软件
Nutch 是一个开源Java 实现的搜索引擎.它提供了我们运行自己的搜索引擎所需的全部工具.包括全文搜索和Web爬虫. 尽管Web搜索是漫游Internet的基本要求, 但是现有web搜索引擎的数目 ...
- 推荐五款免费的开源软件,总有一款适合你
今天我为大家推荐五款不同类型的开源软件,它们都是免费的,而且有着各自的特色和优势. 1.系统优化--BleachBit BleachBit是一个开源的系统清理和优化软件,可用于清理系统垃圾.保护隐私和 ...
- 流媒体技术基础-流媒体编码与协议
一.流媒体传输协议 1.实时传输协议RTP 针对多媒体数据流的一种传输协议,建立在UDP协议上,属于传输层协议. 定义互联网上传递音频和视频的标准数据包格式.RTP协议常用于流媒体系统(配合RTCP协 ...
最新文章
- 百度宣布:搜索业务总裁向海龙离职,另回购10亿美元股份
- 018_Jedis的Hash数据类型
- 企业深入使用微服务后会面临哪些问题?云原生全链路灰度给了新思路
- 中两个数做减法_四年级数学下册 | 第1单元加、减法的意义和各部 分之间的关系(P13)...
- 【BCFTOOLS】按样本拆分VCF文件
- 控制台编写JAVA程序教程_写一个java程序的步骤是什么?写java程序技巧
- mysql恢复主服务器_MySQL 5.6主从复制第二部分[恢复某一台从服务器]
- PageHelper 关闭COUNT(0)查询 以及PageHelper 的分页原理分析
- python坐标图设计_python 三维坐标图
- iOS __strong __weak @Strongify @Weakify
- Jenkins构建jmeter进行接口测试的一些配置
- window 右击菜单启动 nodejs app
- mysql 概率函数_MySQL对window函数执行sum函数可能出现的一个Bug
- 下载flash文件的若干方法!
- PyCharm 实用快捷键
- ntp子母钟(gps子母钟系统)时钟系统在智能交通系统中的重要性
- 利用HISTFILESIZE和HISTSIZE在ubunutu中调整命令行History的Size
- java.io.IOException: Type mismatch in key from map: expected org.apache.hadoop.io.Text, recieved org
- 南通java培训地点,吐血整理
- 我的2022和2023(技术总结、开发工具简介和未来展望)
热门文章
- linux下sybase数据库安装教程,Unix下Sybase数据库的安装说明及基本操作
- 伺服驱动器--增益调整
- 第四章_思科ASDM网管系统搭建(java环境,jdk环境)
- android:launchMode=“singleTask“
- x10ti怎么禁用核显_笔电多显卡切换解决方案浅谈(ver2.2)
- 回调函数及其应用案例
- J2EE领域的一些技术框架结构图
- jquery api中文手册
- FFmpeg命令行工具学习(二):播放媒体文件的工具ffplay
- PG数据库表及表注释查询语句