OBS output部分 的api翻译

  1. obs_register_output(struct obs_output_info *info)

    • 注册一个输出类型,通常在模块加载或程序初始化阶段使用。这对于在OBS中定义新的输出类型至关重要。
  2. obs_output_get_display_name(const char *id)

    • 根据其唯一标识符检索输出类型的显示名称。这通常用于用户界面,以呈现易于理解的名称。
  3. obs_output_create(const char *id, const char *name, obs_data_t *settings, obs_data_t *hotkey_data)

    • 根据指定的设置和快捷键创建一个输出。此函数初始化一个输出,可以根据类型用于流媒体或录制。
  4. obs_output_addref(obs_output_t *output)

    • 为一个输出增加引用。这用于通过增加它们的引用计数来管理输出对象的内存和生命周期。
  5. obs_output_get_ref(obs_output_t *output)

    • 如果仍然有效,检索输出的增加后的引用,确保输出不会过早被销毁。
  6. obs_output_release(obs_output_t *output)

    • 释放对输出的引用,如果没有其他引用存在,则可能销毁它。
  7. obs_output_get_weak_output(obs_output_t *output)obs_weak_output_get_output(obs_weak_output_t *weak)

    • 管理对输出的弱引用,这种引用对生命周期管理的要求比强引用更宽松。
  8. obs_weak_output_addref(obs_weak_output_t *weak)obs_weak_output_release(obs_weak_output_t *weak)

    • 增加或释放对输出的弱引用。
  9. obs_weak_output_references_output(obs_weak_output_t *weak, obs_output_t *output)

    • 检查弱引用是否与特定输出关联。
  10. obs_output_get_name(const obs_output_t *output)obs_output_get_id(const obs_output_t *output)

    • 检索输出的名称或标识符,用于调试或UI显示。
  11. obs_output_start(obs_output_t *output)

    • 启动输出过程,如开始流媒体或录制。
  12. obs_output_stop(obs_output_t *output)

    • 停止输出,确保所有数据处理完成后彻底停止操作。
  13. obs_output_set_delay(obs_output_t *output, uint32_t delay_sec, uint32_t flags)

    • 为输出设置延迟,用于直播场景中管理广播时间。
  14. obs_output_get_delay(const obs_output_t *output)

    • 检索输出当前设置的延迟。
  15. obs_output_get_active_delay(const obs_output_t *output)

    • 获取当前应用于输出的活动延迟。
  16. obs_output_force_stop(obs_output_t *output)

    • 强制输出立即停止,无需等待数据处理。
  17. obs_output_active(const obs_output_t *output)

    • 检查输出是否当前处于活动状态。
  18. obs_output_set_mixer(obs_output_t *output, size_t mixer_idx)obs_output_get_mixer(const obs_output_t *output)

    • 设置或获取当前非编码输出的音频混音器。
  19. obs_output_set_mixers(obs_output_t *output, size_t mixers)obs_output_get_mixers(const obs_output_t *output)

    • 设置或获取当前非编码多轨输出的音频混音器(通过掩码)。
  20. obs_output_set_video_encoder(obs_output_t *output, obs_encoder_t *encoder)obs_output_set_audio_encoder(obs_output_t *output, obs_encoder_t *encoder, size_t idx)

    • 为编码输出设置视频/音频编码器。
  21. obs_output_get_video_encoder(const obs_output_t *output)obs_output_get_audio_encoder(const obs_output_t *output, size_t idx)

    • 获取编码输出的视频/音频编码器。
  22. obs_output_set_service(obs_output_t *output, obs_service_t *service)obs_output_get_service(const obs_output_t *output)

    • 设置或获取需要服务的输出的服务。
  23. obs_output_set_reconnect_settings(obs_output_t *output, int retry_count, int retry_sec)

    • 设置支持自动重连的输出的重连设置。
  24. obs_output_get_total_bytes(const obs_output_t *output)

    • 返回发送/处理的总字节数。
  25. obs_output_get_frames_dropped(const obs_output_t *output)

    • 返回由于网络拥堵而丢弃的帧数。
  26. obs_output_get_total_frames(const obs_output_t *output)

    • 返回发送/处理的总帧数。
  27. obs_output_set_preferred_size(obs_output_t *output, uint32_t width, uint32_t height)

    • 设置此输出的首选缩放分辨率。
  28. obs_output_get_width(const obs_output_t *output)obs_output_get_height(const obs_output_t *output)

    • 返回输出的宽度/高度。
  29. obs_output_output_caption_text1(obs_output_t *output, const char *text)obs_output_output_caption_text2(obs_output_t *output, const char *text, double display_duration)

    • 从指定的文本输入输出字幕。
  30. obs_output_get_congestion(obs_output_t *output)

    • 返回拥塞值。此值用于可视化网络输出的当前拥塞程度。
  31. obs_output_get_connect_time_ms(obs_output_t *output)

    • 返回输出连接到服务器所花费的时间,以毫秒计。
  32. obs_output_reconnecting(const obs_output_t *output)

    • 返回输出当前是否正在重新连接到服务器。
  33. obs_output_get_supported_video_codecs(const obs_output_t *output)obs_get_output_supported_video_codecs(const char *id)obs_output_get_supported_audio_codecs(const obs_output_t *output)obs_get_output_supported_audio_codecs(const char *id)

    • 返回支持的视频/音频编码格式,以分号分隔。
  34. obs_output_get_flags(const obs_output_t *output)obs_get_output_flags(const char *id)

    • 返回输出的功能标志。
  35. obs_output_get_protocols(const obs_output_t *output)

    • 返回支持的协议,以分号分隔。如果输出不是OBS_OUTPUT_SERVICE,则始终返回NULL。
  36. obs_is_output_protocol_registered(const char *protocol):

  • 检查是否有使用给定协议的输出已注册。
  1. obs_enum_output_protocols(size_t idx, char **protocol):
  • 枚举所有已注册的协议。
  1. obs_enum_output_types_with_protocol(const char *protocol, void *data, bool (*enum_cb)(void *data, const char *id)):
  • 通过回调函数枚举给定协议的所有可用输出类型。
  1. obs_output_set_last_error(obs_output_t *output, const char *message)obs_output_get_last_error(obs_output_t *output):
  • 设置或获取输出在断开连接、无法连接等情况下向用户显示的翻译后的错误消息。
  1. obs_output_set_video_conversion(obs_output_t *output, const struct video_scale_info *conversion)obs_output_get_video_conversion(obs_output_t *output):
  • 可选地设置或获取视频转换信息。仅由原始输出使用。
  1. obs_output_set_audio_conversion(obs_output_t *output, the struct audio_convert_info *conversion):
  • 可选地设置音频转换信息。也是只由原始输出使用。
  1. obs_output_can_begin_data_capture(const obs_output_t *output, int flags):
  • 确定视频/音频捕获(编码或原始)是否可以开始。在初始化任何输出状态之前调用此函数以确保输出可以启动。
  1. obs_output_initialize_encoders(obs_output_t *output, int flags):
  • 初始化与输出相关的任何编码器/服务。这必须在调用obs_output_begin_data_capture()之前对编码输出进行。
  1. obs_output_begin_data_capture(obs_output_t *output, int flags):
  • 开始从原始媒体或编码器捕获数据。这通常是输出实际内部激活(开始)的时候。视频/音频数据将开始发送到输出的回调函数。
  1. obs_output_end_data_capture(obs_output_t *output):
  • 结束输出的数据捕获。这通常是输出实际有意地停止(结束)的时候。视频/音频数据将停止发送到输出的回调。
  1. obs_output_signal_stop(obs_output_t *output, int code):
  • 用输出代码结束输出的数据捕获,表明输出意外停止。这通常用于例如服务器断开连接或保存文件时出现错误的情况。输出将触发“停止”信号,通过所需的代码表示输出已成功停止。
  1. uint64_t obs_output_get_pause_offset(obs_output_t *output):
  • 返回输出的当前暂停偏移量。与原始输出一起使用,用于在使用计算时间戳时计算系统时间戳(例如FFmpeg输出)。
