Skip to content

Commit 18df219

Browse files
Merge pull request #196 from srobo/kickstart-livestream
Add notes following kickstart livestream
2 parents 6e7bfed + dc502e5 commit 18df219

File tree

8 files changed

+57
-14
lines changed

8 files changed

+57
-14
lines changed

docs/competition/competition-roles.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ Depending on the nature of the event, some of these roles may not be applicable.
3939

4040
- [Roving Helper](./team-support/roving-helper.md)
4141
- [Tinker Time Coordinator](./team-support/tinker-time.md)
42-
- [Livestream Producer](./livestream/README.md)
42+
- [Livestream Producer](../programme/livestream/README.md)
4343

4444
### Helpdesk
4545

docs/competition/virtual-competitions/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ Due to COVID-19 Student Robotics has held the competition for the SR2020 and SR2
66

77
[simulator]: https://github.com/srobo/competition-simulator
88
[code_submitter]: https://github.com/PeterJCLaw/code-submitter
9-
[livestream]: ../livestream/README.md
9+
[livestream]: ../../programme/livestream/README.md

docs/competition/livestream/README.md docs/programme/livestream/README.md

+2-12
Original file line numberDiff line numberDiff line change
@@ -14,18 +14,8 @@ OBS configuration is split into 2 fundamental objects: Scenes and Sources. A sce
1414

1515
For virtual competition livestreams we use [SRComp Mixtape](https://github.com/srobo/srcomp-mixtape) to automate the playback of match videos and the scene transitions at either end of each match. See [Mixtape's documentation](https://github.com/srobo/srcomp-mixtape#configuration) for how to create a suitable playlist file to configure mixtape.
1616

17+
Additional software may be needed if the hosts are [remote](./remote-content.md).
18+
1719
## Hardware
1820

1921
The hardware requirements for hosting a livestream are not large, however a stable internet connection is a must. A dedicated GPU is useful to ensure the system isn't taxed too heavily.
20-
21-
## Music
22-
23-
As background music during livestreams, we'll often play quiet music.
24-
25-
For finals events, more dramatic music is played vs other sessions, to emphasize the importance. For finals events, we have heavily used [Monstercat](https://www.monstercat.com/) in the past, and for other events [incompetech](https://incompetech.com/), as these sources can be used without purchasing a licence, provided the required attribution is given.
26-
27-
There is no simple playlist used for each event. The playlists for each event are built off the previous, with any new finds added and disliked tracks removed.
28-
29-
During live events, the music played throughout the venue needs to be stripped out, usually through a separate audio feed.
30-
31-
Audio can either be played directly through OBS using the VLC source, or through a desktop audio player, so long as any other system sound effects are muted. When playing audio, be sure to [normalize it](https://www.alphr.com/normalize-volume-vlc) to ensure the volume doesn't vary.

docs/programme/livestream/audio.md

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Audio
2+
3+
## Music
4+
5+
As background music during livestreams, we'll often play quiet music.
6+
7+
For finals events, more dramatic music is played vs other sessions, to emphasize the importance. For finals events, we have heavily used [Monstercat](https://www.monstercat.com/) in the past, and for other events [incompetech](https://incompetech.com/), as these sources can be used without purchasing a licence, provided the required attribution is given. We have also used [Epidemic Sound](https://www.epidemicsound.com/), however this is a paid-for service.
8+
9+
There is no simple playlist used for each event. The playlists for each event are built off the previous, with any new finds added and disliked tracks removed.
10+
11+
During live events, the music played throughout the venue needs to be stripped out, usually through a separate audio feed.
12+
13+
Audio can either be played directly through OBS using the VLC source, or through a desktop audio player, so long as any other system sound effects using the audio device are muted. When playing audio, be sure to [normalize it](https://www.alphr.com/normalize-volume-vlc) to ensure the volume doesn't vary.
14+
15+
## Audio sources
16+
17+
!!! tip
18+
On Windows, you can use [VoiceMeeter](https://vb-audio.com/Voicemeeter/) to create "virtual" audio devices to allow OBS to distinguish between incoming application audio.
19+
20+
It's recommended to avoid Global Audio Devices unless the source is intended to be available to every scene (eg host microphones). Adding sources per scene is more work, but reduces the need to manually mute and un-mute certain sources when changing scenes.
File renamed without changes.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Remote content
2+
3+
All of the content for a livestream may not be coming from the same machine, for example if the hosts are remote.
4+
5+
!!! warning
6+
For anything which requires high quality, such as full-screen video, this should be handled by the livestream machine wherever possible.
7+
8+
## Video
9+
10+
To stream video, it's recommended to use [vdo.ninja](https://vdo.ninja), as this creates high-quality low-latency video sources which only need a browser to function. `vdo.ninja` also allows hosts to mute themselves, and add background effects such as blurs and green-screening.
11+
12+
!!! note
13+
For on-site cameras, it may also be useful to use NDI with [`obs-ndi`](https://github.com/obs-ndi/obs-ndi)
14+
15+
For hosts, visit [vdo.ninja](https://vdo.ninja/), and click "Add your Camera to OBS". You'll then be able to select the correct video and audio sources, before clicking "START". At the top of the page is a URL (starting `vdo.ninja/?view=...`) which should be sent to the person running OBS.
16+
17+
For producers, add the link provided by the host (if the link contains `?push=...`, change it to `?view=...`) as a [Browser Source](https://obsproject.com/kb/browser-source). The source can then be positioned in the scene as needed, and the host's mic appears as an audio source.
18+
19+
## Slides
20+
21+
For presenting slides, it's recommended to run the slides on the livestream machine, so any animated content or videos are as smooth as possible.
22+
23+
If a remote host(s) needs to control the slides, it's recommended to use [Remote for Slides](https://limhenry.xyz/slides/), which also supports showing presenter notes.
24+
25+
To ensure the host can see the slides, use a Google Meet call to share the presentation.

docs/competition/livestream/scenes.md docs/programme/livestream/scenes.md

+8
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,14 @@ This page documents a few of the core scenes which are used for livestreams. Not
44

55
The various assets useful for creating these scenes can be found [here](https://drive.google.com/drive/folders/1pr1vKpnonxFoO8O5chsH5DF7Vsd0Tfih?usp=sharing).
66

7+
## Presentation
8+
9+
Events such as Kickstart are predominantly a presentation.
10+
11+
For the presentation, it's recommended to use a window-based capture, rather than screen-based, to reduce the risk of accidentally putting sensitive or unrelated content over the slides.
12+
13+
Long presentations should still show the host. Choose a bottom corner of the screen which won't cover any content and keep their camera fixed there. Slides may need modifying to ensure important content isn't covered.
14+
715
## Technical difficulties
816

917
Things occasionally go wrong during events, so wrong it may be necessary to cut the whole feed. In this case, we show a "Technical difficulties" screen, comprised of a single image, and mute audio whilst we work on a solution.

0 commit comments

Comments
 (0)