OBS Studio(Open Broadcaster Software)是一个免费的开源的视频录制和视频实时流软件。其有多种功能并广泛使用在视频采集,直播等领域。

https://obsproject.com/  (OBS官网,不建议使用国内代理版本,毕竟第三方插件的安全性值得怀疑)。

用于直播时,应当注意根据具体的电脑配置调节设置。以常见的720P视频为例(没有独显的电脑很难满足1080P以上编码的要求),视频缩放分辨率一般采用1080*720,帧数FPS值一般选择30~48较为适宜。基础分辨率>>缩放分辨率时,使用Lanczos效果较好。直播上传的是视频+音频,所以最大上传码率是最大码率+音频码率<=80%左右的上传带宽(剩余带宽用于游戏和网络连接,建议上传网速5M以上比较合适。

有公式如下:视频码率=分辨率*品质*帧数/1024。如720P的一个短片,音频128kbps,总的码率为1080*720*0.08*30/1024+128=1950.5kbps=1.95M,能够满足像Bilibili或斗鱼等平台(b站H5播放器本身有自压,上传流码率达到4000其实也无所谓),除非熊猫、虎牙等大平台,不建议使用更高码率。

对于视频流而言,采用不同的比特率、编码器会导致画面观感极大的区别。实际应用中,比特率一般在2500~3500之间,码率过高的话,可能部分观众的网络承载能力会很受影响(体现在较大的延时,手机承载上限一般是4M)。作为i5 7200+核显hd620玩家,OBS可供选择的编码器仅有x264和QSV两种,其不同之处在于前者在CPU有余裕能有更好的编码质量,(在不使用采集卡或外界独显的情况下)QSV方式使用独显承担全部压缩工作,编码质量略比x264差些,不过添加独显则另当别论。同码率比较下最终表现为x264在边缘锐化、颗粒处理更加出色,也是为什么有时低码率情况下反而画质比高码率好的原因。

常见问题:

1.软件直播时声音无限循环——出现这种情况多半是因为此刻你还开着直播平台,导致了无限录音+推流,同一段声音将持续递降长达约5分钟。

2.推送预览界面出现黑边,直播平台上显示明显的覆盖不均匀。可以选择将“窗口捕获”图层做”变换”——>“拉伸到全屏”,不过,值得注意的是,选择“显示器捕获“时,倘若电脑本身不是流行的16:9屏幕时,拉伸操作会导致一定的文字、图片变形。(完全适应的话具体需要调整自身电脑分辨率,嫌麻烦我就没改了)

可以参考这篇文章http://www.obsapp.com/skill/2163.html

OBS提供了统计、窗口化投影等工具,可以作为调整推送流速度的参考依据。

OBS直播和相关操作的更多相关文章

  1. 【教程】OBS直播推流教程(Windows & macOS)

    OBS Open Broadcaster Software | OBS (obsproject.com) Windows直播推流教程 Windows下OBS直播推流非常简单,本教程将会介绍,具体步骤如 ...

  2. 从零自学Hadoop(20):HBase数据模型相关操作上

    阅读目录 序 介绍 命名空间 表 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 ...

  3. 从零自学Hadoop(21):HBase数据模型相关操作下

    阅读目录 序 变量 数据模型操作 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 ...

  4. 理解CSV文件以及ABAP中的相关操作

    在很多ABAP开发中,我们使用CSV文件,有时候,关于CSV文件本身的一些问题使人迷惑.它仅仅是一种被逗号分割的文本文档吗? 让我们先来看看接下来可能要处理的几个相关组件的词汇的语义. Separat ...

  5. Liunx下的有关于tomcat的相关操作 && Liunx 常用指令

    先记录以下liunx下的有关于tomcat的相关操作 查看tomcat进程: ps-ef|grep java (回车) 停止tomcat进程: kill -9 PID (进程号如77447) (回车) ...

  6. pip的相关操作

    >Python中的pip是什么?能够做些什么? pip是Python中的一个进行包管理的东西,能够下载包.安装包.卸载包......一些列操作 >怎么查看pip的相关信息 在控制台输入: ...

  7. python操作mysql数据库的相关操作实例

    python操作mysql数据库的相关操作实例 # -*- coding: utf-8 -*- #python operate mysql database import MySQLdb #数据库名称 ...

  8. php对二维数组进行相关操作(排序、转换、去空白等)

    php对二维数组进行相关操作(排序.转换.去空白等) 投稿:lijiao 字体:[增加 减小] 类型:转载 时间:2015-11-04   这篇文章主要介绍了php对二维数组进行相关操作,包括php对 ...

  9. SQL语言和DML相关操作以及相应的运算符

    SQL 1.结构化查询语言 2.特点 a.第四代编程语言,更接近自然语言 b必须有数据库系统解释执行 c.对象名,关键字不区分大小写 d.字符串必须要用单引号引起来,不能用双引号 e.每条语句最后用分 ...

随机推荐

  1. 垃圾回收GC:.Net自己主动内存管理 上(二)内存算法

    垃圾回收GC:.Net自己主动内存管理 上(二)内存算法 垃圾回收GC:.Net自己主动内存管理 上(一)内存分配 垃圾回收GC:.Net自己主动内存管理 上(二)内存算法 垃圾回收GC:.Net自己 ...

  2. mac下安装tensorflow及入门例子

    https://www.tensorflow.org/install/install_mac 使用virtualenv安装,virtualenv相当于使tensorflow运行在虚拟机环境下. 需要使 ...

  3. Python3.4 远程操控电脑(开关机)

    import poplib import sys import smtplib from email.mime.text import MIMEText import os from email.he ...

  4. Java命名规则详细总结

    Class名应是首字母大写的名词.命名时应该使其简洁而又具有描述性.异常类的命名,应以Exception结尾.Interface的命名规则与Class相同 1. JAVA源文件的命名 JAVA源文件名 ...

  5. C# Path 有关于文件路径等问题类(转)

    C# Path 标签:C#, Path C-Sharp  0 Path handles file path processing. The .NET Framework provides effect ...

  6. PCB 无需解压,直接读取Zip压缩包指定文件 实现方法

    最近有一项需求,将电测试点数后台批量写入到工程系统流程指示中,而电测试文件存在压缩包中,压缩包存在公共网络盘 示例图: 一.采用原始方法(4步完成): 第1步:.网络盘ZIP拷到本地, 第2步:解压Z ...

  7. android service--delphixe 10.3

    开发中的陷阱: 1. 别放什么 *.wav文件,这个 服务窗口不能随便放东西,不然铁定出现意想不到的结果,比如 无法运行,因为没 ui界面,随意都不知是啥问题. 2. 不能加载 datamodule ...

  8. 前端常见面试题总结part2

    今天总结了几道,感觉非常有意思的题,有感兴趣的可以看下,有疑问请留言~ (答案在最后) 考察自执行函数的this指向 审题要细心 var n = 2, obj = { n:2, fn:(functio ...

  9. POJ 2553 Tarjan

    题意:如果v点能到的所有点反过来又能到v点,则v点是sink点,排序后输出所有的sink点. 思路:Tarjan缩点,输出所有出度为0的连通块内的点. PS:一定要记得把数组清零!!!!!!!否则自己 ...

  10. Java 类加载器及加载Class字节码

    参考来源:http://www.cnblogs.com/fingerboy/p/5456371.html       java笔记--理解java类加载器以及ClassLoader类 参考来源:htt ...