流媒体技术基础-流媒体服务与框架

news2025/8/13 14:36:42

一、开源流媒体服务器

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。

【学习地址】:FFmpeg/WebRTC/RTMP/NDK/Android音视频流媒体高级开发
【文章福利】:免费领取更多音视频学习资料包、大厂面试题、技术视频和学习路线图,资料包括(C/C++,Linux,FFmpeg webRTC rtmp hls rtsp ffplay srs 等等)有需要的可以点击1079654574加群领取哦~

  

二、音视频处理框架

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

Video4LinuxV4L是一组设备驱动程序和一个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便宜

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/33293.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【毕业设计】机器学习的溢油特征提取与识别

前言 📅大四是整个大学期间最忙碌的时光,一边要忙着准备考研,考公,考教资或者实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过…

城市内涝地埋式积水监测系统解决方案

一、方案背景 近 20 年来,我国城市化进程加快,城市地区由于人口密集,物资财产密度不断加大等特点,高强度暴雨积水形成的洪涝灾害对城市化地区产生的威肋和带来的狠失愈来愈大。由于城市的不断扩建,使工业区、商业区和居…

dos2unix和unix2dos

一 单次转换 用于转换Windows和UNIX的换行符&#xff0c;通常在windows系统中开发的源码文件&#xff0c;换行符是\r\n,二linux中的文件的换行符是\n。如果不转行可能会出错。在windows记事本写一个hello world源码. #include <stdio.h>int main(void) {printf("h…

Jmeter快速入门

Jmeter依赖于JDK&#xff0c;所以必须确保当前计算机上已经安装了JDK&#xff0c;并且配置了环境变量。 Apache JMeter 是 Apache 组织基于 Java 开发的压力测试工具&#xff0c;用于对软件做压力测试。 JMeter 最初被设计用于 Web 应用测试&#xff0c;但后来扩展到了其他测试…

【Python百日进阶-WEB开发-冲進Flask】Day182 - Flask蓝图与模板继承

文章目录一、day02项目环境和结构搭建1.1 项目根目录创建apps包1.2 项目模板目录templates创建user子目录二、后端知识要点2.1 蓝图Blueprint基础知识2.1.1 为什么需要蓝图2.1.2 什么是蓝图2.1.3 蓝图的属性2.1.4 蓝图使用的步骤2.1.4.1 创建一个蓝图的包,例如user,并在view.py…

蓝牙耳机什么牌子音质最好?音质超好的蓝牙耳机推荐

蓝牙耳机在便捷性上&#xff0c;没有线材的蓝牙耳机&#xff0c;日常通勤、运动、平时走路佩戴&#xff0c;那种因为无线而带来的无缠绕感觉都是有线耳机无法媲美的&#xff0c;但是音质很多人都会觉得有线的好&#xff0c;由于近几年耳机市场的不断进步&#xff0c;很多蓝牙耳…

《痞子衡嵌入式半月刊》 第 67 期

痞子衡嵌入式半月刊&#xff1a; 第 67 期 这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻&#xff0c;农历年分二十四节气&#xff0c;希望在每个交节之日准时发布一期。 本期刊是开源项目(GitHub: JayHeng/pzh-mcu-bi-weekly)&#xff0c;欢迎提交 issue&#xff0c…

8-Arm PEG-Azide,8-Arm PEG-N3,八臂-聚乙二醇-叠氮多臂PEG衍生物供应

1、名称 英文&#xff1a;8-Arm PEG-Azide&#xff0c;8-Arm PEG-N3 中文&#xff1a;八臂-聚乙二醇-叠氮 2、CAS编号&#xff1a;N/A 3、所属分类&#xff1a;Azide PEG Multi-arm PEGs 4、分子量&#xff1a;可定制&#xff0c;八臂-peg 5k-叠氮、八臂PEG 2k叠氮、叠氮-…

卷积神经网络

Datawhale开源学习&#xff0c;机器学习课程&#xff0c;项目地址&#xff1a;https://github.com/datawhalechina/leeml-notes Convolutional Neural Network 本节内容学习了什么是CNN卷积神经网络&#xff0c;相比于全连接网络&#xff0c;它每次只提取部分内容作为整个网络…

专利如果申请?成功率如何提高?

