首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏媒矿工厂

    实时流媒体的最佳实践

    Robert首先介绍了流媒体的基础架构,简单介绍了可以使用的协议以及固件等。他指出无论是拍摄设备,还是播放终端都有很多种类,因此如何适应不同设备十分重要。 于是Robert介绍了Wowza这一可以在流媒体中用于转码的模块,并指出Wowza已经开源,可以对此进行修改来部署在需要的地方。 Robert接着指出一个流媒体系统需要拍摄的视频源,编码器、服务器、播放器以及合适的保存方式和可靠的网络连接。 其中一个是Mac上的mediamstreamvalidator,它可以在输入流媒体的HTTP网址后,捕获流媒体中的码流,并统计每个片段的相关信息。 另一个是Switch,它可以记录和保存流媒体的码流,并展示出编码后的GOP结构和关键帧等信息。

    93810发布于 2020-04-26
  • 来自专栏音视频技术

    超低延迟实时流媒体传输技术

    正文字数:5401 阅读时长:8分钟 现在云游戏,云应用越来越火,所以超低延迟实时流媒体传输技术的需求应用场景会越来越多。 第二因为SACK是个有状态的,这个状态能做到丢包判断更准确,更实时,用一个rtt一定能判断出来。 这里面就两种采集方法一种是在发端采集,一种在收端采集,收端采集有一定时间间隔才能往上报,这样会导致判断的时间偏晚,这样和我们需要的尽可能实时判断和低延迟又是矛盾的。 流控的本质是让发送的带宽和网络瓶颈链路的接收能力是一致的,接收能力是速率,发送带宽也是速率,所以基于速率来作为模型更实时的判断卡顿依据是更好的方法。 2. 第二是空口很大一部分的问题是概率,如果能把两个独立的信道叠加起来,如果有两个信道的话就等于把两个独立的概率事件叠加起来,2个9有机会变成4个9

    3.6K30发布于 2021-04-21
  • 来自专栏全栈程序员必看

    最近做RTSP流媒体实时广播节目

    //h264视频流打包代码 // NALDecoder.cpp : Defines the entry point for the console application. #include <stdio.h> #include <stdlib.h> #include <string.h> #include <memory.h> #include “h264.h” #include “initsock.h” CInitSock initSock;  // 初始化Winsock库 //为NALU_t结构体分配内存空间 NALU_t *AllocNALU(int buffersize) {  NALU_t *pNalu;  if ((pNalu = (NALU_t*)calloc (1, sizeof (NALU_t))) == NULL) {   printf(“AllocNALU: Nalu”);   exit(0);  }  pNalu->max_size=buffersize;  if ((pNalu->buf = (char*)calloc (buffersize, sizeof (char))) == NULL) {   free (pNalu);   printf (“AllocNALU: Nalu->buf”);   exit(0);  }  return pNalu; } //释放 void FreeNALU(NALU_t *pNalu) {  if (pNalu) {   if (pNalu->buf) {    free(pNalu->buf);    pNalu->buf=NULL;   }   free (pNalu);  } } static int FindStartCode2 (unsigned char *Buf) {  if(Buf[0]!=0 Buf[1]!=0 Buf[2] !=1) return 0; //推断是否为0x000001,假设是返回1  else return 1; } static int FindStartCode3 (unsigned char *Buf) {  if(Buf[0]!=0 Buf[1]!=0 Buf[2] !=0 Buf[3] !=1) return 0;//推断是否为0x00000001,假设是返回1  else return 1; } // 这个函数输入为一个NAL结构体。主要功能为得到一个完整的NALU并保存在NALU_t的buf中,获取他的长度。填充F,IDC,TYPE位。 // 而且返回两个開始字符之间间隔的字节数,即包括有前缀的NALU的长度 int GetAnnexbNALU (NALU_t *pNalu, FILE *bits) {  int info2=0, info3=0;  int pos = 0;  int StartCodeFound, rewind;  unsigned char *Buf;  if ((Buf = (unsigned char*)calloc (pNalu->max_size , sizeof(char))) == NULL)   printf (“GetAnnexbNALU: Could not allocate Buf memory\n”);  if (3 != fread (Buf, 1, 3, bits)) {  //从码流中读3个字节   free(Buf);   return -1;     }  if (Buf[0]!=0 Buf[1]!=0) {   free(Buf);   return -1;  }  if (Buf[2]==1) {   pNalu->startcodeprefix_len=3;   //初始化码流序列的開始字符为3个字节   pos =3;  }else {   if (1 != fread (Buf+3, 1, 1, bits)) {  //从码流中读1个字节    free(Buf);    return -1;   }   if (Buf[2]!=0 Buf[3]!=1) {    free(Buf);    return -1;   }   pos = 4;   pNalu->startcodeprefix_len = 4;  }  //查找下一个開始字符的标志位  StartCodeFound = 0;  info2 = 0;  info3 = 0;     while (!StartCodeFound)  {   if (feof (bits)) { //推断是否到了文件尾    break;   }   Buf[pos++] = fgetc (bits);//读一个字节到BUF中   info3 = FindStartCod

    52510编辑于 2022-07-06
  • 来自专栏实时计算

    流媒体实时计算,Netflix公司Druid应用实践

    最终,Netflix公司通过对设备的数据进行采集,使用来自设备的实时日志作为事件源,得到了大量的数据,通过实时的大数据了解和量化了用户设备,最终成功的近乎无缝地处理了视频的浏览和回放,完美的解决了这些问题 Druid(德鲁伊) Druid是一个分布式的支持实时分析的数据存储系统。通俗一点:高性能实时分析数据库。 Apache Druid是一个高性能的实时分析数据库。 摄取数据 把数据实时插入到此数据库。这些事件(在本例中为指标)不是从单个记录插入到数据源中,而是从Kafka流中读取。每个数据源使用1个主题。 我们认为这太旧了,无法在我们的实时系统中使用。这样就可以确定数据的延迟时间。其次,压缩任务是有延迟地安排的,这给了段足够的时间以正常流程分流到历史节点。 实时流式计算与流媒体的碰撞才刚刚开始,而Druid作为一款极易上手的高性能实时查询数据库,也会得到越来越多的广泛使用。

    1K10发布于 2020-05-19
  • 来自专栏音视频技术

    花椒web端实时互动流媒体播放器

    Enhancement Information)的解析, 通过监听HJPlayer.Events.GET_SEI_INFO事件可以得到自定义SEI信息, 格式为Uint8Array; 对视频直播实时互动的尝试

    4.5K43发布于 2019-12-17
  • 来自专栏实时流式计算

    流媒体实时计算,Netflix公司Druid应用实践

    最终,Netflix公司通过对设备的数据进行采集,使用来自设备的实时日志作为事件源,得到了大量的数据,通过实时的大数据了解和量化了用户设备,最终成功的近乎无缝地处理了视频的浏览和回放,完美的解决了这些问题 Druid(德鲁伊) Druid是一个分布式的支持实时分析的数据存储系统。通俗一点:高性能实时分析数据库。 Apache Druid是一个高性能的实时分析数据库。 摄取数据 把数据实时插入到此数据库。这些事件(在本例中为指标)不是从单个记录插入到数据源中,而是从Kafka流中读取。每个数据源使用1个主题。 实时流式计算与流媒体的碰撞才刚刚开始,而Druid作为一款极易上手的高性能实时查询数据库,也会得到越来越多的广泛使用。 更多实时数据分析相关博文与科技资讯,欢迎关注 “实时流式计算” 获取《Druid实时大数据分析》电子书,请在公号后台回复 “Druid”

    1.2K10发布于 2020-05-18
  • 来自专栏音视频技术

    实时音视频流媒体传输的思考和实践

    本文来自即构科技技术副总裁冼牛在LiveVideoStackCon 2019上海大会的演讲,详细介绍了即构科技在实时流媒体传输协议选择,抖动处理,拥塞控制等多方面的实践。 主要会为大家介绍实时音视频的超低延迟架构并简要阐述实时视频调度系统,同时结合拥塞控制策略和信道纠错策略,进一步探索解决网络延迟的最优方法。 ? 实时音视频的超低延迟架构 1.1 实时架构的关键点 在讨论实时语音和视频通讯的问题时,怎样做到低延迟便是其中不可回避的问题之一。 实时架构可以简单的分为两个方面。其中负载均衡、就“近”接入、质量评估和动态路由这四点属于调度方面的问题,算法流控属于流媒体传输方面的问题。 流媒体传输之中包含调度系统与传输算法,那么两者相比谁更加重要?简单的说调度系统所做的事情就是告诉每一个节点传输的方向。

    1.9K20发布于 2019-08-29
  • 来自专栏CoderJia的工作笔记

    SRS 服务器概述:实时流媒体传输的理想选择

    SRS(Simple Realtime Server)是一款专注于实时音视频传输的开源流媒体服务器。它支持 RTMP、HLS、WebRTC 等多种协议,能够满足直播、点播、低延迟互动等多种场景需求。 HLS:基于 HTTP 的流媒体协议,适用于点播和直播。 WebRTC:低延迟互动协议,适合实时通信和互动直播。 FLV:适用于低延迟直播场景。 同时,SRS 对低延迟传输进行了深度优化,特别是在 WebRTC 场景下,可以实现毫秒级的延迟,满足实时互动的需求。 2.3 开源与社区支持 作为一款开源项目,SRS 拥有活跃的社区支持。 3.2 视频会议 借助 SRS 对 WebRTC 的支持,开发者可以快速搭建低延迟的视频会议系统,实现多人实时互动。 结语 SRS 服务器以其简单、高效和强大的功能,成为了流媒体领域的明星产品。无论你是想搭建一个小型直播平台,还是开发复杂的实时互动应用,SRS 都能为你提供可靠的技术支持。

    2.7K11编辑于 2024-12-10
  • 来自专栏音视频直播技术专家

    多人实时互动之各WebRTC流媒体服务器比较

    前言 随着网络基础设施的提高,音视频实时通信越来越成为人们日常生活和工作中必不可少的需求。2011年 WebRTC的出现,则更加速了这种需求变为现实的可能性。 熟悉 WebRTC 的同学应该都知道,WebRTC规范只定义了实时通信中客户端的行为,而没有规范服务端(包括哪些信令、数据如何流转)的行为。 所以,你可以使用WebRTC库方便的实现 1:1 实时通信,但对于多人实时互动,光依靠 WebRTC库显然就无法完成要求了。 那我们该如何实现多人实时互动通信呢? WebRTC 流媒体服务器 要想实现多人的实时互动,如音视频会议、在线教育这类产品,我们必须使用 WebRTC + WebRTC流媒体服务器这种方案。 这些流媒体服务器各有优缺点,下面我就对这几种流媒体服务器作下简要的介绍与比较。

    5.2K20发布于 2020-04-02
  • 来自专栏媒矿工厂

    实时低延迟流媒体 第三部分:HLS

    本文来自BITMOVIN,由Jameson Steiner编辑,是实时低延迟流媒体系列的最后一部分。 前两篇文章介绍了OTT和LL-DASH中低延迟流媒体的基本原理。 以下是前两篇文章对应的帖子链接: 实时低延迟流式传输 为什么HLS的延迟较高 当前规范中的HLS优先考虑流可靠性而不是延迟。可以接受更高的延迟来换取稳定的播放而不会被打断。在6.3.3节中。 低延迟HLS之路 2017年,Periscope——当时最受欢迎的用于用户生产内容的实时流传输的平台——研究了流传输解决方案,以一种更具可扩展性的方式替代其基于RTMP和HLS的混合方法。 04 播放列表重载的阻止 发现新片段可用于HLS实时流的方法通常是由客户端以固定间隔重新加载播放列表文件并检查是否添加了新片段来应用的。 考虑到该规范仍会更改,并且尚未定稿,流媒体供应商可能会花一段时间才能采用它,而我们最终会在市面上看到低延迟的HLS。简而言之,可以使用HLS进行实时的低延迟流传输,但是要付出较大的服务器复杂性代价。

    1.9K30发布于 2021-02-08
  • 来自专栏媒矿工厂

    WebRTC 和 AV1 赋能交互式实时流媒体

    WHIP: WebRTC HTTP Ingestion Protocol 应用场景 开场 本视频是 Global Video Tech Meetup:BCN 站的一场演讲,由 Millicast 的流媒体工程师 如何使用 WebRTC 和 AV1 创造低延迟交互服务 要达到交互,首先必须要具备的条件就是实时性,即全球范围不超过半秒钟的端到端实时性。 而我们需要做的就是让他们使用实时应用场景,而许多硬件还尚不支持 AV1 的实时编码。Google Chrome 最近更新的 M19 版本里,在浏览器内部实现了 AV1 的实时编码。 他们是第一个支持实时 AV1 的浏览器,意味着你可以开始在软件中使用浏览器原生的视频编码,这对于需要实时交互的平台来说十分重要。 这就是 WebRTC 能够成为实时流媒体通信的公认标准协议的原因:他是一个可以部署在我们每天都在使用的设备上的实时通信协议。

    1.4K20发布于 2021-11-15
  • 来自专栏竹清助手

    基于RTMP数据传输协议的实时流媒体技术研究

    更多实时音视频开发资料,请见社区精选专辑《实时音视频开发资料汇总》。以下是《基于 RTMP 协议的流媒体技术的原理与应用》的论文全文。 顺序流式传输如下图: 基于RTMP数据传输协议的实时流媒体技术研究(论文全文)_QQ20160430-0.png 2实时流式传输 实时流式传输采用专门的流媒体服务器存储多媒体文件。 实时流式传输如下图: 基于RTMP数据传输协议的实时流媒体技术研究(论文全文)_QQ20160430-1.png 3 实时流式传输 流媒体系统中媒体数据传输需要相应的实时流 式传输协议支持。 Message Type ID 为 8,9 的消息分别用于传输音频和视频数据。 com / www. adobe. com/content/dam/Adobe/en/devnet/amf/ pdf / amf - file - format - spec. pdf,2006. [9]

    3.2K40发布于 2018-08-31
  • 来自专栏媒矿工厂

    MMsys24 | 基于离线强化学习的实时流媒体带宽精确预测

    Offline Reinforcement Learning 论文链接:https://dl.acm.org/doi/abs/10.1145/3625468.3652183 内容整理:王柯喻 引言 近年来,实时通信

    82712编辑于 2024-05-21
  • YOLOv9:重构实时目标检测的技术革命

    在计算机视觉领域的快速演进中,YOLOv9的问世犹如一颗重磅炸弹,为实时目标检测技术树立了全新的里程碑。 以下是YOLOv9系列模型的详细性能数据:模型输入尺寸mAP^val 50-95mAP^val 50参数量(M)FLOPs(B)YOLOv9t64038.353.12.07.7YOLOv9s64046.863.47.226.7YOLOv9m64051.468.120.176.8YOLOv9c64053.070.225.5102.8YOLOv9e64055.672.858.1192.5 边缘设备部署优势YOLOv9的轻量化特性使其特别适合在边缘设备上部署。YOLOv9t和YOLOv9s模型在保持较高精度的同时,具有极低的计算开销,可以在移动设备、嵌入式系统中实现实时目标检测。 工业应用场景YOLOv9在工业应用中展现出巨大潜力,特别是在需要高精度和实时性的场景中:智能监控系统:利用YOLOv9的高精度检测能力,可以实现更可靠的安防监控自动驾驶:强化的小目标检测能力为自动驾驶系统提供更安全的环境感知工业质检 通过PGI的梯度信息编程能力和GELAN的高效层聚合技术,YOLOv9为目标检测系统建立了新的基准,在精度、速度和参数利用率方面都超越了现有的实时检测器。

    64310编辑于 2025-11-06
  • 来自专栏IMWeb前端团队

    流媒体加密

    流媒体加密技术原理 看视频分为两种,看点播和看录播。 要看点播可以通过下载完整个视频后再看,或者通过流媒体边下边看。 看直播只能通过流媒体看最新的画面。 加密流媒体的技术很少,也很难找到学习资料,本文主要介绍流媒体加密技术。 流媒体加密原理 可以看出一个规律这些流媒体传输协议都必须把视频流拆分成连续的小块之后再被传送,只不过分块的大小和视频容器的格式不一样而已。 之所以选择对称加密是因为流媒体要求很强的实时性,数据量又很大。公钥密码算法的计算都比较复杂,效率较低,适合对少量数据进行加密。对称加密效率相对较高,所以流媒体加密首选对称加密。 HLS 加密 HLS 是目前最成熟的支持流媒体加密的能应用在浏览器里的流媒体传输协议,HLS 原生支持加密,下面来详细介绍它。

    2.2K31发布于 2019-12-04
  • 来自专栏IMWeb前端团队

    流媒体加密

    流媒体加密技术原理 看视频分为两种,看点播和看录播。 要看点播可以通过下载完整个视频后再看,或者通过流媒体边下边看。 看直播只能通过流媒体看最新的画面。 加密流媒体的技术很少,也很难找到学习资料,本文主要介绍流媒体加密技术。 流媒体加密原理 可以看出一个规律这些流媒体传输协议都必须把视频流拆分成连续的小块之后再被传送,只不过分块的大小和视频容器的格式不一样而已。 之所以选择对称加密是因为流媒体要求很强的实时性,数据量又很大。公钥密码算法的计算都比较复杂,效率较低,适合对少量数据进行加密。对称加密效率相对较高,所以流媒体加密首选对称加密。 HLS 加密 HLS 是目前最成熟的支持流媒体加密的能应用在浏览器里的流媒体传输协议,HLS 原生支持加密,下面来详细介绍它。

    5K101发布于 2018-01-08
  • 来自专栏实时音视频TRTC从小白到熟练

    实时音视频开发学习9 - 进房权限和画质

    7.校验通过后,会向 TRTCSDK 提供实时音视频服务。 相应的源码见demo9。 开启方式 打开腾讯云实时音视频控制台导航栏的应用管理,然后打开对应应用的“应用信息”,最后启动“启动权限密钥”。 1.下载WebRTCSigApi.js文件,我这demo9已经提供或打开下面链接: https://github.com/TencentVideoCloudMLVBDev/usersig_server_source image.png 注:更多内容请关注腾讯云的实时音视频

    2.1K40发布于 2020-08-27
  • 来自专栏Hadoop数据仓库

    Greenplum 实时数据仓库实践(9)——Greenplum监控与运维

    Greenplum对每种对象类型支持的权限如表9-2所示。 另外,kill -9或者kill -11即便没有导致数据库宕机,也会导致所有连接中断,这个副作用是必然会发生的。 5. 表9-3列出了session_state.session_level_memory_consumption视图的字段定义。 表9-4显示了各种Greenplum日志文件的位置。在文件路径中: $GPADMIN_HOME指gpadmin操作系统用户的主目录。 表9-4列出了Greenplum数据库服务器日志格式。

    4.8K32编辑于 2022-04-13
  • 来自专栏音视频咖

    上新啦 | 广播级实时流媒体服务 海外媒体产品Tencent Cloud MediaLive 上线啦

    从电子竞技到广电新闻,实时播放为我们带来了多元的内容形态和更强的交互性。随着直播经济的到来,腾讯云助力广电公司轻松安全地进行直播,而无需执行复杂的基础设施构建和运营操作。 腾讯云媒体直播(Tencent Cloud MediaLive,MDL)致力于让全球用户快速创建稳定、多样、安全的视频输出,以进行直播和流媒体传输。 MediaLive依托腾讯云全球部署的计算资源,结合腾讯自研的音视频技术平台以及全球领先的音视频 AI 技术,将广播级实时视频处理能力开放给用户。 为保护全球用户的视频流安全,MediaLive配设了用于数字版权保护的专用加密方案,支持Google Widevine和Apple FairPlay这两种版权管理功能,保证主流网页浏览器和多种流媒体设备上分发 MediaLive旨在让客户专注于为观众打造最佳的实时视频体验,而无需管理和执行基础架构的运维与构建。MediaLive需开白使用,已于6月10日上线国际站。如需使用,请联系我们。 ?

    1K20发布于 2020-07-06
  • 来自专栏音视频技术

    :AV1编码器的优化及其在流媒体实时通讯中的应用

    AV1具有功能强大的编码算法,与其前身VP9相比,AV1的压缩性能提升了30%以上。但是,AV1编码器的复杂性也远高于VP9编码器。所以,在AV1格式确定以后,我们的主要目标是优化编码器,使其产品化。 Yunqing Wang, a senior staff software engineer and TLM at Google, and has been working on AV1 and VP8/9

    49520编辑于 2022-08-26
领券