sdp

L2CAP的基本模式(basic mode)数据格式

只愿长相守 提交于 2020-08-18 06:23:43
一. 声明 本专栏文章我们会以连载的方式持续更新,本专栏计划更新内容如下: 第一篇:蓝牙综合介绍 ,主要介绍蓝牙的一些概念,产生背景,发展轨迹,市面蓝牙介绍,以及蓝牙开发板介绍。 第二篇:Transport层介绍,主要介绍蓝牙协议栈跟蓝牙芯片之前的硬件传输协议,比如基于UART的H4,H5,BCSP,基于USB的H2等 第三篇:传统蓝牙controller介绍,主要介绍传统蓝牙芯片的介绍,包括射频层(RF),基带层(baseband),链路管理层(LMP)等 第四篇:传统蓝牙host介绍,主要介绍传统蓝牙的协议栈,比如HCI,L2CAP,SDP,RFCOMM,HFP,SPP,HID,AVDTP,AVCTP,A2DP,AVRCP,OBEX,PBAP,MAP等等一系列的协议吧。 第五篇:低功耗蓝牙controller介绍,主要介绍低功耗蓝牙芯片,包括物理层(PHY),链路层(LL) 第六篇:低功耗蓝牙host介绍,低功耗蓝牙协议栈的介绍,包括HCI,L2CAP,ATT,GATT,SM等 第七篇:蓝牙芯片介绍,主要介绍一些蓝牙芯片的初始化流程,基于HCI vendor command的扩展 第八篇:附录,主要介绍以上常用名词的介绍以及一些特殊流程的介绍等。 另外,开发板如下所示,对于想学习蓝牙协议栈的最好人手一套。以便更好的学习蓝牙协议栈,相信我

FFMPEG命令行处理视频进阶——高阶必读

六月ゝ 毕业季﹏ 提交于 2020-08-15 06:25:17
from: https://blog.csdn.net/zhangamxqun/article/details/80295833 FFMPEG拥有强大的视频处理能力,可惜的是有很多人不知道如何使用。本文深入介绍如何用编译好ffmpeg.exe程序处理视频,既有常用的简单的处理,也有一些比较少见的高大上的处理,一定能让你受益匪浅。ffmpeg是一把宝刀,在视频处理上,基本是一刀在手,天下我有。 首先下载编译好的ffmpeg程序,可以去下面的网址, https://ffmpeg.zeranoe.com/builds/# 点击"Donload Build"按钮下载最新编译的版本,解压后可以看到ffmpeg.exe文件用于处理视频,ffplay.exe文件用于播放视频。也可以去ffmpeg的官网http://ffmpeg.org/ 下载源码自己编译(这个工作量比较大)。 打开命令行窗口,使用cd命令行进入到ffmpeg所在的目录,接下来就可以直接输入处理命令了。下面就来介绍各种各样的命令。下面命令行中的输入视频和输出视频的路径必须正确,如果路径不存在会出错的哦。 1、知道了视频流地址如何保存出本地文件: ffmpeg -i rtmp://122.202.129.136:1935/live/ch4 -map 0 d:\work\yyy.mp4 2、知道了流地址,播放视频文件: ffplay

SIP 用户代理(UA)

a 夏天 提交于 2020-08-13 12:27:09
使用用SIP的终端设备称为SIP用户代理(user agent,UA) 。SIP的作用之一是允许UA之间建立媒体会话。顾名思义,UA接受用户的指示或输入,并代表用户与其它UA一起设置或取消媒体会话。大多时候,用户通常是一个人,但有时候也可能是另一种协议,比如说网关。UA必须具备与他人建立媒体会话的能力。 UA必须维护它发起或参与的呼叫状态。最小呼叫状态集包括本地和远端tag、Call-ID、本地和远端Cseq头域、路由集,和媒体所需的任何状态信息。这些信息用于保存dialog信息并保证其可靠性。远端CSeq对于区分新请求和旧请求的重发是有必要的。re-INVITE用于更新现有呼叫参数。它的Call-ID和tag信息与初始INVITE/200 OK 交换中的值保持一致,但是CSeq序号会增加,因为它是新的请求。重发的INVITE消息中,Call-ID、tag和Cseq都和前一条INVITE消息保持一致。即使呼叫已经终止,UA也必须继续维护呼叫状态至少32秒,为的是处理可能的丢包重传消息。 UA如果收到未知dialog的ACK,不要声张,悄悄丢弃就是了。请求未知的URI会收到404 Not Found应答。UA收到未知dialog的请求时,需要回应481 Dialog/Transaction Does Not Exist。收到未知dialog的应答也应该悄悄丢弃。为了安全起见

