首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏RTSP/RTMP直播相关

    iOS平台如何实现RTSP|RTMP播放端录像?

    ​技术背景我们在做RTSP、RTMP直播播放器的时候,有个比较重要的功能,就是拉流端实时录像,包括设置单个录像文件大小、文件前缀、audio转AAC、只录制视频或只录制音频、开始录像、停止录像事件状态回调等 我们录像模块,覆盖了RTMP、轻量级RTSP服务、RTSP|RTMP播放端录像,平台覆盖了Windows、Linux、Android、iOS,主要功能设计如下: [拉流]支持拉取RTSP流录像; [拉流 ]支持拉取RTMP流录像; [推流端录像]支持RTMP|RTSP推送端同步录像; [轻量级RTSP服务录像]支持轻量级RTSP服务SDK同步录像; [推流端录像实时暂停/恢复]支持推送端录像过程中实时暂停录像 技术实现本文以大牛直播SDK的iOS平台拉流端录像为例,大概介绍下相关接口的设计,废话不多说,先上代码:- (void)RecorderBtn:(UIButton *)button { NSLog 播放端录像,我们的设计,是播放和录像分离,可以只录像或只播放,如果同时录像和播放,只需要一个拉流实例来完成。​

    67400编辑于 2024-02-11
  • 来自专栏RTSP/RTMP直播相关

    iOS平台RTSP|RTMP直播播放器技术接入说明

    无需赘述,全自研内核,行业内一致认可的跨平台RTSP、RTMP直播播放器。本文以iOS平台为例,介绍下如何集成RTSP、RTMP播放模块。 (添加后台播放权限):功能支持iOS端,RTMP|RTSP直播播放,我们设计实现的功能如下:音频:AAC/PCMA/PCMU/SPEEX(RTMP);视频:H.264;播放协议:RTMP或RTSP;支持纯音频 扩展H.265播放(Enhanced RTMP);支持扩展录像功能;支持Unity3D接口;支持H.264扩展SEI接收模块;支持iOS 9.0及以上版本。 播放录像SDK和播放端SDK可组合使用,相关Event同步更新在iOS播放端SDK(如下图):iOS播放端SDK Event回调说明事件ID事件描述EVENT_DANIULIVE_ERC_PLAYER_STARTED 由于设备和系统比较单一,优先考虑硬解码,除了基础播放外,我们还实现了实时快照、实时录像、实时回调YUV数据、实时音量调节等,实际体验下来,iOS平台RTMP和RTSP,可以轻松毫秒级。​

    1K10编辑于 2024-09-19
  • 来自专栏EasyNVR

    网页可以播放RTMP视频流?支持RTMP的网页播放

    我们知道多数监控摄像头都是支持RTMP协议的,当然公安部的摄像头是支持GB28181协议的,这个我们在本文不做过多赘述,我们来探讨一下网页播放RTMP视频流的播放器。 ? ? 网页可以播放RTMP视频流吗?当然是可以的,但是对于PC端来说,网页播放RTMP流媒体视频流将会承受更多的服务器压力,满足网页播放RTMP视频流有哪些要求,下文我们一起来看一下。 1.便捷。 跨平台支持PC端、安卓端、iOS端等主流终端; 3.易用。无须安装任何自有插件、监控APP等,减少资源消耗; 4.无限制。对接自有流媒体服务器平台,不限制观看人数。 我们研发的流媒体服务器自身支持对成功接入的摄像机实时视频进行7*24h录像,支持录像的检索与回放,并且支持网络硬盘录像机NVR按设备、通道、日期获取对应录像文件进行录像的检索与回放,无需安装各个安防厂商的视频播放插件 本文已经为大家介绍完毕啦,结论就是网页是能够播放RTMP视频流的,如果想体验网页播放RTMP视频流的流媒体服务器或者播放器,可以继续关注本栏目。

    7.9K20发布于 2020-05-04
  • 来自专栏技术综合

    Electron播放rtmp直播流

    方法一 直接转flv吧 方法二 使用flash 示例代码 如果直接前端放rtmp直播流, 则需要有flash, 而Chrome已经不再支持flash了, 所以得借助flash插件 1659969197107 搭环境 使用 vue-cli5 + vue-cli-plugin-electron-builder搭建, 具体看插件文档 播放器使用vue-video-player组件和videojs-flash插件 配置播放器 可以通过navigator.plugins来看flash插件有没有引入成功 image.png 然后引入组件, 配置直播流即可 <template> <div class="container /mp4', src: '<em>rtmp</em>://127.0.0.1/live/test', }], techOrder: ['flash', 'html5'] , poster: '', notSupportedMessage: '服务错误', //允许覆盖Video.js无法<em>播放</em>媒体源时显示的默认信息。

    6.3K30编辑于 2022-09-21
  • 来自专栏RTSP/RTMP直播相关

    iOS平台如何实现毫秒级延迟的RTMP|RTSP播放

    ​技术背景在我的blog里面,最近很少有提到iOS平台RTMP推送|轻量级RTSP服务和RTMP|RTSP直播播放模块,实际上,我们在2016年就发布了iOS平台直播推拉流、转发模块,只是因为传统行业, 对iOS的需求比较少,所以一直没单独说明,本文主要介绍下,如何在iOS平台播放RTMP或RTSP流。 技术实现先说播放实现,iOS端,RTMP|RTSP直播播放,我们实现的功能如下: [支持播放协议]高稳定、超低延迟(毫秒级) [多实例播放]支持多实例播放; [事件回调]支持网络状态、buffer状态等回调 Windows/Android/iOS支持特定机型H.264硬解; [H.265硬解]Windows/Android/iOS支持特定机型H.265硬解; [H.264/H.265硬解码]Android支持设置 平台播放,由于设备和系统比较单一,所以优先考虑硬解码,除了基础播放外,我们还实现了实时快照、实时录像、实时回调YUV数据、实时音量调节等,实际体验下来,iOS平台RTMP和RTSP,可以轻松毫秒级,感兴趣的开发者

    1K10编辑于 2024-02-06
  • 来自专栏音视频直播技术专家

    RTMP播放流媒体过程

    前言 RTMP协议规定,播放一个流媒体需要执行以下几个步骤: 建立一个网络连接(NetConnection),网络连接代表RTMP服务器端和客户端之间建立真正的网络连接。 播放网络流 在RTMP服务器端对于每一个网络媒体流都建立了一个状态机,包括以下几个状态: 握手态; 连接态; 媒体流已建立态; 播放态; RTMP通过命令来变更状态机。并在每个状态下做相应的工作。 播放(Play) 客户端发送消息“播放”(play)到服务器。 接收到“播放”消息后,服务器发送设置块大小(ChunkSize)消息。 服务器发消息“streambegin”,告知客户端流ID。 之后,服务器发送客户端要播放的音频和视频数据。 ? 小结 以上就是 RTMP协议的播放过程。建立一个网络流的播放就是以下这几步。 握手; 连接; 建立网络流; 播放; 目前,已经有很多开源库实现了 RTMP 协议。其中比较著名的是 librtmp 库,它是 rtmpdump 工具的一部分。

    1.8K20发布于 2020-04-02
  • 来自专栏RTSP/RTMP直播相关

    如何在RTMP推送端和RTMP播放端支持Enhanced RTMP H.265(HEVC)

    技术实现本文以大牛直播SDK的Windows平台RTMP直播推送和RTMP直播播放模块为例,考虑到老的扩展CodecID 12的场景依然使用,我们添加了个设置接口:RTMP推送端,对应文件为SmartPublisherSDK 0:enable*/NT_UINT32(NT_API *DisableEnhancedRTMP)(NT_HANDLE handle, NT_INT32 value);RTMP播放端,对应文件为SmartPlayerSDK = dts)*p |= 1;else*p |= 3; p++; *p++ = 'h';*p++ = 'v';*p++ = 'c';*p++ = '1'; //....RTMP播放端,对应的sample判断代码如下 推流URL,实现Enhanced RTMP推送,播放端拉流播放,整体延迟如下:可以看到,尽管开启了Enhanced RTMP,整体延迟还在毫秒级。 技术总结鉴于目前RTMP扩展265这块,大多还是用的老的CodecID设置为12的模式,如果需要支持新的Enhanced RTMP,除了推送端和播放端外,RTMP服务端也需要做响应的调整,来适配这种情况

    1.1K10编辑于 2024-03-05
  • 来自专栏LiteMedia

    RTMP流媒体服务器LiteCVR支持在iOS播放WebRTC低延时视频流

    众所周知,iOS系统支持HLS流,但是HLS流延时高,无法满足实时流的要求;而WebRTC播放延时低,因此,很多用户希望能在iOS系统上播放Webrtc视频流。 RTMP流媒体服务器LiteCVR视频监控平台基于云边端一体化架构,具有强大的数据接入、处理及分发能力,平台支持海量视频汇聚管理,支持分发多类型的视频流,包括RTSP、RTMP、HTTP-FLV、WS-FLV 用户可以在iOS系统集成我们的播放器,就能实现LiteCVR平台分发的Webrtc流在iOS系统播放。 但是需要注意以下两点:1)平台分发的webrtc流为非按需直播模式;2)在iOS系统上集成LitePlayer.js播放器。

    50820编辑于 2023-10-25
  • 来自专栏RTSP/RTMP直播相关

    RTMP播放器开发填坑之道

    好多开发者提到,在目前开源播放器如此泛滥的情况下,为什么还需要做自研框架的RTMP播放器,自研和开源播放器,到底好在哪些方面?以下大概聊聊我们的一点经验,感兴趣的,可以关注 github: 1. 低延迟:大多数RTMP播放都面向直播场景,如果延迟过大,严重影响体验,所以,低延迟是衡量一个好的RTMP播放器非常重要的指标,目前大牛直播SDK的RTMP直播播放延迟比开源播放器更优异(大牛直播SDK 支持多实例:大牛直播SDK提供的RTMP直播播放SDK支持在设备性能允许的情况下,支持多实例播放RTMP流数据,大多开源播放器对多实例支持不太友好; 除了常规的多实例外,比如大屏监控场景下,尽管我们CPU 实时静音:比如,多窗口播放RTMP流,如果每个audio都播放出来,体验非常不好,所以实时静音功能非常必要,开源播放器不具备实时静音功能; 6. 长期运行稳定性:大牛直播SDK提供的RTMP直播播放SDK适用于长时间运行,开源播放器对长时间运行稳定性支持较差; 11.

    2.7K30发布于 2021-03-15
  • 来自专栏RTSP/RTMP直播相关

    Unity环境下RTMP推流+RTMP播放低延迟解决方案

    在本文之前,我们发布了Unity环境下的RTMP推流(Windows平台+Android平台)和RTMP|RTSP拉流(Windows平台+Android平台+iOS平台)低延迟的解决方案,今天做个整体汇总 Unity环境下RTMP|RTSP播放器 Unity环境下RTMP或RTSP直播播放我们前几年就有发布,并已应用在好多传统行业领域,比如教育或工业仿真或一些低延迟的控制场景。 多实例支持:播放端和推送不一样,比如智慧城市,播放端有多路场景,所以多实例支持是必备功能,多实例环境下,需要能有好的区分event状态回调等; 2. 相关博客: Windows平台Unity3d下如何同时播放多路RTSP或RTMP流 https://cloud.tencent.com/developer/article/1800633 如何在Unity3d 平台下低延迟播放RTMP或RTSP流 https://cloud.tencent.com/developer/article/1592731

    4.2K10发布于 2021-06-15
  • 来自专栏RTSP/RTMP直播相关

    RTSP|RTMP播放器如何实时调节播放音量?

    ,我们可能无法直接通过播放器控制音量,这时候,可以使用操作系统的全局音频控制来调节RTSP或RTMP播放器的音量。 当你调整系统音量时,所有正在播放音频的应用程序(包括 RTMP 播放器)的音量也会相应地改变。 无论你使用哪种操作系统,都可以享受到 VLC 带来的强大播放功能。移动平台:此外,VLC 也有适用于移动平台的版本,如 Android 和 iOS。 SmartPlayerSmartPlayer是大牛直播SDK旗下的跨平台(支持Windows、Linux(x64_64架构|aarch64)、Android、iOS平台)、功能完善、性能优异、毫秒级超低延迟 (可达150-300ms延迟)的RTSP、RTMP播放器,以下是其主要功能列表:播放协议支持: 广泛的流媒体协议:支持 RTMP、RTSP 等主流直播流媒体协议,可播放相应协议的直播视频流,适用于多种直播场景

    2K10编辑于 2024-09-29
  • 来自专栏音视频直播技术专家

    iOS音频播放(一)

    iOS下的音频播放实现有了一定的研究。 本篇为《iOS音频播放》系列的第一篇,主要将对iOS下实现音频播放的方法进行概述。 基础 先来简单了解一下一些基础的音频知识。 ] iOS音频播放概述 了解了基础概念之后我们就可以列出一个经典的音频播放流程(以MP3为例): 读取MP3文件 解析采样率、码率、时长等信息,分离MP3中的音频帧 对分离出来的音频帧解码得到PCM数据 对PCM数据进行音效处理(均衡器、混响器等,非必须) 把PCM数据解码成音频信号 把音频信号交给硬件播放 重复1-6步直到播放完成 在iOS系统中apple对上述的流程进行了封装并提供了不同层次的接口 下篇预告 下一篇将讲述iOS音频播放中必须面对的难(da)题(keng),AudioSession。

    2.6K21发布于 2020-04-02
  • 来自专栏RTSP/RTMP直播相关

    Windows平台RTMP播放器RTSP播放播放窗口添加OSD文字叠加

    好多开发者在做Windows平台特别是单屏多画面显示时,希望像监控摄像机一样,可以在播放画面添加OSD台标,以实现字符叠加效果,大多开发者可很轻松的实现以上效果,针对此,本文以大牛直播SDK (Github )的Windows平台demo为例,简单介绍下具体实现: Windows平台RTMP播放器、RTSP播放器C++ demo Windows平台C++的demo,以录像过程为例,动态在左上角显示个闪动的图标 data_.swap(buffer); } bitmap.UnlockBits(&locked_bitmapData); } return logo_image; } Windows平台RTMP 播放器、RTSP播放器C# demo Windows平台C#的demo,添加了“设置台标”选择框,在player窗口左上角显示“叠加字符展示”,具体内容、坐标可自定义,具体效果如下: 添加osd.png

    3K50发布于 2021-03-01
  • 来自专栏RTSP/RTMP直播相关

    Windows平台RTSP播放器、RTMP播放器几点设计细节讨论

    我们在实现Windows平台RTSP播放器或RTMP播放器的时候,需要考虑的点很多,比如多实例设计、多绘制模式兼容、软硬解码支持、快照、RTSP下TCP-UDP自动切换等,以下就其中几个方面,做个大概的探讨 视频绘制模式 我们在实现Windows平台播放的时候,一般首选D3D,D3D不支持的情况下,考虑数据回上来,采用GDI模式,一般实现如下,先做D3D检测,以大牛直播SDK播放端为例(Github),调用 实时快照 实时快照功能不表,是一个好的RTSP播放器和RTMP播放器必备的功能,实时快照是把解码后的yuv数据重新编码成png,所以有一定的CPU消耗,不建议过于频繁操作,具体实现如下: set_capture_image_call_back_(result, image_name); } } 后续,我们将针对RTSP和RTMP 播放器设计过程中的其他点,做更进一步的探讨,谢谢大家的关注。

    1.9K00发布于 2020-06-07
  • 来自专栏RTSP/RTMP直播相关

    RTMP播放器延迟最低可以做到多少?

    ​技术背景RTMP播放器的延迟可以受到多种因素的影响,包括网络状况、推流设置、播放器配置以及CDN分发等。因此,RTMP播放器的延迟并不是一个固定的数值,而是可以在一定范围内变化的。 正常情况下,网上大多看到的,针对RTMP播放器的延迟在2秒到3秒左右。这是基于RTMP协议本身的特性和一般的推流、播放设置所得出的结论。 然而,当网络状况不佳、推流设置不当或播放器配置不合理时,延迟可能会增加。具体来说,RTMP播放器的延迟可能受到以下因素的影响:网络状况:网络延迟和丢包是影响RTMP播放器延迟的重要因素。 经过持续迭代后的SmartPlayer,早已脱胎换骨,Windows、Linux(含x86_64|aarch64)、Android、iOS全平台支持。 PCMA/PCMU/Speex; [H.264/H.265软解码]支持H.264/H.265软解; [H.264硬解码]Windows/Android/iOS支持特定机型H.264硬解; [H.265硬解

    1.2K10编辑于 2024-09-08
  • 来自专栏移动端开发

    iOS 视频播放方式整理

    iOS的视频播放方式有几种? 最原始的播放 ----       要不是刚接触iOS开发的同学应该是知道MediaPlayer这个框架的,要是想简单的使用它播放视频,可能几行代码就能搞定了,它里面有一个MPMoviePlayerViewController 不过遗憾的是自从iOS 9.0开始,它是被Apple遗弃了的,9.0之后的项目建议用的我们下面再说,你要是有维护9.0之前的项目,可能它你也有必要了解一下,我们也介绍一个它的基本的使用,以及它里面的整个播放的代码逻辑 我们自定义的那些播放时候的控件就是添加在它上面的,比如我们能看到的播放按钮,停止按钮,或者播放进度条等等。       AVPlayer 控制视频, 播放, 暂停, 跳转 等等。 播放过程中获取缓冲进度,获取播放进度。 视频播放完成后做些什么,是暂停还是循环播放,还是获取最后一帧图像。      

    3.3K100发布于 2018-02-06
  • 来自专栏落影的专栏

    iOS在线音频流播放

    前言 这是一篇关于在线音频播放的文章,参考自苹果OS X的demo。 在移植到iOS后,可以通过iphone播放Mac上面的音频,实现在线播放音频的功能。 servers是OS X的应用,作为服务端,负责发送音频流数据; client是iOS的应用,作为客户端,负责接收音频流数据; 音频数据通过AudioFileStream转换后,调用AudioQueue server是服务端,运行在OS X 有binary和app两种方式 binary需要编译完之后,找到二进制所在的目录,在其目录下放对应的音频文件; app打开,保持运行; client是客户端,运行在iOS 1、在getHostName处需要修改为OS X的ip地址; 2、iOS和OS X需要处于同一局域网; 3、clietn未播放完结束,会导致server关闭; 总结 这个demo很有意思:用到很多知识点 和AAC码流) HLS推流的实现(iOS和OS X系统)

    3.6K30发布于 2018-04-27
  • 来自专栏晓月寒·

    搭建直播系统并实现h5播放rtmp

    [1594282941784.png] 使用video.js在h5播放rtmp 使用obs推流,推流地址可以填写rtmp://ip:9999/myapp或者rtmp://ip:9999/live,如果用的时 rtmp://ip:9999/myapp,在h5端播放的时候会涉及到h5播放rtmp协议的问题,h5安装vide.js之后还要额外安装videojs-flash插件。 rtmp时依赖flash播放器,所以要打开flash,这样就解决了pc端rtmp协议直播流的问题。 但问题是现在流行的时移动端直播,而苹果就没支持过flash播放器,所以目前正常方法解决不了在移动端使用rtmp协议拉流的问题。 可以用ffmpeg 转成http://ip:9999/live/room1.m3u8实现全平台播放了。

    8.8K20发布于 2020-07-09
  • 来自专栏RTSP/RTMP直播相关

    Android平台如何实现多路低延迟RTSP|RTMP播放

    技术背景 实际上,我们在2015年做Android平台RTSP、RTMP播放模块的时候,第一版就支持了多实例播放,因为SDK设计比较灵活,做个简单的player实例封装即可实现多实例播放(Android Unity的就有多路demo),所以官方一直没有正式demo,本次也是有个开发者提到,希望测试下我们多路播放的效果,自己又不想做封装,索性给做个版本。 技术实现 废话不多说,先上图: 我们针对的功能展示,主要是播放和录像这块,先说播放: /* * SmartPlayer.java * Author: daniusdk.com * Created StopPlayer failed.."); return; } stream_player_1_.try_release(); btn_playback1.setText("开始播放 、录像的演示,除此之外,大牛直播SDK的RTSP、RTMP播放器海康实现播放缓冲设置、软硬解码设置、实时快照、实时音量调节、实时解码后数据回调等。

    43800编辑于 2024-07-16
  • 来自专栏码客

    iOS后台播放声音

    设置后台播放 1.Info.plist添加配置 <key>UIBackgroundModes</key> <array> <string>audio</string> </array> ---- 或者在项目的图形化配置界面的 session.setActive(true) try session.setCategory(AVAudioSessionCategoryPlayback) }catch{ } 后台一直播放音乐 上面的代码虽然可以实现后台播放,但是只要播放完毕还是会进入挂起状态,语音播放就停了 一个比较原始的解决方法是用另一个播放器不停播放空音乐就行了,虽然方法很原始,但是有些地方只能这样解决 //定义全局变量 ; //后台播放音乐方法 func playBackgroundMusic(){ let musicPath = NSBundle.mainBundle().pathForResource("

    2.2K10发布于 2019-10-22
领券