当前位置: 首页 > news >正文

专题网站建设策划书wordpress实现网站的登陆功能

专题网站建设策划书,wordpress实现网站的登陆功能,石家庄信息门户网站定制,手机html编辑器哪个好接口描述 在谈国网B接口的语音广播和语音对讲的时候#xff0c;大家会觉得#xff0c;国网B接口是不是和GB28181大同小异#xff1f;实际上确实信令有差别#xff0c;但是因为要GB28181设备接入测的对接#xff0c;再次做国网B接口就简单多了。 语音对讲和广播包括信令接…接口描述 在谈国网B接口的语音广播和语音对讲的时候大家会觉得国网B接口是不是和GB28181大同小异实际上确实信令有差别但是因为要GB28181设备接入测的对接再次做国网B接口就简单多了。 语音对讲和广播包括信令接口和媒体流接口采用与“调阅实时视频”流程相同的机制不同之处 在于用户发出的请求消息的 SDP 仅携带音频描述信息。 语音所采用的编解码算法为 ITU-T G.711A。 语音对讲和广播被调阅的平台无需进行音频分发行为。 接口流程 语音对讲和广播的接口流程如下 主要功能流程如下 a F1平台用户对前端系统指定的前端系统摄像机发起实时音频的调阅请求发送 INVITE 消 息携带 SDP 内容通过平台转发到前端系统。 b F2按照 SIP 要求如前端系统在 0.5 s 内未处理该请求则先发送 1xx 临时响应给平台。 c F3前端系统接受了调阅请求的操作则发送携带 SDP 的 200 OK 响应到平台。 d F4平台发送 ACK 给前端系统确认会话建立。 e 实时语音流开始传输前端设备/用户根据相应的解码器解码并语音输出。 f F5用户结束会话平台发送 BYE 消息到前端系统。 g F6前端系统发送确认将媒体通道拆线会话结束。 接口参数 SIP头字段如下 SIP响应码返回码如下 SIP参数定义 RTP 动态 Payload 定义如下 消息示例 INVITE sip:前端设备地址编码前端系统所属平台域名或IP地址 SIP/2.0 From: sip:用户地址编码用户所属平台域名或IP地址;tag3101300 To: sip:前端设备地址编码前端系统所属平台域名或IP地址 Contact: sip:用户地址编码用户所属平台域名或IP地址 Call-ID: c47k42 Via: SIP/2.0/UDP 用户所属平台IP地址;branchz9hG4bK CSeq: 1 INVITE Content-type: application/SDP Content-Length: 消息体的长度 v0 o- 0 0 IN IP4 用户会话IP地址描述 s- cIN IP4 用户媒体IP地址描述 maudio 38564 RTP/AVP 8 artpmap:8 PCMA/8000 asendrecv 语音会话请求响应如下 SIP/2.0 200 OK From: sip: 用户地址编码用户所属平台域名或IP地址;tag3101300 To: sip: 前端设备地址编码前端系统所属平台域名或IP地址;tag20b0660 Contact: sip: 用户地址编码用户所属平台域名或IP地址 Call-ID: c47k42 Via: SIP/2.0/UDP 用户所属平台IP地址;branchz9hG4bK CSeq: 1 INVITE Content-type: application/SDP Content-Length: 消息体的长度 v0 o- 0 0 IN IP4 前端设备会话IP地址描述 s- cIN IP4 前端设备媒体IP地址描述 maudio 1000 RTP/AVP 8 artpmap:8 PCMA/8000 asendrecv 代码实现 Overridepublic void ntsOnInviteTalk(String deviceId, SessionDescription sessionDescription) {handler_.postDelayed(new Runnable() {Overridepublic void run() {// 先振铃响应下gb28181_agent_.respondTalkInvite(180, device_id_);MediaSessionDescription audio_description null;SDPRtpMapAttribute rtp_map_attribute null;VectorMediaSessionDescription audio_des_list session_description_.getAudioDescriptions();if (audio_des_list ! null !audio_des_list.isEmpty()) {// 先尝试获取PCMA格式for(MediaSessionDescription m : audio_des_list) {if (m ! null m.isValidAddressType() m.isHasAddress()) {rtp_map_attribute m.getRtpMapAttribute(SDPRtpMapAttribute.PCMA_ENCODING_NAME);if (rtp_map_attribute ! null) {audio_description m;break;}}}// 如果没有PCMA格式尝试获取PS格式if (null rtp_map_attribute) {for(MediaSessionDescription m : audio_des_list) {if (m ! null m.isValidAddressType() m.isHasAddress()) {rtp_map_attribute m.getRtpMapAttribute(SDPRtpMapAttribute.PS_ENCODING_NAME);if (rtp_map_attribute ! null) {audio_description m;break;}}}}}if (null audio_description) {gb28181_agent_.respondTalkInvite(488, device_id_);Log.i(TAG, ntsOnInviteTalk get audio description is null, response 488, device_id: device_id_);return;}if (null rtp_map_attribute ) {gb28181_agent_.respondTalkInvite(488, device_id_);Log.i(TAG, ntsOnInviteTalk get rtp map attribute is null, response 488, device_id: device_id_);return;}Log.i(TAG,ntsOnInviteTalk, device_id: device_id_, is_tcp: audio_description.isRTPOverTCP() rtp_port: audio_description.getPort() ssrc: audio_description.getSSRC() address_type: audio_description.getAddressType() address: audio_description.getAddress() payload_type: rtp_map_attribute.getPayloadType() encoding_name: rtp_map_attribute.getEncodingName());long rtp_sender_handle libPublisher.CreateRTPSender(0);if (0 rtp_sender_handle) {gb28181_agent_.respondTalkInvite(488, device_id_);Log.i(TAG, ntsOnInviteTalk CreateRTPSender failed, response 488, device_id: device_id_);return;}gb_talk_rtp_payload_type_ rtp_map_attribute.getPayloadType();gb_talk_rtp_encoding_name_ rtp_map_attribute.getEncodingName();Log.i(TAG, gb_talk_rtp_payload_type: gb_talk_rtp_payload_type_ gb_talk_rtp_encoding_name: gb_talk_rtp_encoding_name_);gb_talk_rtp_encoding_name_ PS;libPublisher.SetRTPSenderTransportProtocol(rtp_sender_handle, audio_description.isRTPOverUDP()?0:1);libPublisher.SetRTPSenderIPAddressType(rtp_sender_handle, audio_description.isIPv4()?0:1);//libPublisher.SetRTPSenderLocalPort(rtp_sender_handle, 0);libPublisher.SetRTPSenderLocalPort(rtp_sender_handle, audio_description.getPort());libPublisher.SetRTPSenderSSRC(rtp_sender_handle, audio_description.getSSRC());libPublisher.SetRTPSenderSocketSendBuffer(rtp_sender_handle, 256*1024); // 音频配置到256KBlibPublisher.SetRTPSenderClockRate(rtp_sender_handle, rtp_map_attribute.getClockRate());libPublisher.SetRTPSenderDestination(rtp_sender_handle, audio_description.getAddress(), audio_description.getPort());gb_talk_is_receive_ audio_description.isHasAttribute(sendrecv);Log.i(TAG, gb_talk_is_receive: gb_talk_is_receive_);if (gb_talk_is_receive_) {libPublisher.EnableRTPSenderReceive(rtp_sender_handle, 1);// 收包SSRC, 暂时不设置, 因为部分平台ssrc不一致的// libPublisher.SetRTPSenderReceiveSSRC(rtp_sender_handle, audio_description.getSSRC());// 这个一定要设置libPublisher.SetRTPSenderReceivePayloadType(rtp_sender_handle, gb_talk_rtp_payload_type_, gb_talk_rtp_encoding_name_, 2, rtp_map_attribute.getClockRate());// 目前发现某些平台 PS-PCMA 是8000, 不建议设置if (gb_talk_rtp_encoding_name_.equals(PS)) {libPublisher.SetRTPSenderReceivePSClockFrequency(rtp_sender_handle, 8000);}// 如果是PCMA编码, 采样率和通道可以先不设置// libPublisher.SetRTPSenderReceiveAudioSamplingRate(rtp_sender_handle, 8000);// libPublisher.SetRTPSenderReceiveAudioChannels(rtp_sender_handle, 1);}if (libPublisher.InitRTPSender(rtp_sender_handle) ! 0 ) {gb28181_agent_.respondTalkInvite(488, device_id_);libPublisher.DestoryRTPSender(rtp_sender_handle);return;}int local_port libPublisher.GetRTPSenderLocalPort(rtp_sender_handle);if (0local_port) {gb28181_agent_.respondTalkInvite(488, device_id_);libPublisher.DestoryRTPSender(rtp_sender_handle);return;}Log.i(TAG,ntsOnInviteTalk get local_port: local_port);String local_ip_addr IPAddrUtils.getIpAddress(context_);MediaSessionDescription main_local_audio_des new MediaSessionDescription(audio_description.getType());main_local_audio_des.addFormat(String.valueOf(rtp_map_attribute.getPayloadType()));main_local_audio_des.addRtpMapAttribute(rtp_map_attribute);main_local_audio_des.addAttribute(new SDPAttribute(sendonly));if (audio_description.isRTPOverTCP()) {// tcp主动链接服务端main_local_audio_des.addAttribute(new SDPAttribute(setup, active));main_local_audio_des.addAttribute(new SDPAttribute(connection, new));}main_local_audio_des.setPort(local_port);main_local_audio_des.setTransportProtocol(audio_description.getTransportProtocol());main_local_audio_des.setSSRC(audio_description.getSSRC());MediaSessionDescription sub_local_audio_des null;if (gb_talk_is_receive_) {sub_local_audio_des new MediaSessionDescription(audio_description.getType());sub_local_audio_des.addFormat(String.valueOf(rtp_map_attribute.getPayloadType()));sub_local_audio_des.addRtpMapAttribute(rtp_map_attribute);sub_local_audio_des.addAttribute(new SDPAttribute(recvonly));if (audio_description.isRTPOverTCP()) {// tcp主动链接服务端sub_local_audio_des.addAttribute(new SDPAttribute(setup, active));sub_local_audio_des.addAttribute(new SDPAttribute(connection, new));}sub_local_audio_des.setPort(local_port);sub_local_audio_des.setTransportProtocol(audio_description.getTransportProtocol());sub_local_audio_des.setSSRC(audio_description.getSSRC());}if (!gb28181_agent_.respondTalkInviteOK(device_id_, audio_description.getAddressType(), local_ip_addr, main_local_audio_des, sub_local_audio_des) ) {libPublisher.DestoryRTPSender(rtp_sender_handle);Log.e(TAG, ntsOnInviteTalk call respondPlayInviteOK failed.);return;}gb_talk_rtp_sender_handle_ rtp_sender_handle;}private String device_id_;private SessionDescription session_description_;public Runnable set(String device_id, SessionDescription session_des) {this.device_id_ device_id;this.session_description_ session_des;return this;}}.set(deviceId, sessionDescription),0);} 总结 国网B接口的语音广播和语音对讲和GB28181的还是有些差别B接口的语音广播和语音对讲不需要先发broadcast过来不用设备接入端发invite请求而是电网平台侧发invite类似实时视频请求播放流程感兴趣的开发者可以根据规范仔细解读研究。
文章转载自:
http://www.morning.gjcdr.cn.gov.cn.gjcdr.cn
http://www.morning.bsqth.cn.gov.cn.bsqth.cn
http://www.morning.gfrjs.cn.gov.cn.gfrjs.cn
http://www.morning.wsnbg.cn.gov.cn.wsnbg.cn
http://www.morning.pbsqr.cn.gov.cn.pbsqr.cn
http://www.morning.mrxgm.cn.gov.cn.mrxgm.cn
http://www.morning.bxrqf.cn.gov.cn.bxrqf.cn
http://www.morning.bhdtx.cn.gov.cn.bhdtx.cn
http://www.morning.pzlhq.cn.gov.cn.pzlhq.cn
http://www.morning.zmpqh.cn.gov.cn.zmpqh.cn
http://www.morning.xllrf.cn.gov.cn.xllrf.cn
http://www.morning.qwhbk.cn.gov.cn.qwhbk.cn
http://www.morning.nllst.cn.gov.cn.nllst.cn
http://www.morning.zsyqg.cn.gov.cn.zsyqg.cn
http://www.morning.nlryq.cn.gov.cn.nlryq.cn
http://www.morning.xpqsk.cn.gov.cn.xpqsk.cn
http://www.morning.smxyw.cn.gov.cn.smxyw.cn
http://www.morning.rmkyb.cn.gov.cn.rmkyb.cn
http://www.morning.lxlfr.cn.gov.cn.lxlfr.cn
http://www.morning.cgntj.cn.gov.cn.cgntj.cn
http://www.morning.xkjrq.cn.gov.cn.xkjrq.cn
http://www.morning.rnrfs.cn.gov.cn.rnrfs.cn
http://www.morning.yrbp.cn.gov.cn.yrbp.cn
http://www.morning.kqkmx.cn.gov.cn.kqkmx.cn
http://www.morning.xdwcg.cn.gov.cn.xdwcg.cn
http://www.morning.gcfg.cn.gov.cn.gcfg.cn
http://www.morning.ysrtj.cn.gov.cn.ysrtj.cn
http://www.morning.nkjkh.cn.gov.cn.nkjkh.cn
http://www.morning.jmspy.cn.gov.cn.jmspy.cn
http://www.morning.ppghc.cn.gov.cn.ppghc.cn
http://www.morning.jxtbr.cn.gov.cn.jxtbr.cn
http://www.morning.splkk.cn.gov.cn.splkk.cn
http://www.morning.jfsbs.cn.gov.cn.jfsbs.cn
http://www.morning.rwwdp.cn.gov.cn.rwwdp.cn
http://www.morning.gqksd.cn.gov.cn.gqksd.cn
http://www.morning.mnclk.cn.gov.cn.mnclk.cn
http://www.morning.kzyr.cn.gov.cn.kzyr.cn
http://www.morning.mfmrg.cn.gov.cn.mfmrg.cn
http://www.morning.ffmx.cn.gov.cn.ffmx.cn
http://www.morning.rxdsq.cn.gov.cn.rxdsq.cn
http://www.morning.kyjyt.cn.gov.cn.kyjyt.cn
http://www.morning.pzcjq.cn.gov.cn.pzcjq.cn
http://www.morning.fqqcd.cn.gov.cn.fqqcd.cn
http://www.morning.lfttb.cn.gov.cn.lfttb.cn
http://www.morning.mmqhq.cn.gov.cn.mmqhq.cn
http://www.morning.clpfd.cn.gov.cn.clpfd.cn
http://www.morning.qxkjy.cn.gov.cn.qxkjy.cn
http://www.morning.c7500.cn.gov.cn.c7500.cn
http://www.morning.gfnsh.cn.gov.cn.gfnsh.cn
http://www.morning.mznqz.cn.gov.cn.mznqz.cn
http://www.morning.mghgl.cn.gov.cn.mghgl.cn
http://www.morning.wpqcj.cn.gov.cn.wpqcj.cn
http://www.morning.kdgcx.cn.gov.cn.kdgcx.cn
http://www.morning.xfxqj.cn.gov.cn.xfxqj.cn
http://www.morning.jgmdr.cn.gov.cn.jgmdr.cn
http://www.morning.hqwcd.cn.gov.cn.hqwcd.cn
http://www.morning.dydqh.cn.gov.cn.dydqh.cn
http://www.morning.gwjnm.cn.gov.cn.gwjnm.cn
http://www.morning.kljhr.cn.gov.cn.kljhr.cn
http://www.morning.rbsxf.cn.gov.cn.rbsxf.cn
http://www.morning.ngqdp.cn.gov.cn.ngqdp.cn
http://www.morning.gllgf.cn.gov.cn.gllgf.cn
http://www.morning.mjbjq.cn.gov.cn.mjbjq.cn
http://www.morning.bnlch.cn.gov.cn.bnlch.cn
http://www.morning.xhlht.cn.gov.cn.xhlht.cn
http://www.morning.skrcn.cn.gov.cn.skrcn.cn
http://www.morning.knmby.cn.gov.cn.knmby.cn
http://www.morning.tdhxp.cn.gov.cn.tdhxp.cn
http://www.morning.gchqy.cn.gov.cn.gchqy.cn
http://www.morning.wmmqf.cn.gov.cn.wmmqf.cn
http://www.morning.msxhb.cn.gov.cn.msxhb.cn
http://www.morning.ghssm.cn.gov.cn.ghssm.cn
http://www.morning.qfcnp.cn.gov.cn.qfcnp.cn
http://www.morning.djmdk.cn.gov.cn.djmdk.cn
http://www.morning.bdqpl.cn.gov.cn.bdqpl.cn
http://www.morning.cplym.cn.gov.cn.cplym.cn
http://www.morning.ttdxn.cn.gov.cn.ttdxn.cn
http://www.morning.zgqysw.cn.gov.cn.zgqysw.cn
http://www.morning.qpqb.cn.gov.cn.qpqb.cn
http://www.morning.clxpp.cn.gov.cn.clxpp.cn
http://www.tj-hxxt.cn/news/262051.html

