首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android平台RTSP|RTMP播放器(SmartPlayer)集成必读

自行绘制模式SmartPlayerSetHWRenderMode此种模式下,硬解码兼容性和效率更好,回调YUV/RGB、快照和图像等比例缩放功能将不可用更新硬解码surfaceSmartPlayerUpdateHWRenderSurface...,超低延迟播放模式下,延迟可达到200~400ms快速切换URLSmartPlayerSwitchPlaybackUrl快速切换播放url,快速切换时,只换播放source部分,适用于不同数据流之间,快速切换...对于RTSP来说,有些可能支持rtp over udp方式,有些可能支持使用rtp over tcp方式为了方便使用,有些场景下可以开启自动尝试切换开关, 打开后如果udp无法播放,sdk会自动尝试tcp..., 如果tcp方式播放不了,sdk会自动尝试udp.设置RTSP用户名和密码SetRTSPAuthenticationInfo如果RTSP URL已包含用户名和密码, 此接口设置的用户名和密码将无效..../RTSP url开始播放SmartPlayerStartPlay开始播放RTSP/RTMP流停止播放SmartPlayerStopPlay停止播放RTSP/RTMP流关闭播放实例SmartPlayerClose

30810

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

在本文之前,我们发布了Unity环境下的RTMP推流(Windows平台+Android平台)和RTMP|RTSP拉流(Windows平台+Android平台+iOS平台)低延迟的解决方案,今天做个整体汇总...Unity环境下RTMP推流 Unity环境下,不管是camera还是窗体数据也好,主要是高效率的拿到原始数据,采集端可用的数据格式是RGB的,拿到之后,通过高效率的数据传递,发给封装后的原生SDK,完成数据编码和...Native RTSP或RTSP直播播放SDK回调RGB/YUV420/NV12等其中的一种未压缩的图像格式; 2....Unity3D创建相应的RGB/YUV420等Shader; 3.Unity3D从各个平台获取图像数据来填充纹理即可; 需要注意的有几点: 1....平台下低延迟播放RTMP或RTSP流 https://cloud.tencent.com/developer/article/1592731

