obs 推流

了解rtmp地址

Rtmp地址是直播数据上传地址,唯一指向单个的直播活动。它由rtmp://开头。
例如湖南卫视,rtmp://58.200.131.2:1935/livetv/hunantv

obs软件的使用

  1. 参数设置

    如上图,设置的话。服务器:rtmp://58.200.131.2:1935/livetv 串流密钥:hunantv

  2. Ui 按钮分析以及函数查找

    上图的开始推流按钮,就是源码当中如下图的ui

    OBSBasic::on_streamButton_clicked()函数

  3. 推流核心函数 StartStreaming();其中设计的是对流相关的创建

  4. 相关流信息之后,是开始推流

  5. SimpleOutput::StartStreaming(obs_service_t *service) 设置合适的参数

OBS日志

  1. 在主界面点击—帮助 – 日志文件—显示日志文件
    弹出文件夹 例如:C:\Users\健健\AppData\Roaming\obs-studio\logs

  2. 其命名规则按照时间来命名的

    相关函数

    参数一:格式。例如”txt”; 参数二:默认false
    string GenerateTimeDateFilename(const char *extension, bool noSpace)
    {time_t now = time(0);char file[256] = {};struct tm *cur_time;cur_time = localtime(&now);snprintf(file, sizeof(file), "%d-%02d-%02d%c%02d-%02d-%02d.%s",cur_time->tm_year + 1900, cur_time->tm_mon + 1,cur_time->tm_mday, noSpace ? '_' : ' ', cur_time->tm_hour,cur_time->tm_min, cur_time->tm_sec, extension);return string(file);
    }
  3. 源码分析
    在源码中,经常见到

    blog(LOG_INFO, "Audio monitoring device:\n\tname: %s\n\tid: %s",device_name, device_id);
    
  • 使用blog的函数类似的代码。
    深入研究下,发现其本质上是log_handler函数的调用
  • 那么obs内部是怎么使用的呢。它提供了接口 base_set_log_handler函数,提供给我们使用。
  • 日志模块的使用主要在 obs-app.cpp和obs-app.hpp中体现的
    涉及函数 create_log_file
  • 根据上图找到前面讲到的 base_set_log_handler函数,查看下其传入的参数do_log函数;
  • do_log函数 核心在于写文件,就是LogStringChunk 函数

OBS的多开处理

  1. 对于程序的多开,一般处理方式就是找到程序的名字或者pid。但是obs的处理比较有意思,主要用的是以下这两个函数: OpenMutexW和CreateMutexW函数

  2. 头文件:Windows.h ;库文件:Kernel32.lib

  3. 函数介绍

    OpenMutex函数为现有的一个已命名互斥体对象创建一个新句柄。
    返回值:如执行成功,返回对象的句柄;零表示失败CreateMutex()函数可用来创建一个有名或无名的互斥量对象。
    如执行成功,就返回互斥体对象的句柄;零表示出错


    可以这么去理解,第一次没找到改名字的互斥量,创建。第二次开始一旦找到,更改标志位,在外层去加入判断逻辑