直播中音视频处理的一般流程

拟墨画扇 提交于 2020-08-06 10:54:06
数据采集 → 数据编码 → 数据传输 ( 流媒体服务器 ) → 解码数据 → 播放显示 1 、 数据采集: 摄像机及拾音器收集视频及音频数据,此时得到的为原始数据 涉及技术或协议: 摄像机: CCD 、 CMOS 拾音器:声电转换装置(咪头)、音频放大电路 2 、 数据编码: 使用相关硬件或软件对音视频原始数据进行编码处理(数字化)及加工(如音视频混合、打包封装等),得到可用的音视频数据 涉及技术或协议: 编码方式: CBR 、 VBR 编码格式 视频: H.265 、 H.264 、 MPEG-4 等,封装容器有 TS 、 MKV 、 AVI 、 MP4 等 音频: G.711μ 、 AAC 、 Opus 等,封装有 MP3 、 OGG 、 AAC 等 3 、 数据传输: 将编码完成后的音视频数据进行传输,早期的音视频通过同轴电缆之类的线缆进行传输, IP 网络发展后,使用 IP 网络优传输 涉及技术或协议: 传输协议: RTP 与 RTCP 、 RTSP 、 RTMP 、 HTTP 、 HLS ( HTTP Live Streaming )等 控制信令: SIP 和 SDP 、 SNMP 等 4 、 解码数据: 使用相关硬件或软件对接收到的编码后的音视频数据进行解码,得到可以直接显示的图像 / 声音 涉及技术或协议: 一般对应的编码器都会带有相应的解码器

入门篇

我的梦境 提交于 2020-08-06 04:37:49
ICE 交互式连接设施Interactive Connectivity Establishment (ICE) 是一个允许你的浏览器和对端浏览器建立连接的协议框架。在实际的网络当中,有很多原因能导致简单的从A端到B端直连不能如愿完成。这需要绕过阻止建立连接的防火墙,给你的设备分配一个唯一可见的地址(通常情况下我们的大部分设备没有一个固定的公网地址),如果路由器不允许主机直连,还得通过一台服务器转发数据。ICE通过使用以下几种技术完成上述工作。 翻译:就是2端人并不能直接建立连接 需要通过以下技术手段才能进行连接 STUN NAT TRUN SDP 来源: oschina 链接: https://my.oschina.net/zhaodacai/blog/4305313

vue中获取客户端IP地址

