首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏全栈程序员必看

    p2p流媒体技术(简述流媒体的特点)

    P2P,看了林哥的博客后对流媒体的概念了解了,感觉不太对劲,于是乎马不停蹄在网上度娘了一把进行验证,果然发现流媒体和P2P是不同的两个东西,但是P2P技术在流媒体领域中应用比较广泛,也难怪之前自己将两者混为一谈 通过在网上查资料和林哥的博客自己对传统媒体,流媒体,加P2P的流媒体技术有了更多的了解,在此与大家共享。 【流媒体进化之路】 1、传统媒体:刚开始的时候大家在网上看视频或音频等媒体是采用传统媒体的方式:从服务器下载完后再能进行播放: 2流媒体:随着人类生活越来越丰富,品味越来越高(比如:视频要超清滴等 于是乎应用P2P技术流媒体应运而生: (1)最开始只有客户A获取资源示意图: (2)过一会儿后客户B获取资源示意图: (3)再过一会儿客户C访问资源示意图: 【总结】 1、从传统媒体—>流媒体—>含P2P流媒体:技术复杂度逐渐递增,人的体验越来越好; 2、随着人类的生活越来越丰富需求越来越高,从而推动技术在不断的发展; 3、学习的兴趣来源于经历来源于好奇心

    1.7K30编辑于 2022-08-01
  • 来自专栏直播+

    直播软件开发科普之流媒体介绍

    直播软件开发编解码 硬编解码 通过硬件实现编解码,减轻CPU计算的负担,如GPU等 软编解码 如 H264、H265、MPEG-4等编解码算法,更消耗CPU 数据优化 数据优化和编解码算法息息相关,一般而言 直播软件开发常用的流媒体协议主要有 HTTP 渐进下载和基于 RTSP/RTP 的实时流媒体协议,这二种基本是完全不同的东西 CDN直播中常用的流媒体协议包括RTMP,HLS,HTTP FLV RTP 小结 RTMP RTMP(Real Time Messaging Protocol)实时消息传送协议是Adobe Systems公司为Flash播放器和服务器之间音频、视频和数据传输 开发的开放协议。 ,可实现流媒体的直播和点播。 相对于直播软件开发中常见的流媒体直播协议,例如RTMP协议、RTSP协议、MMS协议等,HLS直播最大的不同在于,直播客户端获取到的,并不是一个完整的数据流。

    1.6K20发布于 2020-09-16
  • 来自专栏全栈程序员必看

    p2p在线直播流(何为流媒体)

    看到网上一些吹牛P2P低延时的文章,觉得不是很靠谱,抽空调研了一下这个问题。 P2P低延时的几个方向: 方法一:通过直接采集并编码多媒体帧,将多媒体帧切分成1KB大小的数据颗粒, 采用push策略的进行小包传输,提高传输效率,减小传输延时; cl=zh 专利号 CN 101945129A P2P流媒体直播的低延时传输方法及系统 方法二:采用采用非平衡的 MDC 编码方案 ,节点在启动播放时仅仅请求基本流的数据,所需带宽较小,能有效降低启动时延 re=view 基于宽带城域网的 P2P 流媒体直播模型与方法 方法三:动态路由优化 http://wenku.baidu.com/view/bcb5e56ab84ae45c3b358ca2 .html 增强型P2P技术改善客户体验 另外,感觉很多文章把节目延时和启动延时混在一块。

    61220编辑于 2022-07-25
  • 来自专栏Java经验总结

    自己开发一个电视----流媒体之JavaCV

    流媒体到底是什么? 百度百科上是这么讲:“流媒体(streaming media)是指将一连串的媒体数据压缩后,经过网上分段发送数据,在网上即时传输影音以供观赏的一种技术与过程,此技术使得数据包得以像流水一样发送;如果不使用此技术 从一开始的 2G 的全文本,到 3G 的图文,到 4G 的直播和短视频,以及未来 5G 的VR。我们只知道享受,并没有关注过技术的发展。 刚入职一家公司,做金融的,而我所在的部门事金融新媒体部门。 所以不得不关注这方面的技术,然后各种新词开始满天飞 流媒体、JavaCV、OpenCV、FFmpeg 啥都是啥?我母鸡呀! 然后开始恶补一些知识,身为 Java 的我当然最关注 JavaCV 。 JavaCV 事开源的,这事我们 Java 开发人员最大福利。站在巨人的肩膀上摘葡萄。JavaCV 的地址是 https://github.com/bytedeco/javacv 。

    2.7K21发布于 2021-06-29
  • 来自专栏海之滨云视频和流媒体技术

    Android流媒体开发之路一:Camera2采集摄像头原始数据并手动预览

    Android Camera2采集摄像头原始数据并手动预览 最近研究了一下android摄像头开发相关的技术,也看了Google提供的Camera2Basic调用示例,以及网上一部分代码,但都是在TextureView 需求分析   其实主要就是在不预览的情况下获取到摄像头原始数据,目的嘛,一是为了灵活性,方便随时开启关闭预览,二是为了以后可以直接对数据进行处理,三是为了其他程序开发做一些准备。 层由于从API21开始,已经废弃原Camera接口,所以这里采用Camera2接口。 相比Camera接口来说,第二代摄像头接口,调用复杂多了,但是灵活性也更高了,通过Google的Camera2Basic例子可以很清楚的了解到使用方式。 这里把CamCap程序中的Camera2的调用顺序整理如下: ?

    3.6K50发布于 2018-05-11
  • 来自专栏全栈程序员必看

    p2p流媒体平台有哪些(p2p工作模式)

    P2P流媒体开源项目介绍 1. PeerCast 2002年成立,最早的开源P2P流媒体项目。PeerCast把节点按树结构组织起来, 每个频道都是一个树, 直播源是根节点,父节点只给子节点提供数据。 开发语言是Python。 3. GoalBit 2008年开始。GoalbitSolution公司推出的开源P2P流媒体直播系统。采用网状结构,节点间传输采用TCP协议(基于UPNP)。 是欧洲NAPA WINE P2P-TV项目的开源流媒体引擎。 支持视频的点播和直播。有高效的P2P算法, 对网络的适应性好, 针对不同网络情况都能实现较好的播放效果。当然,代码比较庞大和复杂。 是Mysee公司曾经开源过的P2P流媒体项目。设计目标是支持大规模并发的视频直播系统。采用ACE+wxWidget的跨平台开发组件。节点间传输采用TCP协议(不支持双内网传输)。 P2Pcenter 2008年一个国内团队发起的开源项目。支持各种格式的视频点播。节点间传输采用UDP,能有效穿越防火墙。用C++开发

    2.1K50编辑于 2022-08-01
  • 来自专栏用户7445706的专栏

    关于直播平台开发流媒体传输,重点干货分享

    随着近年来直播行业的飞速发展,直播平台开发的技术日益成熟,直播系统的应用场景也越来越广泛,也离不开流媒体传输的技术支持,本文就主要介绍了当前主流的流媒体传输中推流端及播放端分别需要几步。 一、什么是流媒体直播传输 在直播平台开发中,流媒体传输就是将收集到的整个音视频信息等多媒体文件,通过一种特殊的压缩方法,分成一个压缩包,这些压缩包通过服务器连续实时地发送给最终用户。 现如今随着直播平台开发流媒体技术的快速发展,改变了以往电视媒体的“推”式传播,转变为用户可选择的“拉”式传播,不同的用户群体的兴趣点也不同,可选择性的观看。 4.推流:推流端的最后一步也是直播平台开发流媒体传输推流端最关键的一步,通过推流工具将编码后的音视频数据推流至服务器,推流端的任务到此结束。 上述就是直播平台开发流媒体传输中推流端及播放端分别需要几步,这就是流媒体协议的使命,随着未来技术的不断提升,将会开发出更多可能性。

    68310发布于 2020-12-28
  • 来自专栏直播知识

    直播平台开发,常用流媒体和视频传递方法

    一、直播平台开发关于流媒体的基础知识 1.流媒体开发,负责网络层的传输,协议层负责网络打包,封装层负责编解码数据的封装,编码层负责图像、音频压缩 2.帧数,每一帧代表一副静止的画面 3.GOP,画面组 在游戏、直播平台开发中,画面帧数只要保持在30帧左右就不会觉得画面卡顿,最低的帧数也要在16帧以上,再低了就会明显感觉到画面不流畅了 6.分辨率,图片的尺寸,最常见的分辨率是1920x1080,指的是图片的长度 二、直播平台开发视频传递方法 1.画面采集,通过屏幕捕捉或手机摄像头等设备进行画面采集 2.视频处理,视频最终是通过GPU一帧一帧的渲染到屏幕上,可以采用opengles对视频帧进行加工处理,从而达到不同的视频效果 3.编码,视频压缩编码标准,对视频进行压缩的编码技术,比如H.264常用的视频编码技术,将视频像素数据压缩成视频码流,从而降低视频的数据量,不经压缩的视频体积过大会影响传输的速度 4.推流,常用的流媒体传输协议 RTMP,足以应对现在各个播放端口需要的播放协议,也是直播平台开发最常用的传输协议 直播平台开发用到的流媒体、视频传递等方面的知识远不止这些,不过对想要初步了解直播平台开发的运营商来说已经足够了。

    1K10发布于 2020-11-11
  • 来自专栏海之滨云视频和流媒体技术

    Android流媒体开发之路二:NDK开发Android端RTMP直播推流程序

    NDK开发Android端RTMP直播推流程序 经过一番折腾,成功把RTMP直播推流代码,通过NDK交叉编译的方式,移植到了Android下,从而实现了Android端采集摄像头和麦克缝数据,然后进行 开发思路 首先,为什么要用NDK来做,因为自己之前就已经实现过RTMP推流、RTMP播放、RTSP转码等等各种c++实现的流媒体项目,有很成熟的代码模块。 进行硬件编码,也可以通过x264进行软件编码,这里因为要复用以前的代码,决定使用软件编码来验证 RTMP协议封装,这部分代码,直接使用之前的C++代码即可,本身就是平台无关的,NDK也是linux环境开发 具体可以参考我之前的文章“C++实现RTMP协议发送H.264编码及AAC编码的音视频” 程序框架 根据我的开发思路,程序框架就显而易见了: ? 关于Camera2接口获取摄像头数据,可以参考之前的文章“Android流媒体开发之路一:Camera2采集摄像头原始数据并手动预览”,不同的是,那篇文章里直接使用ImageReader的Surface

    2.6K60发布于 2018-05-11
  • 来自专栏IMWeb前端团队

    流媒体加密

    一般结合这两种技术一起用,第1种技术很成熟也有很多教程就不再复述,本文主要介绍第2种加密技术。 流媒体加密技术原理 看视频分为两种,看点播和看录播。 加密流媒体的技术很少,也很难找到学习资料,本文主要介绍流媒体加密技术。 HLS 加密 HLS 是目前最成熟的支持流媒体加密的能应用在浏览器里的流媒体传输协议,HLS 原生支持加密,下面来详细介绍它。 k=2" #EXTINF:9.501, http://media.example.com/segment28.ts 这个文件描述了每个 TS 分片的 URL ,但这些分片都是加密后的内容,要还原出原内容需要从 第2步保存下来了加密后的 TS 分片和加密分片所需要的密钥。 写一个脚本以 m3u8 为索引一一解密出加密后的 TS 分片的原文件,再把 TS 拼接成完整的视频原文件。 似乎破解的难度也不会很复杂。

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

    流媒体加密

    一般结合这两种技术一起用,第1种技术很成熟也有很多教程就不再复述,本文主要介绍第2种加密技术。 流媒体加密技术原理 看视频分为两种,看点播和看录播。 加密流媒体的技术很少,也很难找到学习资料,本文主要介绍流媒体加密技术。 HLS 加密 HLS 是目前最成熟的支持流媒体加密的能应用在浏览器里的流媒体传输协议,HLS 原生支持加密,下面来详细介绍它。 k=2" #EXTINF:9.501, http://media.example.com/segment28.ts 这个文件描述了每个 TS 分片的 URL ,但这些分片都是加密后的内容,要还原出原内容需要从 第2步保存下来了加密后的 TS 分片和加密分片所需要的密钥。 写一个脚本以 m3u8 为索引一一解密出加密后的 TS 分片的原文件,再把 TS 拼接成完整的视频原文件。 似乎破解的难度也不会很复杂。

    5K101发布于 2018-01-08
  • 来自专栏海之滨云视频和流媒体技术

    Android流媒体开发之路三:基于NDK开发Android平台RTSP播放器

    基于NDK开发Android平台RTSP播放器 最近做了不少android端的开发,有推流、播放、直播、对讲等各种应用,做了RTMP、RTSP、HTTP-FLV、自定义等各种协议,还是有不少收获和心得的 我这边做,核心模块和核心代码部分,都是基于NDK,用C++开发的,然后将so动态库,在Android java环境中使用,这个既能保证核心部分的代码性能,也能最大程度复用之前写的流媒体相关的大量代码,实践证明 2. 编写程序主体的Android.mk文件程序主体,直接写Android.mk,代码和预编译条件,链接参数等自己都清楚,也很方面控制编译输出。 本人就曾经因为jni接口返回值,和代码实现时候的不对应,从而导致android app调用接口的时候异常退出 图片图片其中一个接口对应的JNI c语言代码是这样的:图片 2.在按照时间戳做播放队列的时候 同时在抛弃数据的时候,要考虑到关键帧的问题,也就是如果发生了抛帧,那么整个GOP的数据都应当放弃,除非是有冗余编码等编码技术,以此来避免花屏的情况,以及第2点列出的音视频同步问题。

    3.2K20编辑于 2023-04-06
  • 来自专栏编程进阶实战

    基于 .NET 开发的多功能流媒体管理控制平台

    前言 今天大姚给大家分享一个基于 .NET 开发且开源(MIT License)的多功能流媒体管理控制平台:AKStream。 项目介绍 AKStream是一个基于.NET开发且开源(MIT License)的、功能全面的流媒体管理控制平台,集成了GB28181、RTSP、RTMP、HTTP等设备的推拉流控制、PTZ控制、音视频文件录制管理 AKStream 优秀项目和框架精选 该项目已收录到C#/.NET/.NET Core优秀项目和框架精选中,关注优秀项目和框架精选能让你及时了解C#、.NET和.NET Core领域的最新动态和最佳实践,提高开发工作效率和质量

    45910编辑于 2024-12-06
  • 来自专栏流媒体技术

    Go语言实现的流媒体服务器开发框架

    FMS(全称Flash Media Server),到Red5(java语言开发),到CrtmpServer(C++开发),让我对流媒体服务器的基本原理有了深刻的认识。 综上所述,本人在吸收了以上诸多流媒体服务器的设计后,完成了Monibuca这款golang编写的流媒体开发框架的编写 受到vue渐进式思想的影响 vue渐进式框架的设计思想非常棒,那么是否可以用来设计流媒体服务器 ,使得流媒体服务器不只是一个服务器,而是一个开发框架,让开发者可以定制化自己的流媒体服务器呢? 房间的创建、查询、关闭 2. 订阅者的加入和移除 3. 发布者的进入和离开。 ::: tip 源码位置 订阅者定义位于monica/room.go中 ::: 流媒体服务器的核心是转发二字。 通讯协议建立的长连接对于一个goroutine 2. 每个房间拥有一个goroutine用于接收指令和转发音视频数据 3.

    2.3K21编辑于 2022-07-28
  • 来自专栏布谷科技

    直播系统开发搭建部署中的流媒体技术

    直播热潮尚未褪去,而直播系统开发究竟是如何实现的?能够支持直播一直火下去的直播系统开发究竟是怎么样的呢?直播的实现与直播系统开发中的流媒体是分不开的,想要知道如何实现直播,就要先了解流媒体。 什么是流媒体服务器? 流媒体服务器是流媒体应用的核心系统,是运营商向用户提供视频服务的关键平台。流媒体服务器的主要功能是对流媒体内容进行采集、缓存 、调度和传输播放。 (2流媒体服务器:用于控制、传送流媒体数据的流媒体服务器。向客户端响应流式连接(如RTMP/rtsp等),返回流媒体数据的服务程序即打包在RTMP等流式协议中的flv/ts等数据。 流媒体服务器直接承担流媒体数据的输出,是整个流媒体系统的核心,它的功能、性能、运行支撑能力直接决定了一个大型流媒体系统的健壮程度。 客户端从服务器接收到所需的流媒体数据后,播放器会对这些流媒体数据进行解协议、解封装、解码、音视频同步这几个环节。 直播系统开发技术的出现实现了直播,直播的发展必将带动直播系统开发技术的发展。

    1.5K50发布于 2019-09-19
  • 来自专栏DotNet NB && CloudNative

    基于 .NET 开发的多功能流媒体管理控制平台

    前言 今天大姚给大家分享一个基于 .NET 开发且开源(MIT License)的多功能流媒体管理控制平台:AKStream。 项目介绍 AKStream是一个基于.NET开发且开源(MIT License)的、功能全面的流媒体管理控制平台,集成了GB28181、RTSP、RTMP、HTTP等设备的推拉流控制、PTZ控制、音视频文件录制管理

    34610编辑于 2025-01-07
  • 来自专栏直播+

    视频直播源码开发中的流媒体协议:rtmp协议

    客户端必须接收到S1消息,然后发送C2消息。客户端必须接收到S2消息,然后发送其他数据。 服务端必须接收到C0或者C1消息,然后发送S0和S1消息。服务端必须接收到C1消息,然后发送S2消息。 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- C2和S2格式 C2和S2包长度为1536字节,作为C1和S1的回应,包含以下字段: 1234567891011121314 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+-+- 待接收到数据包,视频直播源码客户端发送C2包,服务器发送S2包。然后,双方都进入答复状态。客户端等待C2的答复,服务器等待S2的答复。 握手完成 视频直播源码客户端和服务器交换消息。

    96630发布于 2020-09-03
  • 来自专栏SRS开源服务器

    SRS2和主流流媒体服务器的比较

    Token Traverse Stable X X Stable X Performance Feature SRS NGINX CRTMPD FMS WOWZA Concurrency 7.5k 3k 2k 2k 3k RTMP Latency 0.1s 3s 3s 3s 3s HLS Latency 10s 30s X 30s 30s Stream Caster Feature SRS NGINX CRTMPD

    99020编辑于 2022-03-18
  • 来自专栏与技术

    流媒体第一篇-直播p2p设计

    直播p2p如何设计 p2p是一种社群的互助 p2p的意思是让数据不都从一台服务器拉留,对于直播公司来说就是想办法少给cdn钱,对于cdn厂商来说降低峰值什么的。 怎么p2p首先你要保证有人看你这个直播,看的人阅多越多的人之间才能共享。 保证质量与超级节点 首先要有一个能播的流,对于p2p来说设计上就是一个超级节点。其他节点都是普通的节点。

    1.8K20发布于 2018-06-27
  • 来自专栏音视频进阶之旅

    音视频开发(一)-流媒体数据传输RTSP

    针对音视频数据量大的特点,有一套专门的网络传输协议RTP/RTSP,它的运行流程是这样的: RTSP RTSP(Real Time Streaming Protocol)是一款网络控制协议,用来控制流媒体服务器的 play表示服务开始向请求端发送流媒体数据,pause表示停止。先贴上一篇文章,非常详细的讲解了rtsp的操作,没接触过的童鞋可以了解一些。 以下是客户端同流媒体服务器交互的完整示例,采用WireShark抓包(192.168.0.107->客户端,192.168.0.103->服务端,图片在网页上显示过小,需要保存到本地看): 图书中第二部分为 当PLAY命令发送后,就进入了第三部分RTP协议传输的流媒体数据包。 资料领取直通车:音视频开发&流媒体服务器资料文档+视频教程 音视频学习直通车:FFmpeg/WebRTC/RTMP/NDK/Android音视频流媒体高级开发 简单的rtsp交互过程:(C表示rtsp客户端

    1.2K30编辑于 2022-09-24
领券