三棵杏流水账软件下载&备忘精灵软件下载

三棵杏流水账说明文档

三棵杏备忘精灵(提醒软件)使用场景说明

三棵杏视频监控录像软件用户手册

支持三棵杏软件

三棵杏IPC录播服务器产品信息

三棵杏IPC录播服务器用户使用手册

live555多线程改造方案

博主已经使用live555近10年,用作客户端可以每个线程一路live555 rtsp client,但是用作服务端,一直是单个线程处理,并发能力受限。
今年笔者所在公司对并发量有要求,200路,不得不研究对其进行多线程改造。

经过1个月的开发调试,终于实现,现在把基本思路分享一下:
1. 不改动live555的处理框架和逻辑

2. 处理sdp的生成函数,把同步等待修改为定时器等待。(不修改会导致新的请求导致前一路视频可能卡顿)

3. 增加N个Rtp发送线程,处理rtcp和rtp的发送

4. 修改类MultiFramedRTPSink,增加rtp发送线程的派发处理:
MultiFramedRTPSink::continuePlaying函数中:
把MultiFramedRTPSink::buildAndSendFirst异步调度到rtp发送线程进行调用(回调函数 + 类指针)
MultiFramedRTPSink::sendPacketIfNecessary函数中:
增加异步调用MultiFramedRTPSink::sendNext,把sendNext函数调度到rtp线程[......]

阅读全文

录播服务器产品OEM定制开发

本工作室提供音视频录播服务器产品OEM贴牌定制开发服务,欢迎有录播服务器需求的公司洽谈合作开发。







opus编码 SDP如何协商采样率?

Reading more in the rfc7587, you will find out that, in SDP, you will always see the codec being using “OPUS/48000/2″, no matter the real sampling rates.
无论采样率为多少,codec采样的参数都是”OPUS/48000/2″
实际的采样率协商可以使用以下附加参数,见第三行:
m=audio 54312 RTP/AVP 101
a=rtpmap:101 opus/48000/2
a=fmtp:101 maxplaybackrate=8000; sprop-maxcapturerate=8000; maxaveragebitrate=12000

3.1.1. Recommended Bitrate

For a frame size of 20 ms, these are the bitrate “sweet spots” for Opus in various configurations:

o 8-12 kbit/[......]

阅读全文

音视频开发入门基础知识ppt

音视频流媒体基础知识培训

可供有意从事音视频相关开发的程序员小伙伴参考!
PPT的部分内容和图片摘自互联网的博客,如有侵权,就当是开源精神,望网开一面。

stm32 H750开发疑难问题记录

开发过程遇到2个奇怪的问题,记录一下。
问题1. 读区spi Flash数据读取后,校验数据读取不正确,底层驱动函数,把读取函数的超时时间由1000修改为2000就解决了。

//源码来自正点原子的spi.c
//SPI2 读写一个字节
//TxData:要写入的字节
//返回值:读取到的字节
u8 SPI1_ReadWriteByte(u8 TxData)
{
    u8 Rxdata;
    HAL_SPI_TransmitReceive(&SPI1_Handler,&TxData,&Rxdata,1, 2000);   //此处超时时间由1000修改为2000
    return Rxdata;                     
}

问题2. Flash的延时和CPU的频率不匹配,导致程序运行随机异常,可以通过者降低主频或增加flash的延时周期解决
RCC_OscInitStruct.PLL.PLLN = 160;//降低主频 192修改为160
或者
HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5)
(由FLASH_LATENCY_4增加1个周期延时为FLASH_LATENCY_5)

出现这种随机问题的时间不定,通过cm_backtrace模块打印报出的异常比较随机,有以下几种:
Bus fault is caused by precise data access violation
fault is caused by indicates that an unaligned access fault has taken plac[......]

阅读全文

SIP协议文档或资源

sip协议培训讲议
sip协议实例

呼叫转移文档

呼叫流程图

PJSIP的DTMF简单实现,回调函数:on_dtmf_digit
基于pjsip实现p2p语音对讲

SIP 中的Dialog,call,session 和 transaction

软件下载

1. 三棵杏流水账软件

三棵杏流水账软件

2. 三棵杏视频监控录像软件

《三棵杏视频监控录像软件》

3. BullSip PC软件下载

《BullSip PC软件下载》

pjsip实现h265视频编码扩展方法

H265逐渐成为音视频领域的主流,特别是在手机上,已经支持H265的硬编硬解。目前为止,pjsip协议栈还只支持h264的编码,并且是软编解码的方式。笔者提前扩展实现了pjsip 支持H265的方案。其最根本的思路是在流程处理逻辑上彻底参考pjsip源码中H264的实现,把H264的相关部分拷贝一份,修改为H265。主要修改点为sdp相关逻辑处理和编码器增加。

sdp的处理主要是在媒体协商层面支持h265的编码方式。
编解码器的增加可以参考openh264的实现,拷贝一份,修改为自己的h265的实现,然后修改对应的pjmedia中makefile及在pjsua_vid.c中增加h265编码器的初始化函数。其次涉及到rtp的打包解包,可以参考pjmedia_h264_packetizer实现自己的pjmedia_h265_packetizer。按这种思路,即可实现在pjsip中增加h265的编码实现。同时笔者已经实现了对h265的硬编硬解方案,欢迎来电合作开发事宜。

欢迎试用PC版软件,可以跟linphone互通

BullSip PC软件下载

《BullSip PC软件下载[......]

阅读全文

pjsip实现h264视频硬编硬解

大家都知道,pjsip对h264视频的支持实现比较弱,只支持openh264和ffmpeg的软编软解,在一些嵌入式平台中,如何实现硬编硬解呢?答案是肯定的,笔者就实现了h264的硬编硬解功能。其基本思路是参考openh264实现一个自己的h264 codec编解码器和参考ffmpeg_dev实现一个自己的h264 dev采集设备,然后在自己增加的2个模块中实现h264数据及yuv数据的透传,从而实现真正的硬编码,硬解码。其思路主要是通过内部数据结构,在不破坏pjsip原有media处理流程的基础上,实现h264的硬编硬解。
其数据流如下:
my_h264_codec编码 my_h264_dev

如果不用ui层进行yuv的render显示,则下面这个步骤可以不实现
my_h264_codec获取解码结果

工作室主要产品或案例列表

1. Android视频会议软终端产品,详情请查看以下文档:

《Android视频会议软终端产品》

2. PC BullSip软件下载,详情请查看以下文档:

《PC SIP软终端产品》

3. Android SipTerm产品,详情请查看以下文档:

《Android SipTerm产品》

4.基于linux centos 6.5系统的三棵杏IPC录播服务器,支持上千路并发录制,了解产品请查看产品手册

《三棵杏IPC录播服务器用户使用手册》