pjsip实现h265视频编码扩展方法
H265逐渐成为音视频领域的主流,特别是在手机上,已经支持H265的硬编硬解。目前为止,pjsip协议栈还只支持h264的编码,并且是软编解码的方式。笔者提前扩展实现了pjsip 支持H265的方案。其最根本的思路是在流程处理逻辑上彻底参考pjsip源码中H264的实现,把H264的相关部分拷贝一份,修改为H265。主要修改点为sdp相关逻辑处理和编码器增加。
sdp的处理主要是在媒体协商层面支持h265的编码方式。
编解码器的增加可以参考openh264的实现,拷贝一份,修改为自己的h265的实现,然后修改对应的pjmedia中makefile及在pjsua_vid.c中增加h265编码[......]
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
如果[......]
pjsip移植到stm32(freertos系统)
项目目标:基于stm32 H750构建带SIP通话的UI应用系统
单片机硬件: stm32 H750 主频480M
实时操作系统:freertos
开发工具:keil uVison 5.23
编译器: armcc
编译的包:freertos + lwip + FreeRTOS_Plus_POSIX + pjproject-2.7.2 + emwin 5.x
pjsip pjporject-2.7.2编译方法步骤:
1.在linux ubuntu系统下安装arm-none-eabi编译工具链,进行配置和初步编译
2.把已经配置好的pjporject-2.7.2目录,拷贝到windows中,修改各个子[......]