我直播时候使用的工具链

我常用的操作系统是Windows 10 企业版 LTSC,我经常会在B站和YouTube直播,我使用的软件都是免费开源,而且是持续维护的。这一套软件是我摸索了一段时间,对比之后选择的 目前最优方案。

关于直播软件,除非平台指定自家研发的直播软件,比如抖音。其余平台我只推荐OBS Studio

OBS-studio: https://obsproject.com/

但是它有一个缺点: 不支持系统代理,所以代理这块我推荐使用proxychains

proxychains-windows: https://github.com/shunf4/proxychains-windows

proxychains需要配置一些东西,不能直接使用。点击tags下载适合自己系统的版本,下载好之后可以在文件夹中找到示例配置文件 proxychains.conf,编辑最后一行指定你本机的socks5地址。 比如我本机的socks5端口是10808,所以需要将最后两行代码更改为如下配置:

1
2
[ProxyList]
socks5 127.0.0.1 10808

将解压后的所有文件放置在obs可执行文件(obs-studio\bin\64bit\obs64.exe)同一级目录。这里比较重要的文件如下:

1
2
3
4
proxychains_helper_win32_x64.exe
proxychains_hook_x64.dll
proxychains_win32_x64.exe
proxychains.conf

为了更方便我快速启动obs,所以我在此目录有新建了一个批处理文件文件,这样我们就可以双击.bat文件,从而达到启动OBS并设置本机Socket5代理的效果。批处理文件内容如下:

1
proxychains_win32_x64.exe -f ./proxychains.conf ./obs64.exe

既然提到代理了,那就推荐一个常用的Windows平台客户端。

https://github.com/2dust/v2rayN

最后再没羞没臊的推荐我自己写的面板,支持Xray/原版TrojanGo/Hysteria/NaiveProxy

https://github.com/trojanpanel/install-script

再说回OBS在YouTube和B站直播的弹幕设置。在OBS中新建来源,来源类型是浏览器。

关于YouTube给大家一个我常用的弹幕样式,内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
@import url("https://fonts.googleapis.com/css?family=Ultra");
@import url("https://fonts.googleapis.com/css?family=Changa One");
@import url("https://fonts.googleapis.com/css?family=Imprima");
@import url("https://fonts.googleapis.com/css?family=Capriola");

/* Background colors*/
body {
overflow: hidden;
background-color: rgba(0, 0, 0, 0);
}

/* Transparent background. */
yt-live-chat-renderer {
background-color: transparent !important;
}

yt-live-chat-text-message-renderer,
yt-live-chat-text-message-renderer[is-highlighted] {
background-color: transparent !important;
}

yt-live-chat-text-message-renderer[author-type="owner"],
yt-live-chat-text-message-renderer[author-type="owner"][is-highlighted] {
background-color: transparent !important;
}

yt-live-chat-text-message-renderer[author-type="moderator"],
yt-live-chat-text-message-renderer[author-type="moderator"][is-highlighted] {
background-color: transparent !important;
}

yt-live-chat-text-message-renderer[author-type="member"],
yt-live-chat-text-message-renderer[author-type="member"][is-highlighted] {
background-color: transparent !important;
}


yt-live-chat-author-chip #author-name {
background-color: transparent !important;
}

/* Outlines */
yt-live-chat-renderer * {
text-shadow: -3px -3px #000000, -3px -2px #000000, -3px -1px #000000, -3px 0px #000000, -3px 1px #000000, -3px 2px #000000, -3px 3px #000000, -2px -3px #000000, -2px -2px #000000, -2px -1px #000000, -2px 0px #000000, -2px 1px #000000, -2px 2px #000000, -2px 3px #000000, -1px -3px #000000, -1px -2px #000000, -1px -1px #000000, -1px 0px #000000, -1px 1px #000000, -1px 2px #000000, -1px 3px #000000, 0px -3px #000000, 0px -2px #000000, 0px -1px #000000, 0px 0px #000000, 0px 1px #000000, 0px 2px #000000, 0px 3px #000000, 1px -3px #000000, 1px -2px #000000, 1px -1px #000000, 1px 0px #000000, 1px 1px #000000, 1px 2px #000000, 1px 3px #000000, 2px -3px #000000, 2px -2px #000000, 2px -1px #000000, 2px 0px #000000, 2px 1px #000000, 2px 2px #000000, 2px 3px #000000, 3px -3px #000000, 3px -2px #000000, 3px -1px #000000, 3px 0px #000000, 3px 1px #000000, 3px 2px #000000, 3px 3px #000000;
font-family: "Capriola";
font-size: 25px !important;
line-height: 30px !important;
}

yt-live-chat-text-message-renderer #content,
yt-live-chat-legacy-paid-message-renderer #content {
overflow: initial;
!important
}

/* Hide scrollbar. */
yt-live-chat-item-list-renderer #items {
overflow: hidden !important;
}

yt-live-chat-item-list-renderer #item-scroller {
overflow: hidden !important;
}