隐身守侯 提交于 2020-08-05 19:01:45
vue中获取客户端IP地址 获取ip方法 export function getUserIP(onNewIP) { let MyPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection; let pc = new MyPeerConnection({ iceServers: [] }); let noop = () => { }; let localIPs = {}; let ipRegex = /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/ g; let iterateIP = (ip) => { if (! localIPs[ip]) onNewIP(ip); localIPs[ip] = true ; }; pc.createDataChannel( '' ); pc.createOffer().then((sdp) => { sdp.sdp.split( '\n').forEach( function (line) { if (line.indexOf('candidate') < 0) return ; line.match

传统蓝牙HCI(Bluetooth HCI)的概念介绍

自闭症网瘾萝莉.ら 提交于 2020-08-04 10:26:12
一. 声明 本专栏文章我们会以连载的方式持续更新,本专栏计划更新内容如下: 第一篇:蓝牙综合介绍 ,主要介绍蓝牙的一些概念,产生背景,发展轨迹,市面蓝牙介绍,以及蓝牙开发板介绍。 第二篇:Transport层介绍,主要介绍蓝牙协议栈跟蓝牙芯片之前的硬件传输协议,比如基于UART的H4,H5,BCSP,基于USB的H2等 第三篇:传统蓝牙controller介绍,主要介绍传统蓝牙芯片的介绍,包括射频层(RF),基带层(baseband),链路管理层(LMP)等 第四篇:传统蓝牙host介绍,主要介绍传统蓝牙的协议栈,比如HCI,L2CAP,SDP,RFCOMM,HFP,SPP,HID,AVDTP,AVCTP,A2DP,AVRCP,OBEX,PBAP,MAP等等一系列的协议吧。 第五篇:低功耗蓝牙controller介绍,主要介绍低功耗蓝牙芯片,包括物理层(PHY),链路层(LL) 第六篇:低功耗蓝牙host介绍,低功耗蓝牙协议栈的介绍,包括HCI,L2CAP,ATT,GATT,SM等 第七篇:蓝牙芯片介绍,主要介绍一些蓝牙芯片的初始化流程,基于HCI vendor command的扩展 第八篇:附录,主要介绍以上常用名词的介绍以及一些特殊流程的介绍等。 另外,开发板如下所示,对于想学习蓝牙协议栈的最好人手一套。以便更好的学习蓝牙协议栈,相信我

国标流媒体服务器GB28181协议和海康设备的交互过程记录

为君一笑 提交于 2020-07-25 02:47:37
国标GB28181协议从2016年更新后,变得比之前更火了,到今年已经4年了,国标视频流媒体服务器基础的功能都已经发展起来,而更深层次的功能还需要进一步的研发。 在日常运用中,海康的摄像头运用较为广泛,本文我准备跟大家分享一下GB28181协议和海康设备交互过程记录。 1、发送消息的时候要注意头部的 from/to字段中的数据,这标志数据到底是从设备来的还是从平台到设备的; 2、想要NVR服务器返回消息的话,需要让NVR作为客户端,开启NVR的 GB28181平台接入功能,然后服务器填写GBS服务的IP地址,然后NVR会自动发送注册信息给服务,注册成功之后,就可以正常的查询NVR的设备目录等其它信息;下图是海康设备界面 3、当需要查询录像文件信息的时候,需要使用要查询的摄像头的ID号来查询,不能使用 NVR的ID号来查询,否则NVR会一直回应 400错误的请求; 4、发送给 NVR的获取录像文件的 invite邀请,invite中的 SDP信息中必须含有 u字段,u字段说明要获取的是哪个摄像头的录像文件; 5、发送Bye消息给 NVR或者摄像机都回复 481 Call Leg/Transaction Does Not Exist,一直以为发送的 DeviceID不对,各种查找原因,最后仔细看了一下,发现应该是说 Transaction这个事物不存在导致的,而一个事物的标记是由

Force TCP for WebRTC PeerConnections

China☆狼群 提交于 2020-07-17 10:41:45
问题 Is it possible to force a TCP tunneled (TLS) connection with WebRTC? We are developing a WebRTC application for our business, but we are experiencing some major issues with incoming UDP streams caused by our internal network. We are already using a TURN server and we are getting a bunch of ICE candidates (even relay UDP ones). The thing is, as I stated above, that our incoming UDP traffic does not work reliable here (stuttering, very bad image quality, very low fps). It's enough to give the

Can I turn off SRTP when use webrtc

狂风中的少年 提交于 2020-07-04 16:24:04
问题 Now I test webrtc communicate with SIP Client(sx20) I send invite message with webrtc sdp. but sip client answer has not finger print, and sip client answer is not SRTP just RTP. So I need to turn off SRTP in WEBRTC. Can I do it? and one more question... I think, finger print is encrypt key, so, sender and receiver need to each key? we need two key? sender's key, receive's key? or we need just sender' key? 回答1: You cannot turn off SRTP. It is part of the standard and it will probably never be