问题标签 [obs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 如何使用 LUA 脚本发送击键?
如何使用 .lua 脚本发送击键?即触发F7
按键(或任何键)。
我的特定环境是 Windows 64 位并在 OBS Studio 中运行 lua 脚本(但我猜环境并不重要)。
c++ - 从 OBS dshow 过滤器捕获
我是一名 C++ 开发人员,致力于开发第 3 方 Windows 软件。我的软件来自网络摄像头、采集卡和外部应用程序 (vmix)。我们的一些客户不想再为 vmix 许可证付费,而是希望在我们的软件中使用 OBS(作为摄像头)而不是 vmix。
我正在努力制作一个从 OBS dshow 源过滤器捕获音频和视频帧的代码。我只是没有框架。是否有任何可用的 c++ 示例代码显示 3rd 方应用程序如何以与 vmix 相同的方式从 OBS 捕获?
只是补充......问题是当尝试使用directshow api(样本采集器过滤器)从dshow音频过滤器捕获音频样本时不会出现。方法:
STDMETHODIMP CapDShowBase::SampleCB( double sampleTime, IMediaSample * pSample)
永远不会使用音频样本调用。视频样本正常出现。我已经尝试了几乎所有...
我认为 OBS dshow 音频过滤器实现中存在错误。
链接到 OBS 论坛主题: https ://obsproject.com/forum/threads/capture-from-obs-dshow-filters.114452/
非常感谢,丹尼尔
azure-media-services - azure 媒体服务直播中的 Stream Key
我在 azure 媒体服务中创建了频道和节目。两者都在运行,我有摄取 URL。但是 OBS Studio 要求我提供“流密钥”。我尝试按照“ https://medium.com/@dsayed/live-streaming-with-microsoft-azure-eb6408d31ed ”中的建议提供“默认” ,但它不起作用。如果我遗漏任何内容或如何在 azure 中获取流密钥,请告诉我。
问候, 纳瓦尼思
nginx - 如何使用 FFmpeg 和 NGINX RTMP 进行流式传输
我正在尝试从我的 Windows PC 上的 OBS(开放广播软件)流式传输到同样安装在同一台 PC 上的 NGINX+RTMP。我在 OBS 中设置了 20,000Kbps 的比特率,这将是我打算在 NGINX 中设置的多个流的基础比特率。
我希望能够流式传输到 NGINX,然后即时使用 FFmpeg 对流进行转码,以符合我打算广播到的流媒体站点,例如 Twitch.tv。
如果我使用网络路径 rtmp://localhost/live/test,我可以通过 VLC 查看我的流。但是,当我在 Twitch 的检查员网站上查看我的直播是否结束时,我什么也没有收到。我不知道我的 FFmpeg 是否正常工作,或者下面的 NGINX 配置有问题。
如果有人可以阐明我可能会出错的地方,那将不胜感激。
nginx.conf
非常感谢
更新 1
为简单起见,我在同一台物理计算机(Windows PC)上测试 OBS、NGINX 和 FFmpeg。一旦一切正常,我会将 NGINX 和 FFmpeg 移植到我的 Linux PC。
我正在使用带有 RTMP 模块的 NGINX 的预编译版本。我还下载了最新的 FFmpeg 库,我在 Windows 中设置了路径环境变量,以便可以在 CommandPrompt/PowerShell 中调用 FFmpeg 命令。
这是我要走的路:-
OBS 以 20,000Kbps 的速度对 x264 进行编码,它的目标是 NGINX 中称为“实时”的 RTMP 应用程序。从这里我想将来自 OBS 的一个流编码成几个更小的带宽流,以便我可以满足流媒体服务的要求,例如 Twitch 和 Mixer。
在 FFmpeg 参数结束时,我是直接将输出推送到 Twitch 还是将 FFmpeg 的输出发送回 NGINX 上的第二个 RTMP 应用程序,然后再推送到 Twitch?
在转到外部流服务之前将 FFmpeg 的输出推回 NGINX 的一个优点是,我可以通过支持 RTMP 的播放器(例如 VLC)打开 FFmpeg 转码流,从而允许我查看压缩输出。
我的另一个问题是,FFmpeg 参数可以放在单独的行中还是必须全部放在一行中?
这是一个非常好的网站,我一直在回顾
python - OBS Studio 如何以编程方式设置选项
为 OBS Studio 编写插件,我一直在尝试使用 luaobs 或 obspython 设置录制文件名/路径
我将如何以编程方式设置这些设置?
streaming - 使用 OBS 和 ffmpeg 串流多个 RTMP IP 摄像机
我在运行 CentOS 7 的 VPS 上使用 Nginx 和 RMTP 模块创建了一个流媒体服务器。我正在尝试使用 OBS 流式传输多个 IP 摄像机来广播流。我的问题是如何使用 nginx.conf 文件中的不同应用程序为每个摄像头创建多个 m3u8 流文件。我尝试使用多个 OBS 实例来实现这一点,但我的 CPU 能力已经耗尽。我发现通过使用 ffmpeg 可以流式传输多个流,但我不知道确切的命令。每台摄像机用于广播的比特率约为 512Kbps-1024Kbps。我的 nginx.conf 如下:
使用 2 个具有不同流名称的 OBS 实例,我能够同时流式传输 2 个摄像头,但我想流式传输 50 多个摄像头,而使用这种方法是不可能的。我认为这可以用ffmpeg完成。RTSP 流的格式是 rtsp://username:password@hostname:port 但我需要一些命令帮助。任何帮助,将不胜感激。提前致谢。
.net - windows 多显示器系统,将 .net 屏幕映射到 DirectX 显示器 #
我将描述需求:
出于报告错误的目的,我们在应用程序中包含了一种用于屏幕视频捕获的方法。
为此,我们使用了一个名为OBS studio的开源库。
在多显示器设置中(几乎 100% 的客户群),我们需要告诉 OBS 要捕获哪个显示器。OBS 使用 DirectX,它可以索引监视器,从 0 开始编号。
我们的应用程序是一个 .net 应用程序。看起来相关的 2 个 API 调用是:
这些静态调用返回一个 Screen 对象或一组屏幕对象(.NET 文档)。
现在的问题:
- 如何找到我的应用程序主窗口的 DirectX 监视器编号(给定 .net“屏幕”),以便我可以要求 OBS 记录它?
- 换句话说,如何从 .NET 映射 AllScreens 数组以监控 DirectX 理解的索引?
和平。
nginx - 如何使用 ffmpeg/OBS 生成 HTTP/rtmp 输出(URL)并使用该 URL 在媒体播放设备上播放?
我尝试使用 ffmpeg -i inputsource http://IP/live甚至尝试通过推送 rtmp://IP 来修改我的 nginx 文件夹中的 win.conf 文件,但是当我在媒体播放设备中使用 http 或 rtmp URL 时,我不断得到错误。
ubuntu - NGINX 流式 RTMP:没有接受的连接,没有错误
我正在尝试通过 RTMP 从 OBS 工作室将视频流发送到 VPS 上的 nginx 服务器 问题:nginx 似乎不接受 URL 上的输入,OBS 在发送时超时
我已按照本教程确保 nginx 拥有所需的一切:https ://www.vultr.com/docs/setup-nginx-rtmp-on-ubuntu-14-04#Configuring_Software_to_Work_with_Nginx_RTMP
我在运行默认配置文件的 VCS(Ubuntu)上安装了 nginx 1.17.9,并添加了以下 RTMP:
我已经尝试让 OBS 流到其中一个 rtmp://IP:1935/hlslive
或rtmp://IP:1935/live
- 我收到一条错误消息,指出尝试超时。我可以访问http://IP/就好了。我可以测试配置文件并且它通过了。有关如何排除故障的任何建议?
UFW 状态被禁用,OBS 可以流式传输到其他服务器。