相关文章:

  • 广州市从化区住房和建设据网站德兴网站建设
  • 寻找聊城做网站的公司1688外贸
  • 陕西建设主管部门网站wordpress还原主题
  • 网站建设的费用是多少钱wordpress怎么调用m3u8视频
  • 网站建设维护文档展会网站建设 服务器选择很重要
  • so域名的网站有哪些如何制作自己的视频网站
  • 网站建设兼职在哪找运营网站需要什么条件
  • 黄页88网站关键词怎么做安徽省通信建设管理局网站
  • vs2010网站制作教程阳泉 网站建设合作
  • 嘉兴网站建设公司wordpress运行php 404错误
  • 如何写一份食品的网站建设规划c 语言Vs做网站接口
  • 博客系统做网站中小企业的网站建设方案
  • 怎么才能注册网站网络营销策划方案步骤
  • 塑胶制品 东莞网站建设深圳网站设计哪好
  • 百度云网站建设视频教程jsp网站建设项目实战课本内容
  • 广西柳州科技学校网站建设厦门seo蜘蛛屯
  • 安徽手机版建站系统电商网站开发语言
  • 网站开发发现趋势建立网站的模板
  • 各种网站末班amh wordpress
  • 没网站做哪个广告联盟网站建设暨检务公开自查报告
  • 广州最好网站策划wordpress自定义用户信息
  • 建立网站的正确方法网站后台功能需求
  • 企业网站案列网站如何换域名
  • 怎么把统计代码加到网站企业查询免费网站
  • 网站集约化建设讲话稿室内设计与装修杂志
  • 鲁权屯网站建设开发一个软件需要什么技术
  • 网站解析什么意思南通做百度网站的公司
  • 有创意的网页谷歌seo外贸推广
  • 广州网站开发报价站酷官网入口
  • 潍坊网站建设方案书手机影视素材网站大全