/* Hide header and input. */
yt-live-chat-header-renderer,
yt-live-chat-message-input-renderer {
display: none !important;
}

/* Reduce side padding. */
yt-live-chat-text-message-renderer,
yt-live-chat-legacy-paid-message-renderer {
padding-left: 4px !important;
padding-right: 4px !important;
}

yt-live-chat-paid-message-renderer #header {
padding-left: 4px !important;
padding-right: 4px !important;
}

/* Avatars. */
yt-live-chat-text-message-renderer #author-photo,
yt-live-chat-paid-message-renderer #author-photo,
yt-live-chat-legacy-paid-message-renderer #author-photo {

width: 25px !important;
height: 25px !important;
border-radius: 25px !important;
margin-right: 6.25px !important;
}

/* Hide badges. */
yt-live-chat-text-message-renderer #author-badges {
display: none !important;
vertical-align: text-top !important;
}

/* Timestamps. */
yt-live-chat-text-message-renderer #timestamp {

color: #999999 !important;
font-family: "Imprima";
font-size: 16px !important;
line-height: 16px !important;
}

/* Badges. */
yt-live-chat-text-message-renderer #author-name[type="owner"],
yt-live-chat-text-message-renderer #author-name.owner,
yt-live-chat-text-message-renderer yt-live-chat-author-badge-renderer[type="owner"] {
color: #ffd600 !important;
}

yt-live-chat-text-message-renderer #author-name[type="moderator"],
yt-live-chat-text-message-renderer #author-name.moderator,
yt-live-chat-text-message-renderer yt-live-chat-author-badge-renderer[type="moderator"] {
color: #5e84f1 !important;
}

yt-live-chat-text-message-renderer #author-name[type="member"],
yt-live-chat-text-message-renderer #author-name.member,
yt-live-chat-text-message-renderer yt-live-chat-author-badge-renderer[type="member"] {
color: #0f9d58 !important;
}

/* Channel names. */
yt-live-chat-text-message-renderer #author-name {
color: #d3d3d3 !important;
font-family: "Yu Gothic UI Semibold";
font-size: 25px !important;
line-height: 30px !important;
}

yt-live-chat-text-message-renderer #author-name::after {
content: ":";
margin-left: 3px;
}

/* Messages. */
yt-live-chat-text-message-renderer #message,
yt-live-chat-text-message-renderer #message * {
color: #ffffff !important;
font-family: "Noto Sans Mono CJK TC Bold";
font-size: 25px !important;
line-height: 30px !important;
}


/* SuperChat/Fan Funding Messages. */
yt-live-chat-paid-message-renderer #author-name,
yt-live-chat-paid-message-renderer #author-name *,
yt-live-chat-legacy-paid-message-renderer #event-text,
yt-live-chat-legacy-paid-message-renderer #event-text * {
color: #ffffff !important;
font-family: "Changa One";
font-size: 20px !important;
line-height: 20px !important;
}

yt-live-chat-paid-message-renderer #purchase-amount,
yt-live-chat-paid-message-renderer #purchase-amount *,
yt-live-chat-legacy-paid-message-renderer #detail-text,
yt-live-chat-legacy-paid-message-renderer #detail-text * {
color: #ffffff !important;
font-family: "Imprima";
font-size: 18px !important;
line-height: 18px !important;
}

yt-live-chat-paid-message-renderer #content,
yt-live-chat-paid-message-renderer #content * {
color: #ffffff !important;
font-family: "Imprima";
font-size: 18px !important;
line-height: 18px !important;
}

yt-live-chat-paid-message-renderer {
margin: 4px 0 !important;
}

yt-live-chat-legacy-paid-message-renderer {
background-color: #0f9d58 !important;
margin: 4px 0 !important;
}

yt-live-chat-text-message-renderer a,
yt-live-chat-legacy-paid-message-renderer a {
text-decoration: none !important;
}

yt-live-chat-text-message-renderer[is-deleted],
yt-live-chat-legacy-paid-message-renderer[is-deleted] {
display: none !important;
}

yt-live-chat-ticker-renderer {
background-color: transparent !important;
box-shadow: none !important;
}

yt-live-chat-ticker-renderer {
display: none !important;
}


yt-live-chat-ticker-paid-message-item-renderer,
yt-live-chat-ticker-paid-message-item-renderer *,
yt-live-chat-ticker-sponsor-item-renderer,
yt-live-chat-ticker-sponsor-item-renderer * {
color: #ffffff !important;
font-family: "Imprima";
}

yt-live-chat-mode-change-message-renderer,
yt-live-chat-viewer-engagement-message-renderer,
yt-live-chat-restricted-participation-renderer {
display: none !important;
}

关于B站弹幕,我推荐一个开源项目,可以使用它的在线直播间弹幕地址,样式它已经内置了,直接在OBS的浏览器来源URL中输入你的直播间网址即可。

Bilibili 弹幕姬: https://github.com/Tsuk1ko/bilibili-live-chat

如果你有更好的工具,欢迎评论区讨论。