问题一&#xff1a;专利如何申请&#xff1f;​ 1、整理技术方案&#xff0c;整理一套属于你的创新技术方案&#xff1b; 2、专利检索&#xff0c;确保你的创新没有被别人申请过&#xff1b; 3、撰写专利申请书&#xff0c;为了快速审查&#xff0c;做好长期专利布局&#x…

珈创生物上市再次失败:先后折戟科创板、创业板,郑从义为董事长

第二次冲刺上市之旅&#xff0c;珈创生物再次以失败而告终。 11月23日&#xff0c;深圳证券交易所创业板披露的信息显示&#xff0c;因武汉珈创生物技术股份有限公司&#xff08;即“珈创生物”&#xff09;提交了撤回首次公开发行股票并在创业板上市申请文件的申请&#xff0…

医院微信预约挂号小程序开发_分享医院做预约挂号小程序的可以实现什么功能

小程序有 60入口&#xff0c;在微信生态链中无处不在&#xff0c;只要客户是微信用户&#xff0c;他们可以根据搜索、二维码朋友圈找到你的小程序。哪怕是医药行业&#xff0c;也可以做个医院小程序来提高预约和经营运转的效率&#xff0c;解放人力。 1.医院微信预约小程序怎么…

ubuntu下个人觉得必备,好用的应用软件

ubuntu下个人觉得必备&#xff0c;好用的应用软件 本文基于ubuntu20.04 进行讨论。 之前用了很久ubuntu14.04&#xff0c; 因为apt安装依赖的问题&#xff0c;导致系统重装&#xff0c;才被动升级到了20.04. 结果升级后发现了新大陆。 很多原来只能在windows下使用的软件&…

【多目标进化优化】 Pareto 最优解集的构造方法

1. 构造 Pareto 最优解的简单方法 1.1 Deb 的非支配排序方法 \quad\quad设进化群体为 PPP&#xff0c;同时设置一个构造集 P′PP′。算法开始时将第一个个体放人构造集 P′PP′ 中&#xff0c;依次将进化群体 PPP 中的个体 p&#xff08;p∉P′&#xff09;p&#xff08;p∉P&…

护航“东数西算”工程 | 安全狗云原生安全能力亮相2022南京软博会

11月23日&#xff0c;2022中国&#xff08;南京&#xff09;国际软件产品和信息服务交易博览会&#xff08;简称“2022南京软博会”&#xff09;下的“东数西算”助力数字经济协同发展论坛在南京国际博览中心顺利举办。安全狗也收到邀请出席此次活动。 据悉&#xff0c;此次活…

Flink 结合 HyperScan 问题记录

最近工作需要对公司业务大规模日志进行处理&#xff0c;需要进行通过正则预先匹配出符合条件的日子&#xff0c;经过调研Hyperscan符合预期。 如何提高大规模正则匹配的效能_360技术的博客-CSDN博客 Hyperscan是一款来自于Intel的高性能的正则表达式匹配库。它是基于X86平台以P…

SystemFunction032函数的免杀研究

什么是SystemFunction032函数&#xff1f; 虽然Benjamin Delphi在2013年就已经在Mimikatz中使用了它&#xff0c;但由于我之前对它的研究并不多&#xff0c;才有了下文。 这个函数能够通过RC4加密方式对内存区域进行加密/解密。例如&#xff0c;ReactOS项目的代码中显示&…

(附源码)计算机毕业设计JavaJava毕设项目补课管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; Springboot mybatis Maven Vue 等等组成&#xff0c;B/…

(六)RabbitMQ第二种模型:工作模型(Work Queues)

工作模型&#xff08;Work Queues&#xff09;一、轮询发送消息二、消息应答2.1、概念2.2、自动应答2.3、手动应答2.4、消息的重新入队2.5、手动应答代码概念&#xff1a;工作队列(又称任务队列)的主要思想是避免立即执行资源密集型任务&#xff0c;而不得不等待它完成。 相反我…

为什么说 Windows 10 不会被 DDoS SSDP反射攻击利用

为什么说 Windows 10 不会被 DDoS SSDP反射攻击利用一段来自陌生人的对话我所在网络拓扑图一、SSDP 协议极简介绍二、模拟查找 SSDP 设备2.1 Linux 发现 SSDP 服务2.2 Windows 发现 SSDP 服务三、Windows 10 VS Windows 7 数据包四、回答先前的问题回答 1&#xff1a;Windows 1…