zoukankan      html  css  js  c++  java
  • 多线程RTSPServer组件EasyRTSPServer对接海康NVR视频正常音频不能播放问题解析

    背景分析

    众所周知,RTSP协议是一个流媒体协议,可以实现直播和点播形式的音频与视频流的播放。RTSP协议定义了多种服务器-客户端之间交互的接口,主要有OPTIONS,DESCRIBE,SETUP,PLAY,TEARDOWN,RECORD,ANNOUNCE。网络上已经有很多针对RTSP协议的文章,我这里不准备进行过多介绍。RTSP并不包括具体数据的传输,该功能一般由RTP与RTCP协议来实现,并可以通过TCP或UDP两种底层传输方式进行。

    下图是典型的RTSP直播过程中服务端-客户端主要交互过程:

    EasyRTSPServer架构.png

    EasyRTSPServer就是一套稳定、高效、可靠、多平台支持的RTSP-Server组件,今天为大家分享用户在使用EasyRTSPServer对接海康NVR时G726时,音频不能正常播放的问题

    提出问题

    近期我们遇到了EasyRTSPServer对接海康NVR,视频正常,但音频不能正常播放这样的问题。

    分析问题

    EasyRTSPServer输出视频为H264,音频格式为G726,源都来自海康的摄像机,而该摄像机直接接入NVR是可以正常播放的。

    36.png

    关于EasyRTSPServer

    我们可以排除摄像机源,问题就在EasyRTSPServer,通过抓包对比,发现海康每次发包大小是固定的,而EasyRTSPServer的音频发包则是很大的一帧,说明是将多个音频帧组成一个大的帧发出了。

    解决问题

    在创建SimpleRTPSink中,指定allowMultipleFramesPerPacket参数为false即可。

    37.png

    EasyRTSPServer是一套稳定、高效、可靠、多平台支持的RTSP-Server组件,接口调用非常简单成熟,无需关注RTSPServer中关于客户端监听接入、音视频多路复用、RTSP具体流程、RTP打包与发送等相关问题,支持多种音视频格式,再也不用去处理整个RTSP OPTIONS/DESCRIBE/SETUP/PLAY/RTP/RTCP的复杂流程和担心内存释放的问题了,非常适合于安防领域、教育领域、互联网直播领域等。

  • 相关阅读:
    CentOS 6.3 从0开始配置防火墙规则
    ppt删除所有墨迹注释
    生日、毕业与大学的回忆
    20171201-构建之法:现代软件工程-阅读笔记
    软件工程课程总结
    课后作业-阅读任务-阅读提问-4
    Forward团队-爬虫豆瓣top250项目-项目总结
    Forward团队-爬虫豆瓣top250项目-最终程序
    课后作业-阅读任务-阅读提问-3
    20171117-构建之法:现代软件工程-阅读笔记
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/12021235.html
Copyright © 2011-2022 走看看