首先,H323plus自带g.711的语音编码能力,而视频编码(H.261/H.163/H.264)的能力集需自己添加,经自己研究查资料,暂记录以下几点信息:

1. H323plus可通过plugin的方式添加音视频编解码的能力集,即H323plus提供了相应插件接口的源代码,只需要编译通过并将其依赖的动态库(windows下为dll)添加到相应的目录(默认目录为:C:\ptlib_plugin)即可实现音视频编解码的能力集;

2. 编译的插件接口最终生成的是名称为 xx__ptplugin.dll的动态库,并需将其放置在C:\ptlib_plugin目录下;

3. 加入H261的视频编解码能力集较为容易,无相应的依赖库,直接将生成的 h261vic_ptplugin.dll库拷贝到C:\ptlib_plugin目录下即可;

4. 重点是添加H.263和H.264时需依赖ffmpeg.的动态库,而且须是老版本的ffmpeg(ffmpeg0.4.6版本),此版本较老。

若添加较新版本的ffmepg,目前未查到相关方法,初步评估须修改源代码。

H323添加能力集相关代码简要调用流程:

void PPluginManager::LoadPluginDirectory (const PDirectory & directory)  --》 【加载插件路径】

void PPluginManager::LoadPluginDirectory (const PDirectory & directory, const PStringList & suffixes) --》

PBoolean PPluginManager::LoadPlugin(const PString & fileName) --》  【加载插件】

void PPluginManager::CallNotifier(PDynaLink & dll, INT code) --》 【动态加载插件】

PDECLARE_NOTIFIER(PDynaLink, PPluginModuleManager, OnLoadModule) --》

void PPluginModuleManager::OnLoadModule(PDynaLink & dll, INT code) --》

void H323PluginCodecManager::OnLoadPlugin(PDynaLink & dll, INT code) --》

PBoolean PDynaLink::GetFunction(const PString & name, Function & func)   --》 【获取动态库内的函数】

PLUGIN_CODEC_DLL_API struct PluginCodec_Definition * PLUGIN_CODEC_GET_CODEC_FN(unsigned * count, unsigned version)  --》  【调用对应插件dll内的函数】

bool FFMPEGLibrary::Load() 【调用dll内的加载其依赖库函数】

H323plus添加h264等能力集的疑惑相关推荐

  1. weblogic 12c 一键静默建域、集群、受管,计算机以及添加受管到集群

    1.静默安装(参照以往文章) 2.静默建域.集群.受管,计算机以及添加受管到集群 编写响应文件,内容包括主管端口,ssl端口,集群名字,受管名字,计算机名字,以及受管添加到哪个集群并且设置主管密码 [ ...

  2. linux能力集机制,linux能力机制

    为什么有能力机制 在linux内核2.2之前,root用户可以在linux系统上为所欲为.因为,root用户id为0即特权用户,进程id也为0即特权进程,特权进程可以通过内核所有的权限检查,进行任何操 ...

  3. ONVIF 事件--能力集

    ONVIF 事件(events)–能力集 ONIVF事件能力集 events事件能力集如下,可以选择设备支持的选项. 如果服务端支持事件推送功能(移动侦测告警.绊线检测告警.区域检测告警,这里只例举告 ...

  4. vSphere Web Client 添加主机进VSAN集群时“SAN 主机移至目标群集: vSAN 群集的 UUID 不匹配”报错

    vSphere Web Client 添加主机进VSAN集群时,报"无法将 vSAN 主机移至目标群集: vSAN 群集的 UUID 不匹配 (主机: 5223a6c9-cf94-f978- ...

  5. 机器学习面试题集(个人疑惑的题)

    找工作一直在找机器学习的岗位,最近在博客上看到一些面试题,做了一下,对自己不懂的地方做了一些总结: 1. 假设X公司的员工收入分布中位数为$35,000,25%和75%比例处的数值为$21,000 和 ...

  6. VS2010 MFC中 单独添加ODBC数据库记录集类(CRecordset)方法

    基于VS2010 MFC的项目是之前建好的,后来需要添加数据库. 方法分享于此. 1.  打开自己的项目,项目->添加类. 2. 选MFC ODBC使用者,点右下角的添加. 3. 点数据源. / ...

  7. Datical为数据库添加持续交付能力

    \ 看新闻很累?看技术新闻更累?试试下载InfoQ手机客户端,每天上下班路上听新闻,有趣还有料! \ \\ 数据库发布自动化提供商Datical发布了新版本Datical 5.该版本实现了一种集中命令 ...

  8. UVC webcam添加H264 NV12等格式支持

    linux webcam 驱动默认仅支持YUY2 和 MJPG 两种格式,这也是大部分USB摄像头和应用支持的格式 下面讲讲如何添加新的格式支持: (1)修改kernel\drivers\usb\ga ...

  9. wireshark添加h264解析插件

    1.下载h264解析插件rtp_h264_extractor.lua https://github.com/volvet/h264extractor 2.将插件rtp_h264_extractor.l ...

最新文章

  1. TensorFlow深度学习算法原理与编程实战 人工智能机器学习技术丛书
  2. 怎么升级浏览器_下载的chrome无法访问此网站怎么解决
  3. MariaDB 10.0 和 MySQL 5.6 有何不同
  4. 各种Exit退出函数用法
  5. Apache Camel 2.18 –即将推出的功能的亮点
  6. 69讲入门python_Python入门,一定要吃透这69个内置函数
  7. 从RGB扫描图到数字化等高线矢量图
  8. 2017.9.1 公路修建问题 思考记录
  9. python运行结果导出_SPSS调用python(5):输出结果的读取
  10. 使用Ant 实现批量打包Android应用
  11. 屏幕录像专家录制超清视频教程如何解决转码后不清晰问题
  12. c语言中pinMode的作用,Arduino C语言的基本结构
  13. 2021-06-17springboot本地正常启动,部属服务器找不到外部文件 file:/apps/xxx/xxx/xxx.jar!/BOOT-INF/classes!/
  14. linux中负载值为多少正常_Linux系统Load average负载详细解释
  15. jquery :visible Selector 用于判断元素是否显示
  16. 「短视频+社交电商」营销模式爆发式发展,带来的好处有什么?
  17. 准备pmp考试第13天
  18. 51单片机按键控制数码管0~9_(51单片机)课设项目1-按键控制步进电机转向、转速、启停。...
  19. 嵌入式C语言学习第二天
  20. Linux与几种电脑系统的区别

热门文章

  1. 高德地图jsAPI,定位和选择位置
  2. 将你的老旧Android平板或手机改造成服务器
  3. android 组件的id,Android@id和@+id的区别 - 泡在网上的日子
  4. 使用Tuimgs在线工具对图片无损压缩教程
  5. IDA pro逆向工具寻找socket server的IP和port
  6. 芯片巨头恩智浦的前世今生
  7. 网狐大联盟创建房间游戏组件列表为空问题解决
  8. 屌爆了的两个在线编辑网站runjs和jsbin
  9. Mac 安装 node.js 并进行配置
  10. stm32f7网口_STM32F7x2