自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 公网目前可用的RTMP、RTSP测试地址(2021年3月)

好多博客提到的公网可测试的RTSP和RTMP URL大多都不用了,以下是大牛直播SDK(Github)于2021年3月亲测可用的几个URL,有其他可用的URL,也欢迎大家在评论区回复。RTMP流地址目前可用的是湖南卫视:rtmp://58.200.131.2:1935/livetv/hunantv (720*576)RTSP流地址大熊兔(VOD):rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov (分辨率24

2021-03-17 16:03:54 14153 1

转载 如何实现Android端获取RTSP或RTMP流转推RTMP

技术背景最近不少开发者找到我们,他们在做智能家居等传统行业时,希望实现在Android板件拉取本地的RTSP或RTMP流,然后对外推送RTMP出去,亦或内部启个轻量级RTSP服务,提供个对外对接的媒介URL,简单来说,设计架构图如下:基于上诉诉求,我们以大牛直播SDK (官方)Android端的 SmartRelayDemoV2 工程为例,大概介绍下相关实现。整体设计1. 拉流:通过RTSP|RTMP直播播放SDK的数据回调接口,拿到音视频数据;2. 转推:通过RTMP直播推送SDK

2021-04-04 11:02:32 1190

转载 几款知名RTMP推流模块比较:OBS VS SmartPublisher VS Flash Media Live Encoder

OBS功能强大,几乎所有你想要的场景它都有,用起来很顺手。可以将桌面、摄像头、程序窗口通过rtmp推送到流媒体服务器上。当然如果你是开发者,想基于OBS做二次开发,实现二次产品化的化,难度比较大,OBS代码量很大,驾驭起来难度很大,有bug的话,跟踪起来很累。下载地址:OBS下载以下是官方介绍:What is OBS Studio?OBS Studio is software designed for capturing, compositing, encoding, recordi

2021-03-26 11:29:54 725

转载 Android播放器之SurfaceView与GLSurfaceView

先看SurfaceSurface的官方介绍:Handle onto a raw buffer that is being managed by the screen compositor,Surface是一个raw buffer的句柄,通过它在raw buffer上进行绘制,可以通过Surface获得一个Canvas。Canvas canvas = mSurface.lockCanvas(null);mSurface.unlockCanvasAndPost(canvas);SurfaceVi

2021-03-25 14:26:25 514

转载 浏览器播放RTSP视频流几种解决方案

