From a33456d184c263996962ab8dbf7a6f9d62f4e3e5 Mon Sep 17 00:00:00 2001 From: Jake Howard Date: Sat, 21 Oct 2023 12:02:36 +0100 Subject: [PATCH 1/8] Move livestream under "programme" It's not just about the competition --- docs/competition/competition-roles.md | 2 +- docs/competition/virtual-competitions/README.md | 2 +- docs/{competition => programme}/livestream/README.md | 0 docs/{competition => programme}/livestream/chat-moderation.md | 0 docs/{competition => programme}/livestream/matches.md | 0 docs/{competition => programme}/livestream/scenes.md | 0 6 files changed, 2 insertions(+), 2 deletions(-) rename docs/{competition => programme}/livestream/README.md (100%) rename docs/{competition => programme}/livestream/chat-moderation.md (100%) rename docs/{competition => programme}/livestream/matches.md (100%) rename docs/{competition => programme}/livestream/scenes.md (100%) diff --git a/docs/competition/competition-roles.md b/docs/competition/competition-roles.md index 71f207b0..600e4069 100644 --- a/docs/competition/competition-roles.md +++ b/docs/competition/competition-roles.md @@ -39,7 +39,7 @@ Depending on the nature of the event, some of these roles may not be applicable. - [Roving Helper](./team-support/roving-helper.md) - [Tinker Time Coordinator](./team-support/tinker-time.md) -- [Livestream Producer](./livestream/README.md) +- [Livestream Producer](../programme/livestream/README.md) ### Helpdesk diff --git a/docs/competition/virtual-competitions/README.md b/docs/competition/virtual-competitions/README.md index d7ce07c9..1b4f74d6 100644 --- a/docs/competition/virtual-competitions/README.md +++ b/docs/competition/virtual-competitions/README.md @@ -6,4 +6,4 @@ Due to COVID-19 Student Robotics has held the competition for the SR2020 and SR2 [simulator]: https://github.com/srobo/competition-simulator [code_submitter]: https://github.com/PeterJCLaw/code-submitter -[livestream]: ../livestream/README.md +[livestream]: ../../programme/livestream/README.md diff --git a/docs/competition/livestream/README.md b/docs/programme/livestream/README.md similarity index 100% rename from docs/competition/livestream/README.md rename to docs/programme/livestream/README.md diff --git a/docs/competition/livestream/chat-moderation.md b/docs/programme/livestream/chat-moderation.md similarity index 100% rename from docs/competition/livestream/chat-moderation.md rename to docs/programme/livestream/chat-moderation.md diff --git a/docs/competition/livestream/matches.md b/docs/programme/livestream/matches.md similarity index 100% rename from docs/competition/livestream/matches.md rename to docs/programme/livestream/matches.md diff --git a/docs/competition/livestream/scenes.md b/docs/programme/livestream/scenes.md similarity index 100% rename from docs/competition/livestream/scenes.md rename to docs/programme/livestream/scenes.md From 6476c39020f84600421254d49b8a88a09c69bc50 Mon Sep 17 00:00:00 2001 From: Jake Howard Date: Sat, 21 Oct 2023 12:20:54 +0100 Subject: [PATCH 2/8] Add some notes for when stream hosts are remote --- docs/programme/livestream/README.md | 2 ++ docs/programme/livestream/remote-content.md | 22 +++++++++++++++++++++ docs/programme/livestream/scenes.md | 8 ++++++++ 3 files changed, 32 insertions(+) create mode 100644 docs/programme/livestream/remote-content.md diff --git a/docs/programme/livestream/README.md b/docs/programme/livestream/README.md index 4d9ad5f6..5ef3f1ee 100644 --- a/docs/programme/livestream/README.md +++ b/docs/programme/livestream/README.md @@ -14,6 +14,8 @@ OBS configuration is split into 2 fundamental objects: Scenes and Sources. A sce 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. +Additional software may be needed if the hosts are [remote](./remote-content.md). + ## Hardware 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. diff --git a/docs/programme/livestream/remote-content.md b/docs/programme/livestream/remote-content.md new file mode 100644 index 00000000..b269eaad --- /dev/null +++ b/docs/programme/livestream/remote-content.md @@ -0,0 +1,22 @@ +# Remote content + +All of the content for a livestream may not be coming from the same machine, for example if the hosts are remote. + +!!! warning + For anything which requires high quality, such as full-screen video, this should be handled by the livestream machine wherever possible. + +## Video + +To stream video, it's recommended to use [vdo.ninja](https://vdo.ninja), as this creates high-quality low-latency video sources which can be easily dropped into streaming software as a browser source. + +`vdo.ninja` also allows hosts to mute themselves, and add background effects such as blurs and green-screening. + +For on-site cameras, it may also be useful to use NDI with [`obs-ndi`](https://github.com/obs-ndi/obs-ndi) + +## Slides + +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. + +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. + +To ensure the host can see the slides, use a Google Meet call to share the presentation. diff --git a/docs/programme/livestream/scenes.md b/docs/programme/livestream/scenes.md index 65beacd3..7ade8635 100644 --- a/docs/programme/livestream/scenes.md +++ b/docs/programme/livestream/scenes.md @@ -4,6 +4,14 @@ This page documents a few of the core scenes which are used for livestreams. Not The various assets useful for creating these scenes can be found [here](https://drive.google.com/drive/folders/1pr1vKpnonxFoO8O5chsH5DF7Vsd0Tfih?usp=sharing). +## Presentation + +Events such as Kickstart are predominantly a presentation. + +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. + +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. + ## Technical difficulties 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. From 6c9e0f9603e26aefae509df57d1c25450625a453 Mon Sep 17 00:00:00 2001 From: Jake Howard Date: Mon, 29 Jan 2024 19:24:30 +0000 Subject: [PATCH 3/8] Mention nuances around audio sources --- docs/programme/livestream/README.md | 12 ------------ docs/programme/livestream/audio.md | 20 ++++++++++++++++++++ 2 files changed, 20 insertions(+), 12 deletions(-) create mode 100644 docs/programme/livestream/audio.md diff --git a/docs/programme/livestream/README.md b/docs/programme/livestream/README.md index 5ef3f1ee..b8529669 100644 --- a/docs/programme/livestream/README.md +++ b/docs/programme/livestream/README.md @@ -19,15 +19,3 @@ Additional software may be needed if the hosts are [remote](./remote-content.md) ## Hardware 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. - -## Music - -As background music during livestreams, we'll often play quiet music. - -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. - -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. - -During live events, the music played throughout the venue needs to be stripped out, usually through a separate audio feed. - -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. diff --git a/docs/programme/livestream/audio.md b/docs/programme/livestream/audio.md new file mode 100644 index 00000000..fe7f9b0e --- /dev/null +++ b/docs/programme/livestream/audio.md @@ -0,0 +1,20 @@ +# Audio + +## Audio sources + +!!! tip + 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. + +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 unmute certain sources when changing scenes. + +## Music + +As background music during livestreams, we'll often play quiet music. + +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. + +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. + +During live events, the music played throughout the venue needs to be stripped out, usually through a separate audio feed. + +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. From f8bbf2e152ade69af15239aeda9859c86a8e91b8 Mon Sep 17 00:00:00 2001 From: Jake Howard Date: Mon, 29 Jan 2024 19:52:30 +0000 Subject: [PATCH 4/8] Mention epidemic sound --- docs/programme/livestream/audio.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/programme/livestream/audio.md b/docs/programme/livestream/audio.md index fe7f9b0e..d8c2f0aa 100644 --- a/docs/programme/livestream/audio.md +++ b/docs/programme/livestream/audio.md @@ -11,7 +11,7 @@ It's recommended to avoid Global Audio Devices unless the source is intended to As background music during livestreams, we'll often play quiet music. -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. +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. 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. From a0046509e2444c9e9727964c346f5123c0e1288c Mon Sep 17 00:00:00 2001 From: Jake Howard Date: Mon, 29 Jan 2024 20:02:30 +0000 Subject: [PATCH 5/8] Fix spelling --- docs/programme/livestream/audio.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/programme/livestream/audio.md b/docs/programme/livestream/audio.md index d8c2f0aa..352ff196 100644 --- a/docs/programme/livestream/audio.md +++ b/docs/programme/livestream/audio.md @@ -5,7 +5,7 @@ !!! tip 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. -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 unmute certain sources when changing scenes. +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. ## Music From b55f92e86548947eee6597e94326caa1fa3f15d3 Mon Sep 17 00:00:00 2001 From: Jake Howard Date: Sat, 9 Mar 2024 10:49:14 +0000 Subject: [PATCH 6/8] Add usage instructions for vdo.ninja --- docs/programme/livestream/remote-content.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/programme/livestream/remote-content.md b/docs/programme/livestream/remote-content.md index b269eaad..2bdf85cc 100644 --- a/docs/programme/livestream/remote-content.md +++ b/docs/programme/livestream/remote-content.md @@ -7,11 +7,14 @@ All of the content for a livestream may not be coming from the same machine, for ## Video -To stream video, it's recommended to use [vdo.ninja](https://vdo.ninja), as this creates high-quality low-latency video sources which can be easily dropped into streaming software as a browser source. +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. -`vdo.ninja` also allows hosts to mute themselves, and add background effects such as blurs and green-screening. +!!! note + For on-site cameras, it may also be useful to use NDI with [`obs-ndi`](https://github.com/obs-ndi/obs-ndi) -For on-site cameras, it may also be useful to use NDI with [`obs-ndi`](https://github.com/obs-ndi/obs-ndi) +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. + +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. ## Slides From 08f4c0bfa44971045f74dc690a01b4233dcf58e7 Mon Sep 17 00:00:00 2001 From: Jake Howard Date: Tue, 19 Nov 2024 21:03:53 +0000 Subject: [PATCH 7/8] System sounds only need muting on the same audio device --- docs/programme/livestream/audio.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/programme/livestream/audio.md b/docs/programme/livestream/audio.md index 352ff196..6d76097c 100644 --- a/docs/programme/livestream/audio.md +++ b/docs/programme/livestream/audio.md @@ -17,4 +17,4 @@ There is no simple playlist used for each event. The playlists for each event ar During live events, the music played throughout the venue needs to be stripped out, usually through a separate audio feed. -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. +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. From dc502e587e3f2cfdae907b595baa06538a75a596 Mon Sep 17 00:00:00 2001 From: Jake Howard Date: Tue, 19 Nov 2024 21:04:18 +0000 Subject: [PATCH 8/8] Music is more notable than audio sources --- docs/programme/livestream/audio.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/programme/livestream/audio.md b/docs/programme/livestream/audio.md index 6d76097c..ecdad64c 100644 --- a/docs/programme/livestream/audio.md +++ b/docs/programme/livestream/audio.md @@ -1,12 +1,5 @@ # Audio -## Audio sources - -!!! tip - 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. - -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. - ## Music As background music during livestreams, we'll often play quiet music. @@ -18,3 +11,10 @@ There is no simple playlist used for each event. The playlists for each event ar During live events, the music played throughout the venue needs to be stripped out, usually through a separate audio feed. 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. + +## Audio sources + +!!! tip + 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. + +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.