文章目录

  • 一、指定python解释器和脚本
  • 二、特殊函数名
  • 三、obspython API
  • 四、 实际应用示例(mkv转mp4封装后自动删除mkv)
  • OBS Studio是一个流行的开源软件,用于视频录制直播。除了其内置功能外,OBS还支持通过Python脚本(以及lua脚本)进行扩展,允许用户自定义和自动化各种任务。

    OBS的Python脚本功能允许用户访问和修改OBS的许多方面,从而实现个性化的自动化操作。无论是简单的录制任务自动化,还是复杂的场景切换逻辑,Python脚本都能提供强大的支持。

    一、指定python解释器和脚本

    工具—脚本,这里即可设置。

    首先指定一个python解释器路径,比如我用的是anaconda的python:

    然后再选择你的python脚本即可。

    obs提供的python api名称为:obspython,直接import即可,不用你自己安装的(当然也安装不了)。

    二、特殊函数名

    在OBS中,Python脚本可以使用obs模块来与OBS进行交互。通常,这些脚本会定义一些特殊的函数名,这些函数会在特定的事件发生时被OBS自动调用。

    以下是一些常见的特殊函数名及其作用:

    1. script_description(): 返回一个字符串,描述脚本的功能或用途。

    2. script_defaults(settings): 用于设置脚本的默认配置。

    3. script_properties(): 定义和返回脚本的设置界面(属性窗口)中显示的控件和选项。

    4. script_update(settings): 在脚本的设置被修改后调用,用于更新脚本的行为或配置。

    5. script_load(settings): 当脚本被加载到OBS中时调用。这是初始化脚本的好地方。

    6. script_unload(): 在脚本从OBS中卸载时调用,用于清理资源或执行其他卸载操作。

    这些函数是OBS脚本的核心,用于管理脚本的生命周期和配置。

    示例:

    (1)script_description

    此函数返回一个字符串,描述脚本的功能和用途。这个描述将在OBS的脚本列表中显示。

    def script_description():
        return "这个脚本什么也没做。"
    

    obs 输出:

    (2) script_properties

    此函数返回一个属性集,定义了用户可以在OBS界面中修改的设置。这些设置可以是文本框、滑块、复选框等。

    def script_properties():
        props = obs.obs_properties_create()
        obs.obs_properties_add_text(props, "output_path", "输出目录", obs.OBS_TEXT_DEFAULT)
        return props
    

    (3) script_load

    当脚本被OBS加载时,script_load函数被调用。这是执行初始化设置和注册回调的好地方。

    def script_load(settings):
        # 注册录制停止事件的回调
        obs.obs_frontend_add_event_callback(on_recording_stopped)
    

    当你在 OBS 的脚本窗口添加脚本,重新载入脚本,恢复默认时,或 OBS 启动后,Python 脚本就会被加载。当你在 OBS 的脚本窗口移除脚本,重新载入脚本时,恢复默认之前,或 OBS 关闭时,Python 脚本就会被卸载

    (4) script_unload

    当脚本被卸载时,script_unload函数被调用。这用于清理资源,如移除事件回调。

    def script_unload():
        obs

    作者:感谢地心引力

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python OBS脚本编写指南

    发表回复