方案一: H5 + websocket_rtsp_proxy 实现视频流直播Streamedian提供了一种“html5_rtsp_player + websock_rtsp_proxy”的技术方案,可以通过html5的video标签直接播放RTSP的视频流。整个架构如下图所示,分为服务器端和浏览器端两部分:方案二:RTSP转RTMP到RTMP服务器,转http-flv,播放端用flv.js播放flv.js在获取到FLV格式的音视频数据后将 FLV 文件流转码复用成 ISO BMFF(.

2021-03-25 14:20:22 4032 1

转载 几款好用播放器ijkplayer、vlc、SmartPlayer、ExoPlayer

ijkPlayerijkPlayer是BiliBili公司维护的一个开源工程,基于ffmpeg开发的一个播放器软件,支持Android和iOS平台,整个ijkplayer就是以ffplay为基础,如果只是使用它进行播放,集成也较为简单,使用也和MediaPlayer差不多,但是要定制化需求,就有一定的门槛高度。支持软硬编解码,支持倍速播放,可以定制化集成需要的功能,集成占用体积也很小,更详细的解释参看下面官方介绍:FeaturesCommon remove rarely used ffmpeg

2021-03-18 17:51:21 2954

原创 IE浏览器下实现低延迟播放RTSP或RTMP流

首先,虽然本文是介绍IE浏览器下OCX控件播放RTSP或RTMP,但这种方式并不推荐,毕竟它只能用于IE浏览器环境下,局限太大,而且随着微软IE浏览器的更新,不确定后续支持情况。当然,话说回来,如果是在特定的使用场景下,只需要某些版本IE浏览器支持,但对延迟和稳定性要求非常高,OCX控件方式也不失为一个好的选择。如果需要浏览器场景下有更好的兼容性,对于RTSP流来说,好多公司通常的做法是把RTSP转RTMP,然后分发到RTMP服务器,然后服务器转http-flv出来,浏览器直接播放http-flv流,或

2021-02-22 13:46:46 508

原创 如何实现Android平台Camera2接口RTMP推送

Camera2简介在Google 推出Android 5.0的时候, Android Camera API 版本升级到了API2(android.hardware.camera2), 之前使用的API1(android.hardware.camera)就被标为 Deprecated 了。Camera API2相较于API1有很大不同, 并且API2是为了配合HAL3进行使用的, API2有很多API1不支持的特性, 比如:更先进的API架构; 可以获取更多的帧(预览/拍照)信息以及手动控制每一

2021-02-03 17:27:17 302 1

原创 海康|大华网络摄像机RTSP URL格式组成及参数配置

经常有开发者咨询我们关于海康、大华网络摄像机RTSP url拼接规则和相关参数配置,虽然很简单,考虑到资料不全,写个博客记录下:1. 海康摄像机:在IE浏览器输入网络摄像机的IP地址,输入配置的用户名、密码,登陆:视频:1. 码率类型:主码流和子码流,主码流支持的分辨率比较高;2. 视频类型:如果是音视频都需要,选择“复合流”,如果只需要视频,选择“视频流”;3. 分辨率设置,不再赘述;4. 码率类型:变码率!!!定码率的话,码率过高;5. 图像质量:酌情设置;6.

2021-02-03 17:17:39 4139 4

原创 Windows平台摄像头或屏幕RTMP推送:OBS还是SmartPublisher

好多开发者问道,既然有了OBS,你们为什么还要开发SmartPublisher?的确,在我们进行Windows平台RTMP推送模块开发之前,市面上为数不多的Windows平台RTMP推流工具当属OBS了,不得不说,OBS是一款很好用的直播软件,它的优势在于,几乎可以直播所有直播平台,不需要每个直播平台都下载相关平台的专用直播软件,可以直播游戏,显示器,word,浏览器等。今天,我们以OBS和大牛直播SDK开发的SmartPublisher为例,就Windows平台RTMP推流工具,做个简单的比较:

2021-02-01 13:32:52 570

原创 内网无纸化同屏会议/智慧教室实时同屏RTSP组播技术方案思考

内网环境下,为了满足内网无纸化/电子教室等内网超低延迟需求,避免让用户配置单独的服务器,好多开发者希望有RTSP的技术方案,用于小并发场景,特别是在组网环境好的有线环境下,使用RTSP服务配合组播,是也是好多开发者考量的因素之一。鉴于此,大牛直播SDK(Github)发布了轻量级RTSP服务,废话不多说,先上架构图:轻量级RTSP服务功能支持[音频格式]AAC; [视频格式]H.264、H.265; [协议类型]RTSP; [传输模式]支持单播和组播模式; [端口设置]支持...

2021-02-01 13:25:58 496

原创 RTMP/RTSP推送端和RTMP/RTSP播放端录像设计要点

好多开发者认为,无论是RTSP/RTMP推送端还是RTSP/RTMP播放端,涉及到录像,只要2个接口足矣:开始录像、停止录像。实际场景下,一个好的录像模块,2个接口远远不够, 本文以大牛直播SDK(Github)RTSP/RTMP推送和RTSP/RTMP播放端扩展录像模块为例,介绍下一个好的录像模块,需要具备哪些基本功能属性。Android、iOS平台不再赘述,本文以Windows平台C#接口为例,先说推送端:1. 设置录像目录录像目录不必多解释,为了便于录像文件管理,设置指定的录像目录是基

2021-01-29 17:59:29 220

原创 Android平台RTMP|RTSP播放器开发系列之解码和绘制探讨

本文主要抛砖引玉,粗略介绍下Android平台RTMP/RTSP播放器中解码和绘制相关的部分(Github)。解码提到解码,大家都知道软硬解,甚至一些公司觉得硬解码已经足够通用,慢慢抛弃软解了,如果考虑到设备匹配,软硬解码都支持,是个不错的选择,为此,大牛直播SDK在开发这块的时候,分类是这样的:1. 软解码:解码后获取到原始数据,可进行后续的原始数据回调和快照等操作;2. 硬解码:解码后获取到原始数据,可进行后续的原始数据回调和快照等操作;3. 硬解码:设置surface模式,直接re

2021-01-29 13:11:25 200

原创 如何在Android平台实现低延迟的RTMP/RTSP录屏直播

许多开发者在做智慧教室同屏亦或会议同屏时,基于Andriod平台采集屏幕并编码推送,往往遇到各种各样的问题,以下就我们开发过程中的一些技术考量做个分享,权当抛砖引玉:协议选择、数据来源和处理1. 内网环境下,组播还是RTMP?回答:这个问题,被无数的开发者问到,为此,单独写了篇博客论证:https://blog.csdn.net/renhui1112/article/details/86741428,感兴趣的可以参考下,简单来说,能RTMP的,就RTMP,如果真是内网环境下,没有并发瓶颈的同屏,

2021-01-29 13:07:00 1502

转载 Windows平台实现真实时毫秒级4K H264/H265直播技术(硬编码技术方案)

背景在刚提出4K视频的时候,大多数人都觉得没有必要,4K的出现,意味着更高的硬件规格和传输要求,1080P看的很爽、很清晰,完全满足了日常的需求。随着电视的尺寸越来越大,原本1080P成像已经无法满足人们对于细节的极致追求,4K视频不仅成像更细腻,在细节处理上优势也非常明显,颜色也更亮丽、饱满,逼真,给人身临其境的感觉。4K视频具有高分辨率、宽色域、高动态范围等优势,随着5G技术和H.265(HEVC)编码标准的出炉,4K视频直播迎来了曙光。一张图解释4K VS 1080P1080pOfte

2021-01-28 10:10:50 2686

原创 Windows平台RTMP或RTSP播放器实现实时音量调节

为什么要做实时音量调节RTMP或RTSP直播播放音量调节,主要用于多实例(多窗口)播放场景下,比如同时播放4路RTMP或RTSP流,如果音频全部打开,几路audio同时打开,可能会影响用户体验,我们通用的做法是支持播放端实时静音,更细粒度的做法是可以实时调节每一路RTMP/RTSP流的音量。音量调节接口设计RTMP或RTSP直播播放端音量调节功能设计主要考虑到一点,和市面通用的本地播放器或点播播放器功能对齐(如VLC、PotPlayer等),音量可以实时调整即可,本文以大牛直播SDK的Windo

2021-01-26 10:20:07 195 1

原创 Android同屏or摄像头RTMP推送常用数据接口设计

前言好多开发者在调用Android平台RTMP推送或轻量级RTSP服务接口时,采集到的video数据类型多样化,如420sp、I420、yv12、nv21、rgb的,还有的拿到的图像是倒置的,如果开发者在上层转换后,传到底层编码处理,无疑加大了上层处理负担,而且容易因为低效率影响体验,本文以大牛直播SDK的Android平台RTMP推送SDK编码前video数据对接接口为例,看看常用的数据格式有哪些,相关资料,可参考Github:1.Android摄像头前后camera通过OnPreviewFr..

2021-01-26 10:09:34 136

原创 如何在Flutter下实现低延迟RTSP或RTMP播放

为什么要用Flutter?Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的。Flutter有哪些与众不同1. Beautiful - Flutter 允许你控制屏幕上的每一寸像素,这让「设计」不用再对「实现」妥协;2. Fast - 一个应用不卡顿的标准是什么,你可能会说 16ms 抑或是 60fps,这对桌面

2020-06-30 13:02:28 1383

原创 如何实现Unity3D下的RTMP推送(Windows平台为例)

好多开发者提到,苦于很难在unity3d下实现RTMP直播推送,本次以大牛直播SDK(Github)的Windows平台RTMP推送模块(以推摄像头为例,如需推屏幕数据,设置相关参数即可)为例,介绍下unity3d的RTMP推送集成。简单来说,Unity3D环境下,可以直接调用C#的接口封装,针对此,我们先做了一层封装(nt_publisher_wrapper.cs),核心代码如下:初始化和基础参数设置: private bool InitSDK() { .

2020-06-30 12:18:55 1587 3

原创 内网无纸化会议/智慧教室/实时同屏场景下,到底组播还是RTMP?

好多开发者就内网无纸化或电子教室场景下,到底用组播还是RTMP方案头大,本文做个简单的对比分析。一、背景为满足内网无纸化/电子教室等内网超低延迟需求,避免让用户配置单独的服务器,我们研发了轻量级RTSP服务开发包。单播不再赘述,这里重点介绍下我们的组播技术方案:组播解决的主要痛点是服务器部署和带宽占用问题,一般来说,内网电子教室/无纸化/实时同屏场景用RTMP推送+RTMP服务器,然后其他端从服务器拉取RTMP流,这个方案的劣势在于,如果单独部署服务器,需要额外的机器,增加了成本开销,如果教

2020-06-20 13:42:50 630 1

原创 RTMP推送端如何实时调整采集端音量

好多开发者提到,有些Windows机器或Android手机采集麦克风的音频,过小或过大,一般过小居多,还有就是,混音的时候,希望背景音音量大小可实时调整,针对这种情况,大牛直播SDK(Github)做了如下的设计:1. Windows平台推送端(以C#为例): /* *设置输入音量, 这个接口一般不建议调用, 在一些特殊情况下可能会用, 一般不建议放大音量 *index: 一般是0和1, 如果没有混音的只用0, 有混音的话, 0,1分别设置音量 *volume: 音量,默认是1.0,范

2020-06-20 13:32:52 459

原创 如何设计一款跨平台低延迟的RTMP/RTSP直播播放器

开发背景很多音视频开发者问我们,为什么要做这块,实际上是这样的,2015年,当我们试图在市面上找一款专供直播播放使用的低延迟播放器,来配合测试我们的RTMP推送模块使用时,居然发现没有一款好用的,市面上的,如VLC或Vitamio,说白了都是基于FFMPEG,在点播这块支持格式很多,也非常优异,但是直播这块,特别是RTMP,延迟要几秒钟,对如纯音频、纯视频播放,快速启播、网络异常状态处理、集成...

2020-03-01 19:14:37 787

原创 流媒体直播播放三大件PK:RTMP/HLS/HTTP-FLV

1、RTMP:实时消息传输协议,Real Time Messaging Protocol,是 Adobe Systems 公司为 Flash 播放器和服务器之间音频、视频和数据传输开发的开放协议。协议基于 TCP,是一个协议族,包括 RTMP 基本协议及 RTMPT/RTMPS/RTMPE 等多种变种。RTMP 是一种设计用来进行实时数据通信的网络协议,主要用来在 Flash/AIR 平台...

2020-02-08 20:20:46 2627

原创 RTSP协议和服务端与客户端交互流程

Real Time Streaming Protocol或者RTSP(实时流媒体协议),是由Real network 和 Netscape共同提出的如何有效地在IP网络上传输流媒体数据的应用层协议。RTSP提供一种可扩展的框架,使能够提供可控制的,按需传输实时数据,比如音频和视频文件。RTSP对流媒体提供了诸如暂停,快进等控制,而它本身并不传输数据,rtsp作用相当于流媒体服务器的远程控制。...

2020-02-08 19:43:55 818

原创 RTSP、RTMP、HTTP流媒体播放器比较

播放网络视频或RTSP、RTMP直播流,通常解析库我们可以有多个选择 FFMPEG,daniulive播放或者 vitamio。什么FFMPEG?官网地址:地址FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了...

2020-02-08 17:13:05 2897

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除