进阶教程OBS参数与清晰度流畅度的关系v1.2
首先说明,小葫芦出品的本教程是需要主播有一定的电脑操作能力和基础的OBS使用知识的,并不是入门教程,而是进阶教程。
很多主播问过OBS的参数到底什么影响画质,到底什么影响流畅度,那么本篇教程尽量用通俗的语言解释下一些重要参数到底是干什么的,自己一定要理解为主,每个主播的电脑、所在的平台、当天的网络状态(注意网络就和马路一样,每天的情况都是不一样的)、平台的当天的状态、不同的游戏不一样,合适的参数都不一样。不要羡慕大主播高清流畅的画质,他们也是自己耐心(或者背后有技术团队)调整出来的。
首先第一,码率。
码率在OBS中叫最大比特率,
为什么叫最大比特率不叫比特率?
是因为
比如你现在采集了5000码率的东西,但是画面变化不大,上一个画面和现在的画面可能仅仅改变了500码率的部分,那么OBS就会优化,只传输500码率就行了,观众看起来却得到了5000码率的画面,可是观众只用了很少的下载速度,你也用了很少的上传速度。
所以经常有主播问,为什么我设置了很高的码率,右下角的数字在变,还很小?是不是出错了?看到这里应该明白了,没有出错,反而是正确的,那里显示的是优化后实际传输的数字。
但是如果画面变化的很剧烈,比如守望先锋跑动起来,那么就无法这样优化了,就必须用足够的码率来上传,那么问题来了,每个主播的上传带宽是有限的,平台能接收的带宽也是有限的(并不是你上传速度快就能肆无忌惮的提高码率,平台还有接收能力,speedtest那里测试的只是你的能力,你还要考虑平台的能力)。这就要限制上传速度了,否则传给平台的速度不够(注意我没说你上传速度不够)就会丢帧。
丢帧就是obs右下角的这样的
一般偶然有几个丢帧没事,一直在增加必须改进,否则观众会卡。
为了解决这个问题,obs中就需要设置最大比特率,就是俗称的码率。
当你采集的画面超过这个数值时,obs就会丢弃多余的和进行优化,保持这个速度上传。如果丢的过多优化的过多,观众看起来就会形成马赛克。这里并不是丢帧,而是为了保持码率而进行的优化。
很多主播问,这个码率到底填多少?
首先,这个最大值不能超过你的上传最大能力,就是在一般测速网站或者用专业测试工具测试出来的速度,比如5M,那么就是5000,2M就是2000,但是你还得留点带宽给自己和软件用吧,5000能有个4500就不错了,2000能有1500就不错了。
其次,你得考虑观众的网速,通常而言,手机用户(别以为都是wifi,我以前也这样认为,后来看了调查才知道)200k左右的下载速度就差不多了,200k乘以8就是码率,大概是1500左右的码率,这也是大多数平台,默认推荐的码率值。
多说一句,如果你不是直播,是录制视频,机器能带动的情况下,可以写很大,比如8000,1000。切记,直播不行,观众会卡的。
CBR
很多人会问这个CBR勾不勾。
80%的主播别勾!一旦勾上,OBS就会放弃帮你优化传输了,就是说每秒都要传输足够多的码率来直播(其实根本没有必要,你会损失很多网速不好的观众或者损失平台带宽不足的省份的观众,观众会喊卡)
那么什么情况要勾?给几百上千个主播调试后发现,只有码率不高,比如3500以下,平台带宽充足,而怎么设置也设置(怎么设置下面都在说)不出清晰的效果(尤其是跑动的动态画面会有马赛克),那么就勾上有奇效。
品质
在去掉CBR的勾后(勾上没这个品质的概念),直播软件需要计算,如何优化这个画面,以确保更少的传输内容却保证高质量的画面。而这个是需要计算量的,品质就决定了这个,品质越高,计算量越大(越耗CPU)。
那如何使用合适的品质哩?
最靠谱的方法是,你打开游戏开始运行,然后把品质调到10,游戏尽量用动态的画面而不是静止不动(为了方便观察,可以用录制视频的方法比较)。再把品质调到8。看看这两个视频肉眼看有区别吗,如果没有区别,你说哩?自然是机器好的保持10,机器不好的保持8(反正肉眼看不出差别)。同样原理,测试品质7,6,5,4等等。有的教程会给大家推荐一些类型游戏采用什么品质,出发点是好的,但是太笼统,尽量不要照本宣科,多动手,找到最适合自己的参数。
分辨率
然后,很重要的来了,
码率是要看分辨率的,分辨率越高,消耗的码率就越大。
注意这里的分辨率不是游戏也不是你电脑桌面的分辨率,是obs输出的视频分辨率。通常在这里
很多主播用默认的高分辨率显示器直播,有3000以上的分辨率,要知道直播不是看电影,这么高你得消耗多少码率,想想就知道要马赛克)
通常而言(注意啊!这里不是叫你一定啊,所有的数值你一定要自己对比测试,如果肉眼看起来一样,尽可能低的参数能适合更多的观众),通过压缩分辨率压缩到1280X720比较合适。
压缩分辨率
而且压缩分辨率还有个好处,就是节省CPU。有人会问,分辨率压缩了不是还要耗CPU吗,怎么反而会节省。自己动手实验先看结论看看压缩后的cpu使用和压缩前谁高(看本教程,尽量要边动手实验边看)然后告诉你大概的原因,这是因为,OBS大部分CPU消耗在制作视频上,而不是采集上,而压缩视频是把图片压缩成视频,越小的图片制作视频负担越小。所以先压缩,再制作视频,最后的cpu反而降低了。
当然,如果你能直接降低分辨率,那是最好的,节省了压缩的部分cpu,但是很多主播不习
惯改变分辨率游戏,所以只好压缩分辨率了。
有人问,压缩分辨率到底是提升画质还是降低画质?
正确的回答应该是:码率足够时,会降低画质,码率不够时,反而会提高画质。(因为降低了码率使用,不会被强制马赛克)
使用压缩分辨率时,经常有主播问,滤镜用最快还是最好。
最快,使用的CPU最少,但是画质最差(其实已经很好了,只是相比其他两个差点)。最好,使用的CPU最多,但是画质最好。那么,就要看你使用压缩分辨率的初衷了,如果你机器很好,是为了减少马赛克,那么用最好。如果你是机器带不动了,obs开始报警了(左下角报警cpu使用过高)那么肯定用最快咯。
此外,如果不用压缩分辨率,是比最好还要好的,但是分辨率比较高尽量压缩下,你要考虑观众的流畅。
做直播,首先要让观众看的流畅,卡了谁看你,然后才是清晰,马赛克很难受。但是如果马赛克和卡顿这两个比较,当然选流畅,情愿马赛克。本教程的目的是尽可能教会你即流畅又不马赛克,在机器配置和网络质量都达标是可以做到的。
那么码率到底用多少?这个问题最后再说,因为这里和其他参数息息相关。
FPS
好了,继续下个参数FPS。
这里的FPS是视频FPS,
不是游戏的FPS。不同的CPU和显卡、游戏,合适的值都不一样,通常情况下,一般25和30就足够了(比如LOL)。我们专门测试过,甚至少机器,20,30,60直播守望这种动作游戏都没区别。
当然,我们主要考虑大多数情况,一般的游戏25,30就行了,而大型动作游戏比如守望,主机游戏,大概有50%主播需要60,才能行云流水。而剩下40%左右,依旧30就行了。这里说明你一定要自己动手实验!如果你用30的肉眼感觉和60一样,那么自然30了,节省自己的CPU节省码率节省观众网速。
但是,大概有5%的主播,系统和驱动有问题,这里甚至会影响到游戏FPS,那这里被迫就要提高到60。
那么是不是我干脆就写60好了,不行,这里也影响码率,码率是表示一秒钟视频的大小,如果你一秒钟有30张图片,那么大小自然比一秒钟60张图片小,这里的图片个数就是FPS。
如果码率不够,就变成马赛克了,上面部分详细说了,你理解了就会明白。
到底能不能用60?自己试验确认
来源
下面介绍下用什么来源直播。首先尽可能别用显示器获取,不是配置的问题,而是原理的问题,这种方式极其耗资源(很多i7也带不动,视频fps会被严重拖累),(少部分机器经过试验不耗,可以用,自己要动手)。其次能用游戏源尽量用游戏源,腾讯和部分单机游戏要勾上反作弊兼容,暴雪游戏一般不需要。最后,如果不支持游戏源,那么就用窗口获取。
简单来言
腾讯大部分游戏和暴雪所有游戏,都用游戏源即可。注意有些游戏比如LOL是有大厅和游戏本身两个程序的,所以需要添加两个。腾讯游戏还要勾上反作弊兼容。
而单机游戏,steam上的,也大多数是游戏源。
少部分游戏特别老或者反作弊系统干扰游戏源或者特别新是DirectX12的,那么就只有把游戏改成无边框窗口化,再用窗口获取,如果游戏里面没有这个功能,那么可能只有用显示器获取了。
有的主播会问,那我不用显示器获取,游戏结束后怎么办,是黑的啊。如果你的机器能带动显示器获取(游戏不卡),那么就加上吧(注意要放在最下面,因为上面覆盖下面,右键顺序可以调整)。如果带不动,可以用个图片源,放个好看的桌面背景,又好看又节省资源。动手能力更强的,可以使用OBS自带的自动场景切换插件,这里就不展开说了,中文的,看看界面和百度下教程有解释的。
还有的主播一局游戏结束后第二局发现无法获得,黑了,这是部分机器上游戏源的一个bug,你只要重新添加即可,如果嫌麻烦,游戏源还有个快捷键设置,按下等于重加了。
部分游戏不支持游戏源需要用窗口获取,窗口获取里面的参数会问如何调整?其实方法很简单,大胆试验!就那几个参数,什么内部整个,获得图层,什么兼容模式,你点下再预览下,看看游戏是否获得了,有画面就ok了,多试验几次就知道正确的参数了。
编码器
再介绍下三个编码器。
通常情况下,用第一个,这个是使用CPU来编码的,优点是兼容性高,画质好,缺点是占用CPU最高。
如果机器带不动了,那么可以用第二个和第三个。
如果不能选择是灰色的,说明你的机器不支持或者没有打开(检查驱动)。
后面两个调用硬件显卡来编码,画质会降低,但是不占用CPU了,游戏卡顿会很大缓解。但是尤其是第三个,画质会差不少(一定要自己对比,别懒,不就试验2次看看就知道了吗)使用第三个如果直播黑屏了勿惊慌,点到高级,修改预设,挨个试验,总有不黑的(一般比如nvdefault)
高级
下面介绍x264的高级。这里每个参数不详细说了,很多和画质关系不大。
你所要注意的就是x264 CPU预设,越往上,CPU使用的越小,但是画质越差,越往下,就是越slow,CPU使用的越高,但是画质越好。通常用veryfast,对自己cpu有信心的可以调高(前方高能预警,调这个后一定要开你直播的游戏立刻测试下,别太有信心了)
以上参数通过你反复的对比测试(啥叫对比测试,就是你改下参数,去看下直播间的效果)找到合适的后,我们最后重点来说下码率的问题。
码率的选择
各大平台默认1500是有道理的,平台不会忽悠自己的主播,所以你先以1500码率为初始点。
100,200的上加,判断依据包括
1:是否OBS提示丢帧了,一旦提示丢帧说明码率高了,就别加了,要适当降低
2:观众是否喊卡了,喊卡了说明平台无法给你搭配如此高的带宽了(注意要大部分观众,偶然的不算,你可以喊网络好的朋友帮你)
还要注意一点,由于OBS会优化传输,所以在测试时,你可以勾上CBR,不要他优化,因为你要测试出你的码率能力嘛,但是直播时,80%情况要去掉cbr,切记。
最后你发现比如加到2800,画质好,不丢帧,观众反馈不错,而加到2900就开始丢了,那么你这次直播的最佳码率就是2800了。下次不一定是这个数值,但是反复多直播一些日子,你也就大概知道一般多少了。
预览是不会丢帧的,因为预览是不传输数据的,仅仅让你看画面,必须开始串流才行。
最后再介绍一个方法,在出现问题时,如何判断是你的问题还是平台的问题。
那就是不直播,点开始录制。
录制完一段时间后去看这个视频。录像文件在
这里。
如果录制的视频就有同样问题,那么就是你的本机参数没有调整好。如果录制的ok,平台直播出来有问题,比如颜色失真了,马赛克巨大,那么就是其他原因。
此外,本教程教的是方法,一定要理解,如果有更多问题或者建议,可以加群和我交流。OBS直播插件&交流群572631382
HTML TEXTAREA 滚动条属性设置
scrollbar属性、样式详解 1.overflow内容溢出时的设置(设定被设定对象是否显示滚动条)overflow-x水平方向内容溢出时的设置 overflow-y垂直方向内容溢出时的设置 以上三个属性设置的值为visible(默认值)、scroll、hidden、auto。 2.scrollbar-3d-light-color立体滚动条亮边的颜色(设置滚动条的颜色)scrollbar-arrow-color上下按钮上三角箭头的颜色 scrollbar-base-color滚动条的基本颜色 scrollbar-dark-shadow-color立体滚动条强阴影的颜色 scrollbar-face-color立体滚动条凸出部分的颜色 scrollbar-highlight-color滚动条空白部分的颜色 scrollbar-shadow-color立体滚动条阴影的颜色 我们通过几个实例来讲解上述的样式属性: 1.让浏览器窗口永远都不出现滚动条 没有水平滚动条
没有垂直滚动条 没有滚动条 或 2.设定多行文本框的滚动条 没有水平滚动条 没有垂直滚动条 没有滚动条 或 3.设定窗口滚动条的颜色 设置窗口滚动条的颜色为红色 scrollbar-base-color设定的是基本色,一般情况下只需要设置这一个属性就可以达到改变滚动条颜色的目的。 加上一点特别的效果:创建一个滚动的文本字幕
示例:
网页HTML代码-动文字的制作
本节笔者讲述HTML代码中比较特殊的标签,它能使网页中的文字滚动,并且可以控制其滚动的属性。 制作滚动文字 通过本章前面的学习,读者已经能够很好地控制各种段落文字的显示方式,不过无论怎么设置,文字都是静态的。本节笔者讲述HTML代码中比较特殊的标签,它能使网页中的文字滚动,并且可以控制其滚动的属性。 4.3.1 设置文字滚动 HTML技术中使文字滚动的方法是使用双标签<marquee></marquee>。在HTML代码中可使其作用区文字滚动,默认为从右到左,循环滚动。在D:\web\目录下创建网页文件,命名为mar.htm,编写代码如代码4.15所示。 代码4.15 文字滚动的设置:mar.htm <html> <head> <title>文字滚动的设置</title> </head> <body> <font size="5" color="#cc0000"> 文字滚动示例(默认):<marquee>做人要厚道</marquee> </font> </body> </html> 在浏览器地址栏输入http://localhost/mar.htm,浏览效果如图4.15所示。 图4.15 设置文字滚动默认形式 从图4.15可得,在未设置宽度时,<marquee></marquee>标签是独占一行的。 4.3.2 设置文字滚动的方向 <marquee></marquee>标签的direction属性用于设置内容滚动方向,属性值有left、right、up、down,分别代表向左、向右、向上、向下,例如以下代码:<marquee direction="left">做人要厚道</marquee> <marquee direction="right">做人要厚道</marquee> <marquee direction="up">做人要厚道</marquee> <marquee direction="down">做人要厚道</marquee> 4.3.3 设置文字滚动的速度和形式 设置文字滚动使用<marquee></marquee>标签,其属性说明如下。 —<marquee></marquee>标签的scrollamount属性用于设置内容滚动速度。 —<marquee></marquee>标签的behavior 属性用于设置内容滚动方式,默认为scroll,即循环滚动,当其值为alternate时,内容将来回循环滚动。当其值为slide时,内容滚动一次即停止,不会循环。还有一个loop属性可设置其滚动循环次数,默认为没有限制。 —<marquee></marquee>标签的scrolldelay属性用于设置内容滚动的时间间隔。 —<marquee></marquee>标签的bgcolor属性用于设置内容滚动背景色(类似于body的背景色设置)。
创建一个滚动的文本字幕.
示例:
网页设计HTML图片滚动代码
[HTML代码]会移动的文字(Marquee) Marquee标记用于在可用浏览区域中滚动文本。这个标记只适用于 IE3以后的版的浏览器。 格式:
定的值有:LEFT,CENTER,RIGHT,TOP,BOTTOM。此属性不 是必须使用的。 例:
ASP文本滚动
HTML技术中使文字滚动的方法是使用双标签
在幻灯片中如何设置文字滚动效果
在幻灯片中如何设置文字滚动效果? 在使用PowerPoint制作幻灯片时,会遇到这样的问题:一个图文并茂的幻灯片,左面是图,右面是说明文字,文字内容过多,不能全部展示;又如,产品演示,分成若干页,上翻下翻十分不便,放在一页又受版面限制,容纳不下……其实可以用“控件工具箱”来解决,具体实现如下: 1.新建一个幻灯片,选择所需版面。 2.打开“控件箱工具箱” 点击[视图]→[工具栏]→[控件工具箱],或在任意工具栏或菜单栏上击鼠标右键,选择“控件工具箱”。 3.插入“文字框”控件. 选择“控件工具箱”中“文字框”选项,在编辑区按住鼠标左键拖拉出一个文本框,调整位置及大小。 4.设置“文字框”属性 , 在“文字框”上击鼠标右键,选择“属性”,弹出“文字框”属性窗口(如图2),在属性窗口中对文字框的一些属性进行设置。其中: EnterKeyBehavior属性:设为True时允许使用回车键换行。 MultiLine属性:设为True时允许输入多行文字。 ScrollBars属性:利用滚动条来显示多行文字内容,其中1-fmScrollBarsHorzontal为水平滚动条;2-fmScrollBarsVertical 为垂直滚动条;3-fmScrollBarsBoth为水平滚动条与垂直滚动条均存在。当文字不超出文字框时,滚动条设置无效,当文字超出文字框时,则出现一个可拖动的滚动条。
其他属性可根据个人需要进行设置,比如BackColor用来设置文字框的背景颜色,TextAlign用来设置文字对齐方式等。 要实现滚动条对文本的控制,必须设置EnterKeyBehavior属性为True,MultiLine属性为True,并按需设置ScrollBars属性。 5.输入文字框内容 右击“文字框”,选择[文字框对象]→[编辑],即可进行文字内容的输入,或按[Ctrl+V]把剪贴板上的文字拷贝到文字框中。 6.文本编辑完之后,在文字框外任意处单击左键退出编辑状态。 至此,一个文字可以随滚动条上下拖动而移动的文本框就完成了。
html css javascript实现列表循环滚动示例代码
使用html+css+javascript实现列表循环滚动,设置时间定时,在规定的时间内替换前一个节点的内容,具体示例如下,感兴趣的朋友可以参考下 说明:设置时间定时,在规定的时间内替换前一个节点的内容 1、关键代码:javascript: 代码如下: <script type="text/javascript"> var dome=document.getElementById("dome"); //获取节点 var dome1=document.getElementById("dome1"); var dome2=document.getElementById("dome2"); var speed=50;//设置向上轮动的速度 dome2.innerHTML=dome1.innerHTML;//复制节点关键语句 function moveTop(){ if(dome1.offsetHeight-dome.scrollTop<=0){//判断内容第一次是否循环完了 dome.scrollTop=0; }else{ dome.scrollTop++;//否则上移 } } var myFunction=setInterval("moveTop()",speed);//设置时间定时 dome.onmouseover=function(){//鼠标放在区域内停止 clearInterval(myFunction); } dome.onmouseout=function(){ myFunction=setInterval(moveTop,speed); } </script> 2、代码示例:完整代码(可运行) 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.360docs.net/doc/b51029489.html,/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="https://www.360docs.net/doc/b51029489.html,/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>循环滚动信息栏</title> <style type="text/css"> body{ margin:0px; padding:0px; } #express li{ height:25px; border-bottom:dashed 1px #999;
html滚动字幕代码
html滚动字幕代码
html滚动字幕效果
滚动字幕特效大全代码2010-11-04 00:09:31| 分类: ﹎biog教程| 标签:|字号大中 小订阅 把代码中的文字改为你的文字就可以了。 1.阴影滚动字 循环滚动: 欢迎来到农夫空间 代码:
代码:
利用HTML自带的图片滚动标签实现效果
1、一般方式
html 滚动字幕代码
基本语法: 文字循环滚动无缝连接特效 文字循环滚动无缝连接特效