odoo17 音视频扩展

ODOO内置了音视频服务,同时也提供了与第三方平台Twilio的接口,用以实现音视频的扩展:

Twilio是美国一家云通讯公司,算是云通讯领域的巨头企业,与同行业的公司以销售&营销进行投资来促进业务增长不同,Twilio则以API为基础,在数年内有机地打造了一个专业和广泛的软件开发员社区。

odoo原生代码:

复制代码
def _get_ice_servers(self):
    """
    :return: List of dict, each of which representing a stun or turn server,
            formatted as expected by the specifications of RTCConfiguration.iceServers
    """
    if self.env['ir.config_parameter'].sudo().get_param('mail.use_twilio_rtc_servers'):
        (account_sid, auth_token) = get_twilio_credentials(self.env)
        if account_sid and auth_token:
            url = f'https://api.twilio.com/2010-04-01/Accounts/{account_sid}/Tokens.json'
            response = requests.post(url, auth=(account_sid, auth_token), timeout=60)
            if response.ok:
                response_content = response.json()
                if response_content:
                    return response_content['ice_servers']
    return self._get_local_ice_servers()

class MailIceServer(models.Model):
    _name = 'mail.ice.server'
    _description = 'ICE server'

    server_type = fields.Selection([('stun', 'stun:'), ('turn', 'turn:')], string='Type', required=True, default='stun')
    uri = fields.Char('URI', required=True)
    username = fields.Char()
    credential = fields.Char()

    def _get_local_ice_servers(self):
        """
        :return: List of up to 5 dict, each of which representing a stun or turn server
        """
        # firefox has a hard cap of 5 ice servers
        ice_servers = self.sudo().search([], limit=5)
        formatted_ice_servers = []
        for ice_server in ice_servers:
            formatted_ice_server = {
                'urls': '%s:%s' % (ice_server.server_type, ice_server.uri),
            }
            if ice_server.username:
                formatted_ice_server['username'] = ice_server.username
            if ice_server.credential:
                formatted_ice_server['credential'] = ice_server.credential
            formatted_ice_servers.append(formatted_ice_server)
        return formatted_ice_servers

可以看到ODOO通过用户名和密码及API调用Twilio的第三方服务(Twilio按账号收费的)。

ODOO也可以通过二次开发的方式与其他音视频平台对接,但要考虑其对于ODOO自身带来的服务压力。

相关推荐
Smoothcloud润云1 小时前
Seedance 2.0深度解析:从“抽卡地狱”到工业化视频创作的革命
大数据·人工智能·计算机视觉·语言模型·ai作画·音视频·语音识别
凉拌菜2 小时前
术野摄像机在手术影像系统中的位置与系统架构分析
音视频·医疗视频·4k视频·术野摄像机·手术影像系统·手术头灯摄像
Be for thing2 小时前
Android 音频硬件(Codec / 喇叭 / 麦克风)原理 + 功耗与问题定位实战(手机 / 手表通用)
android·学习·智能手机·音视频
ai产品老杨4 小时前
终结协议孤岛:基于GB28181/RTSP融合网关的多品牌设备统一接入与边缘推流方案
人工智能·docker·架构·kubernetes·音视频
于先生吖6 小时前
JAVA国际版图文短视频交友系统源码:多语言适配,短视频+图文双形态可商用
java·音视频·交友
唯创知音6 小时前
WT2003H4系列:从芯片到模块,音频方案一站式解决
音视频·mp3解码芯片·音频解码芯片·语音播报芯片·wt2003h4
AF_INET66 小时前
RV1126B开发板学习篇(一)MPP的编译和基础使用
经验分享·音视频·嵌入式·视频编解码·rv1126·mpp编解码·rockchipmpp
嵌入式Linux,8 小时前
逻辑分析仪dump音频实锤排查问题
音视频
NGBQ121388 小时前
Camtasia 2026.0.7.dmg 全解析:Mac 端专业视频编辑工具深度指南
macos·音视频
阿甘编程点滴8 小时前
2026年,我找到了以下8款支持视频变声的配音软件
音视频