OBS 插件推流以及日志模块相关推荐

  1. obs多路推流插件_直播教程 | OBS主播如何解锁虎牙直播全部的功能玩法?

    OBS虚拟摄像头使用教程 OBS主播日常苦恼: 好想玩玩虎牙的小程序,心愿榜.你画我猜.小虎弟,还有这个那个! 好想用虎牙的连麦PK和小姐姐连麦! 好想拥有新出的智能助手旺财! ... ... 其实现 ...

  2. Django中间件与python日志模块 介绍

    一.Django中间件 1.1 介绍 Django中的中间件是一个轻量级.底层的插件系统,介于request与response处理之间的一道处理过程(用来处理特定业务的请求和响应).中间件的设计为开发 ...

  3. obs多推流地址_什么都比不上动手能力,OBS 推流实践小记

    前段时间参加一个线上的讲座,提到关于OBS直播推流的演示,直播的场面非常有气势.特别是关于同时接入多个视频设备的操作,可以实现近景+远景的完美搭配.学完之后,就一直计划着实践,否则学完看完也就是完了. ...

  4. OBS第三方推流直播教程

    第三方推流使用场景 1.当使用YY客户端进行直播遇到问题,暂无解决方法的时候,可以使用第三方直播软件OBS进行推流. 2.对OBS情有独钟的主播. OBS简介: OBS是一款比较好用的开源直播软件,目 ...

  5. obs多推流地址_OBS如何进行多路推流

    多路推流 即一次直播在多平台上实时直播显示,一对多实现多路推流.目前市面上的多路推流软件的大部分都是收费的,今天给大家介绍如何利用OBS实现多路推流. 下载OBS软件和OBS插件 •OBS网址:htt ...

  6. 搭建Nginx+nginx-rtmp-module的hls流媒体服务器并用OBS进行推流

    最近在做直播项目,查阅了一下相关资料然后成功搭建服务,在这里整理记录下实现过程以及踩过的坑. 一.直播协议简介: 首先,在搭建服务之前先了解下目前主流的几个直播协议: 1.RTMP: 实时消息传输协议 ...

  7. obs多推流地址_OBS直播多平台同时推流解决方法,简单粗暴

    用OBS作为电脑直播推流,是很多人使用的一款开源软件. 我们使用OBS时,它默认的是只能推一个平台,若想一个界面多个平台同时直播,就像大家看到的,有人弄了很多手机架在面前,或者打开多个直播软件,把电脑 ...

  8. obs多推流地址_直播教程 | 虎牙PC客户端+OBS开播教程

    虎牙PC客户端+OBS开播教程 主播大大好啊! 在直播的"远古时代",各个平台的主播基本都是用OBS进行开播的,免费而且开源的OBS (Open Broadcaster Softw ...

  9. 日志模块 logging

    举例:# 1.办公室# 2.负责往控制台里面输出日志信息的# 3.往日志文件里面写日志的,按天生成日志,清理日志 import logging #导入日志模块 from logging import ...

最新文章

  1. R语言威布尔分布函数F Distribution(dweibull, pweibull, qweibull rweibull )实战
  2. 自动驾驶是人工智能在交通领域最彻底的应用
  3. Kubernetes CRD开发汇总
  4. 多路 IO 转接 :select 函数
  5. 基于FPGA的UART接口协议设计
  6. win10 安装selenium和使用
  7. CentOS7升级版本
  8. 【ESSD技术解读】 云原生时代,阿里云块存储 ESSD 快照服务如何被企业级数据保护所集成?
  9. linux 查看cpu和磁盘使用情况
  10. ASP.NET 2.0 学习笔记 1: session 与 script 应用
  11. jax-rs/jersey_使用JAX-RS(Jersey)的HTTP状态错误消息响应中的自定义原因短语
  12. Java线程类void setContextClassLoader(ClassLoader loader)方法,带示例
  13. request_irq与request_threaded_irq
  14. 关于树的父子节点的图形化展示
  15. 软件项目管理题外话篇-项目计划与结婚
  16. 【TiDB DevCon 2020】金融专题论坛演讲视频汇总
  17. ora-20011 ora-01555
  18. 自媒体人必备16种工具大全,这些工具你值得拥有干货
  19. 恐龙世界游戏-恐龙百科世界乐园游戏
  20. CSS快速学习(2021.2.7-15)

热门文章

  1. 身体语言密码_【微观心境】| 身体语言知多少!
  2. Oracle传奇-书写历史的甲骨文
  3. 中国联通网上4G商城营业厅VIP客户俱乐部简介
  4. 程序员的十层楼及读后感
  5. [Android GMS 认证] CTS Verifier 测试结果的迁移
  6. HTML+CSS+JavaScript制作登录页面_科幻后台登录界面html模板_科技感登录界面html模板...
  7. Viso画流程图在文本边框、矩形边框线上添加文字、写文字
  8. 985北京航空航天大学软件考研改考!数据结构+软件工程+操作系统
  9. HTML:Input元素标签的详细介绍
  10. 关于@GeneratedValue和@GenericGenerator的学习笔记