### 如何使用 OBS Studio 进行视频录制 OBS Studio 是一款功能强大且完全免费的开源软件,适用于视频录制和直播。以下是有关如何利用 OBS Studio 实现高效视频录制的相关说明。 #### 配置环境 安装 OBS Studio 后,在首次启动时会提示配置广播设置。即使仅用于录制而非直播,也应完成此步骤以确保后续操作正常运行[^2]。通过访问官方项目地址 [https://gitcode.com/gh_mirrors/ob/OBS](https://gitcode.com/gh_mirrors/ob/OBS),可以获得更详细的安装指导以及常见问题解答。 #### 设置场景与源 进入 OBS 主界面后,需创建至少一个 **场景** 并添加相应的 **源** 来指定要记录的内容。例如,如果想录制桌面活动,则可新增“窗口捕获”或“显示捕获”作为源;若还需加入网络摄像头画面,则再增加一项名为“视频捕获设备”的源并选择对应的摄像装置[^3]。 #### 调整录制参数 点击左下角齿轮图标打开全局设定对话框,在其中找到“输出(Output)”部分来定制最终导出文件的形式。对于单纯录像而言,“文件输出复选框”应当被勾选,并从下方列表里挑选期望存储格式如 FLV、MP4 或 MKV 等[^1]。另外还可在同一区域调节比特率(Bitrate)数值影响画质清晰度同体积大小之间的平衡关系。 #### 开始&停止录制过程 当一切准备就绪之后,只需按下界面上显眼的大红圆按钮即可开启录制进程。而结束当前任务则再次单击该相同位置变成灰色填充状态的小方块图案代表暂停键旁边紧挨着的一个白色矩形按键即刻实现停止动作并将成果自动保存至预先指定路径之下。 ```python # 示例 Python 脚本展示如何调用 OBS API 控制基本录屏流程(假设已正确连接) import obsws_python as obs client = obs.ReqClient(host='localhost', port=4455, password="secret") def start_recording(): client.start_record() def stop_recording(): client.stop_record() start_recording() # 开启录制 stop_recording() # 停止录制 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值