|
| 1 | +#Streaming on Twitch |
| 2 | + |
| 3 | +How does streaming on the[SaltStack Twitch channel](https://www.twitch.tv/saltstackinc) work? |
| 4 | + |
| 5 | +>_Only Salt maintainers and VMware employees currently stream through the Twitch channel._ |
| 6 | +
|
| 7 | +##Table of Contents |
| 8 | + |
| 9 | +-[Twitch Account](#twitch-account) |
| 10 | +-[Request SaltStackInc channel moderator/user permissions](#request-saltstackinc-channel-moderatoruser-permissions) |
| 11 | +-[OBS Studio](#obs-studio) |
| 12 | +-[Example Salt state on Pop!_OS](#example-salt-state-on-pop_os-and-ubuntu) |
| 13 | +-[Basic setup](#basic-setup) |
| 14 | +-[Quick reference](#quick-reference) |
| 15 | +-[Twitch chat and StreamElements chat moderation](#twitch-chat-and-streamelements-chat-moderation) |
| 16 | + |
| 17 | +##Twitch Account |
| 18 | + |
| 19 | +-[Create an Account with Twitch](https://help.twitch.tv/s/article/creating-an-account-with-twitch?language=en_US) |
| 20 | +- Take a look at[Twitch Creator Camp](https://www.twitch.tv/creatorcamp/en/) for a Twitch platform crash course |
| 21 | +- You're set to go, so now give[SaltStack Twitch channel](https://www.twitch.tv/saltstackinc) a follow! |
| 22 | + |
| 23 | +##Request SaltStackInc channel moderator/user permissions |
| 24 | + |
| 25 | +- Go to the SaltStack Twitch Chat (can do so from the main page of the channel without a stream happening) |
| 26 | +- Type in`/mods` |
| 27 | +- Reach out to the user(s) on the[SaltStack Slack Community](https://saltstackcommunity.herokuapp.com/) |
| 28 | +- Request SaltStackInc Twitch moderator and StreamElements permissions (at least Moderator or Super Moderator |
| 29 | + on StreamElements) too, which adds features like changing the stream title. |
| 30 | + |
| 31 | +##OBS Studio |
| 32 | + |
| 33 | +Install[OBS Studio](https://obsproject.com/), free software that can work on MacOS, Windows, and Linux. |
| 34 | + |
| 35 | +###Example Salt state on Pop!_OS and Ubuntu |
| 36 | + |
| 37 | +``` |
| 38 | +{% set user_name = salt['pillar.get']('common:lookup:user') %} |
| 39 | +
|
| 40 | +'flatpak install com.obsproject.Studio -y --user': |
| 41 | + cmd.run: |
| 42 | + - creates: /home/{{ user_name }}/.local/share/flatpak/exports/share/applications/com.obsproject.Studio.desktop |
| 43 | + - runas: {{ user_name }} |
| 44 | +``` |
| 45 | + |
| 46 | +###Basic setup |
| 47 | + |
| 48 | +An excellent video on using OBS Studio for streaming, scenes, sources, transitions, etc. |
| 49 | +-[OBS For Brand New Streamers](Creating Scenes, Adding Custom Widgets, and MORE)](https://www.youtube.com/watch?v=EuSUPpoi0Vs) |
| 50 | + |
| 51 | +The following is covered: |
| 52 | + |
| 53 | +- Overview |
| 54 | +- Setting Up Your First Scene |
| 55 | +- Adding Cool Widgets |
| 56 | +- Adding a Second Scene |
| 57 | +- Transitions |
| 58 | +- The Audio Mixer |
| 59 | +- The Settings |
| 60 | +- Switching Scenes w/ a Hotkey |
| 61 | + |
| 62 | +####Quick reference |
| 63 | + |
| 64 | +- The initial configuration wizard can be used for optimizing for streaming |
| 65 | +- Twitch can be selected, and the API streaming key should be entered |
| 66 | +-**OPTIONAL**: Can stream against personal channel for testing. OBS Studio provides a button that will go directly to the personal channel key location. |
| 67 | +- At a minimum, there needs to be one**Scene** with the following sources: |
| 68 | +-**Video Capture Device**: For selecting your webcam, if wanting to include your face on the stream |
| 69 | +-**Mic/Aux** (or**Audio Input Capture** using your mic): For viewers to hear your voice |
| 70 | +-**Screen Capture**: To share targeted windows, desktops, etc. |
| 71 | + |
| 72 | +##Twitch chat and StreamElements chat moderation |
| 73 | + |
| 74 | +-[Twitch Chat Commands](https://help.twitch.tv/s/article/chat-commands?language=en_US) |
| 75 | +-[StreamElements Chat Commands for SaltStackInc](https://streamelements.com/saltstackinc/commands) |
| 76 | + |
| 77 | +Some example chat commands: |
| 78 | + |
| 79 | +**Everyone** |
| 80 | + |
| 81 | +``` |
| 82 | +# Twitch |
| 83 | +/mods This command will display a list of all chat moderators for that specific channel. |
| 84 | +/w /w {USERNAME} {MESSAGE}: This command sends a private message to another user on Twitch. |
| 85 | +/block /block {USERNAME}, or click on a username and then on the Block button on the user badge that appears. |
| 86 | +/unblock /unblock {USERNAME}, or click on the Unignore button which replaces the Block button. |
| 87 | +
|
| 88 | +# StreamElements |
| 89 | +!uptime ${channel} has been streaming for 2 hours 20 mins |
| 90 | +!commands You can find a list of all Commands here https://StreamElements.com/${channel.alias}/commands |
| 91 | +``` |
| 92 | + |
| 93 | +**Moderators** |
| 94 | + |
| 95 | +``` |
| 96 | +# Twitch |
| 97 | +/timeout /timeout {USERNAME} [SECONDS], or clicking the clock symbol either directly in chat or on the user badge which appears when clicking on a username. |
| 98 | +/ban /ban {USERNAME}, or by clicking the Cancel symbol either directly in chat or on the user badge which appears when clicking on a username. |
| 99 | +/unban /unban {USERNAME}, or by clicking the Unban button which replaces the Ban button. |
| 100 | +
|
| 101 | +# StreamElements |
| 102 | +!settitle Update the stream title. |
| 103 | +``` |