3.7K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    RTSP协议探究和RTSP播放器技术实现

    一、协议基础定义与目的:RTSP建立并控制一个或多个时间同步流,尽管交错(interleaving)媒体流和控制流是可行的,但RTSP通常不直接参与数据传送,而是作为“网络远程控制”功能存在。...三、协议功能播放控制:客户端可以通过RTSP命令控制媒体流的播放,如播放、暂停、停止、快进和快退等。...媒体描述:RTSP支持通过DESCRIBE方法从服务器获取媒体流的描述信息,通常使用SDP(Session Description Protocol)格式。...为了方便使用,有些场景下可以开启自动尝试切换开关, 打开后如果udp无法播放,sdk会自动尝试tcp, 如果tcp方式播放不了,sdk会自动尝试udp, is_auto_switch_tcp_udp:...,如填充整个绘制窗口、等比例填充绘制窗口,如不设置,默认填充整个绘制窗口;开始播放NT_SP_StartPlay开始播放RTMP或RTSP流数据。

    38210

    Android平台RTMP|RTSP直播播放器功能进阶探讨

    带着这样的疑惑,我们今天聊聊Android平台RTMP、RTSP播放器常规功能,如软硬解码设置、实时音量调节、实时快照、实时录像、视频view翻转和旋转、画面填充模式设定、解码后YUV、RGB数据回调等...:图片延迟延迟延迟RTMP或RTSP直播播放器,特别是在一些交互场景下,对延迟要求近乎苛刻,所以,毫秒级的延迟,是一个直播播放器聊下去的基础,200-400ms的整体时延,是大家比较期望的,是的,你没看错...软硬解码设置Android平台特别是超过1080p的分辨率的流数据,如果设备性能一般,软解效率不一定高,这时候建议硬解码,硬解码我们分两种,一种是设置surface模式的硬解码,这种无法快照和回调yuv...UDP模式选项,如果连上RTSP服务,但是收不到数据,通过RTSP timeout时间来设置重连尝试间隔:/** * 设置RTSP TCP/UDP模式(默认UDP模式) * * @param handle...,RTMP或RTSP播放器,还需要支持的客制化功能有支持回调H.264/H.265/AAC数据,或回到解码后的YUV或RGB数据,设置播放缓冲、设置快速播放、设置音频输出类型等,一个通用的RTSP、RTMP

    73520

    Windows平台RTSP|RTMP播放端SDK集成说明

    } NT_SP_SetVideoFrameCallBackV2:设置YUV/RGB32数据回调,与NT_SP_SetVideoFrameCallBack接口的不同在于,吐出来的视频数据, 可以指定宽高...播放出声音时使用。...为了方便使用,有些场景下可以开启自动尝试切换开关, 打开后如果udp无法播放,sdk会自动尝试tcp, 如果tcp方式播放不了,sdk会自动尝试udp, is_auto_switch_tcp_udp:...,如填充整个绘制窗口、等比例填充绘制窗口,如不设置,默认填充整个绘制窗口; 2.4.11 开始播放 NT_SP_StartPlay 开始播放RTMP或RTSP流数据。...:设置录像文件名生成规则 NT_SP_SetRecorderCallBack:设置录像回调接口 NT_SP_SetRecorderAudioTranscodeAAC:设置录像时音频转AAC编码的开关,

    97900

    庖丁解牛之-Android平台RTSP|RTMP播放器设计

    注意:比如一个实例既可以实现播放,又可同时录像,亦或拉流(转发),这种情况下,调Close()接口时,需要确保录像、拉流都正常停止后,再调用。...视频view旋转、水平|垂直翻转 接口主要用于,比如原始的视频倒置等场景下,设备端无法调整时,通过播放端完成图像的正常角度播放。...拉流回调编码后的数据(配合转发模块使用) 拉流回调编码后的数据,主要是为了配合转发模块使用,比如拉取rtsp流数据,直接转RTMP推送到RTMP服务。.../* * 设置拉流时音频转AAC编码的开关 * * @param handle: return value from SmartPlayerOpen() * * aac比较通用,sdk...设置回调解码后YUV、RGB数据 如需对解码后的yuv或rgb数据,进行二次处理,如人脸识别等,可以通回调yuv rgb接口实现数据二次处理。

    52240

    Windows平台快速集成RTSPRTMP直播播放能力

    为了方便使用,有些场景下可以开启自动尝试切换开关, 打开后如果udp无法播放,sdk会自动尝试tcp, 如果tcp方式播放不了,sdk会自动尝试udp, is_auto_switch_tcp_udp:...拉流端快照(实时调用) 实时快照功能不表,是一个好的RTSP播放器和RTMP播放器必备的功能,实时快照是把解码后的yuv数据重新编码成png,所以有一定的CPU消耗,不建议过于频繁操作。...NT_SP_CaptureImage:捕获图片 13 RTMP/RTSP拉流端快速切换URL(实时调用) NT_SP_SwitchURL:切换URL,其中:switch_pos: 切换到新url以后,设置的播放位置...如填充整个绘制窗口、等比例填充绘制窗口,如不设置,默认填充整个绘制窗口 * handle: 播放句柄 * mode: 0: 填充整个绘制窗口; 1: 等比例填充绘制窗口.../* *拉流吐视频数据时,一些相关的数据 */ [StructLayoutAttribute(LayoutKind.Sequential)] public struct

    2.1K00

    Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

    VLC for Android是一个开源的媒体播放器,它支持多种格式,包括RTSP流。...测试VLC功能在设备上打开VLC应用,并尝试播放一些音频或视频文件,特别是RTSP流等流媒体内容。确保音频和视频播放正常,没有崩溃或错误发生。...VLC的Android版本可能不包含桌面版本的所有功能,因此在集成时需要仔细评估所需功能是否可用。2....这个MediaSource将负责使用FFmpeg来拉取和解码RTSP流,并将解码后的数据(通常是PCM音频和YUV或RGB视频帧)传递给ExoPlayer的渲染器。...视频view旋转: 好多摄像头由于安装限制,导致图像倒置,所以一个好的RTSP播放器应该支持如视频view实时旋转(0° 90° 180° 270°)、水平反转、垂直反转,开源或第三方播放器不具备此功能

    1.4K10

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

    Mediacodec自行绘制模式 SmartPlayerSetHWRenderMode 此种模式下,硬解码兼容性和效率更好,回调YUV/RGB、快照和图像等比例缩放功能将不可用 更新硬解码surface...,超低延迟播放模式下,延迟可达到200~400ms 快速切换URL SmartPlayerSwitchPlaybackUrl 快速切换播放url,快速切换时,只换播放source部分,适用于不同数据流之间...对于RTSP来说,有些可能支持rtp over udp方式,有些可能支持使用rtp over tcp方式 为了方便使用,有些场景下可以开启自动尝试切换开关, 打开后如果udp无法播放,sdk会自动尝试...实时静音 SmartPlayerSetMute 实时静音 设置播放音量 SmartPlayerSetAudioVolume 播放端音量实时调节,范围[0,100],0时为静音,100为原始流数据最大音量.../RTSP url 开始播放 SmartPlayerStartPlay 开始播放RTSP/RTMP流 停止播放 SmartPlayerStopPlay 停止播放RTSP/RTMP流 关闭播放实例

    35510

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

    ;支持视频view实时旋转(0° 90° 180° 270°);支持视频view水平反转、垂直反转;支持图像等比例缩放绘制;支持实时快照;支持实时音量调节;支持YUV数据回调;支持H.264|H.265...回调SmartPlayerSetYuvBlock设置拉流时,视频YUV数据回调YUV回调PlayerYuvDataBlock提供解码后YUV/RGB数据接口,供用户自己render或进一步处理(如视频分析...,超低延迟播放模式下,延迟可达到200~400ms快速切换URLSmartPlayerSwitchPlaybackUrl快速切换播放url,快速切换时,只换播放source部分,适用于不同数据流之间,快速切换...开始播放SmartPlayerStart开始播放RTSP/RTMP流停止播放SmartPlayerStop停止播放RTSP/RTMP流销毁播放实例SmartPlayerUnInitPlayer结束时必须调用...设置录像时音频转AAC编码的开关aac比较通用,sdk增加其他音频编码(比如speex, pcmu, pcma等)转aac的功能.录制视频SmartPlayerSetRecorderVideo设置是否录视频

    17110

    【技术分享】Windows平台低延迟RTMP、RTSP播放器接口设计探讨

    注意:比如一个实例既可以实现播放,又可同时录像,亦或拉流(转发),这种情况下,调Close()接口时,需要确保录像、拉流都正常停止后,再调用。...视频view旋转、水平|垂直翻转接口主要用于,比如原始的视频倒置等场景下,设备端无法调整时,通过播放端完成图像的正常角度播放。...拉流回调编码后的数据(配合转发模块使用)拉流回调编码后的数据,主要是为了配合转发模块使用,比如拉取rtsp流数据,直接转RTMP推送到RTMP服务。.../** 设置拉流时,吐视频数据的回调*/NT_UINT32(NT_API *SetPullStreamVideoDataCallBack)(NT_HANDLE handle,NT_PVOID call_back_data...设置回调解码后YUV、RGB数据如需对解码后的yuv或rgb数据,进行二次处理,如人脸识别等,可以通回调yuv rgb接口实现数据二次处理,对于Windows平台来说,如果设备不支持D3D,也可以数据回调上来

    2K10

    流媒体解码及H.264编码推流简介

    简介 相关理论 程序流程 Opencv解析视频流 像素格式转换 FFmpeg进行H.264编码 FFmpeg进行格式封装和推流 完整 这里我们使用了FFmpge的sdk和Opencv的sdk。...为了方便测试,我们直接使用在线的rtsp网络流。rtmp://live.hkstv.hk.lxdns.com/live/hks这个是中国香港卫视的rtsp流,可以用vlc播放器测试是否可以播放。...AVFrame:存储非压缩的数据(视频对应RGB/YUV像素数据,音频对应PCM采样数据) AVPacket:存储压缩数据(视频对应H.264等码流数据,音频对应AAC/MP3等码流数据) 图像格式转换以及图像缩放...sws_getContext 初始化函数 int srcW,int srcH 为原始图像数据的高和宽; int dstW,int dstH 为输出图像数据的高和宽; enum AVPixelFormat...buffer指针数组; const int srcStride[],const int dstStride[] 为输入输出图像数据各颜色通道每行存储的字节数数组; int srcSliceY 为从输入图像数据的第多少列开始逐行扫描

    1.8K50

    RTSP播放器开发填坑之道

    支持多实例:大牛直播SDK提供的RTSP直播播放SDK支持在设备性能允许的情况下,支持多实例播放RTSP流数据,大多开源播放器对多实例支持不太友好; 4....实时静音:比如,多窗口播放RTSP流,如果每个audio都播放出来,体验非常不好,所以实时静音功能非常必要,开源播放器不具备实时静音功能; 6....视频view旋转:好多摄像头由于安装限制,导致图像倒置,所以一个好的RTSP播放器应该支持如视频view实时旋转(0° 90° 180° 270°)、水平反转、垂直反转,开源或第三方播放器不具备此功能;...支持解码后audio/video数据输出:大牛直播SDK接触到好多开发者,希望能在播放的同时,获取到YUV或RGB数据,进行人脸匹配等算法分析,开源播放器不具备此功能; 8....TCP-UDP自动切换:这个是更细力度的接口,比如默认设置了TCP模式,TCP模式下收不到数据,超时后,自动切换到UDP模式尝试,一般开源播放器不具备此功能; 20.

    2.3K40

    Windows平台RTMPRTSP直播推送模块设计和使用说明

    这种方案的设计,一般是一对多设计模型,接收端接收RTMP或RTSP流,然后解析音视频数据,解码、同步音视频数据,并绘制,实现整体的直播解决方案。...对于一个摄像头来说,所有实例只能共享摄像头,那么只有一个实例可以改变摄像头分辨率,其他实例使用这个缩放后的图像; 在使用多实例时,调用这个接口禁止掉实例的分辨率设置能力.只留一个实例能改变分辨,如果不设置..., 640*480, 那么当分辨率小于等于640*360时都使用640*360的码率, * 当分辨率大于640*360且小于等于640*480时,就使用640*480的码率,如果分辨率大于...19 RTSP推送-设置推送RTSP Url NT_PB_SetPushRtspURL:注意,RTSP推送时,确保服务器推送URL可用。...20 RTSP推送-启动推送RTSP流 NT_PB_StartPushRtsp 21 RTSP推送-启动推送RTSP流 NT_PB_StopPushRtsp:注意,此接口和NT_PB_StartPushRtsp

    3K40

    如何在Unity3d实现多路RTSP或RTMP流播放

    好多开发者在做AR、VR或者教育类产品时,苦于如何在windows平台构建一个稳定且低延迟的RTSP或者RTMP播放器,如果基于Unity3d完全重新开发一个播放器,代价大、而且周期长,不适合快速出产品...,我们认为当前最好的方式就是集成现有Native平台上成熟稳定播放器,回调rgb/yuv数据到上层,上层做绘制即可。...废话不多说,以Windows平台多路播放为例: 1.Native播放器吐RGB/YUV420/NV12等其中的一种未压缩的图像格式 比如Windows平台,我们回调YUV上来(NT_SP_E_VIDEO_FRAME_FROMAT_I420.../YUV420等Shader,获取图像数据来填充纹理即可 private void UpdateYUVTexture(VideoFrame video_frame, int sel) {...具体播放效果如下 windows4player.png 总结 Unity3d下,做多路播放的话,首先确保调用的拉流解码数据的模块具备回调yuv/rgb数据能力,回上来后,再上层直接刷新显示即可,是不是没有你想的那么复杂

    2.3K00

    嵌入式Qt-FFmpeg设计一个RTSP播放器

    Pixel format conversion:是将图像的图像格式和色彩空间转换的过程,例如从平面YUV420P 到RGB24 打包。...Rematrixing:是改变通道布局的过程,例如从立体声到单声道。当输入通道不能映射到输出流时,这个过程是有损的,因为它涉及不同的增益因子和混合。...通过专用选项启用各种其他音频转换(例如拉伸和填充)。...avcodec 编解码 avcodec库提供了一个通用的编码/解码框架,并且包含用于音频、视频、字幕流的多个编解器和解码器共享架构提供从比特流 I/O 到 DSP 优化的各种服务,使其适用于实现鲁棒和快速的编解码器以及实验...FFmpeg对RTSP解码的处理流程: 2.2 视频解码 对照上面的流程图,使用FFmpeg对RTSP视频流的解码如下: void VideoPlayer::run() { AVFormatContext

    1.3K20
    领券