Skip to content
This repository was archived by the owner on Jan 17, 2023. It is now read-only.

Commit 3ec316f

Browse files
joshrossoDuffie Cooley
joshrosso
authored and
Duffie Cooley
committed
Overhaul docs
Signed-off-by: joshrosso <[email protected]>
1 parent f501e9a commit 3ec316f

25 files changed

+33604
-41
lines changed

documentation/README.md

+192-41
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
This will mostly be internal, but sharing broadly as a resource.
44

5-
## Checklists
5+
## Creating the Checklist
66

7-
Start by copying the following into the issue for the episode. Check things off as you do them.
7+
Start by copying the following into the issue for the episode. Check things off as you do them.
88

99
```markdown
1010
The process for producing an episode is [here](https://github.com/vmware-tanzu/tgik/blob/master/documentation/README.md). All the detail for the steps below is there.
@@ -17,7 +17,7 @@ Monday or Tuesday:
1717
* [ ] Add scheduled episode to TGIK playlist on YT
1818
* [ ] Create short link in rebrandly
1919
* [ ] Tweet about it from your personal account
20-
* [ ] Post tweets on internal #tgik slack channel and cc @castrojo and agrey
20+
* [ ] Post tweets on internal #tgik slack channel and cc @castrojo and Vykky
2121
* [ ] Get confirmation from boschem that she's seen the tweet and is scheduling it
2222

2323
Before episode:
@@ -38,73 +38,224 @@ After show (ideally right away but can wait until Monday):
3838
* [ ] OBS/OS Upgrade if applicable (Never on the day of a show)
3939
```
4040

41-
## Scheduling a new episode
41+
## Creating the graphic
4242

43-
### Creating the graphic
44-
45-
Find an image to use that is fun, and subtly hints at the topic for the episode.
43+
Find an image to use that is fun and subtly hints at the topic for the episode.
4644
For example [episode 38](https://github.com/vmware-tanzu/tgik/tree/master/episodes/038) was on Kata containers, and the [supporting image was of containers in a shipyard](https://github.com/vmware-tanzu/tgik/blob/master/episodes/038/038.png).
4745

48-
General process:
49-
* Copy a previous episode into a new file and renumber it
50-
* Pick out an image (often we use unsplash.com). Make sure we have rights to use the image.
51-
* Open the file in Adobe Illustrator
52-
* Delete the old image and use the "File | Place" to insert the new image. Move that to the back with "Object | Arrange | Send to Back"
53-
* Select the semi-transparent background on the text and the logo box and use the eye dropper tool to pick a light color out of the image.
54-
* Export to PNG in the same folder using "File | Export | Export for screens"
46+
#### [Adobe Illustrator](https://www.adobe.com/products/illustrator.html) (Mac/Windows):
47+
48+
1. Open `graphics/title-card.ai` with Adobe Illustrator.
49+
1. Delete the old image and use the "File | Place" to insert the new image. Move that to the back with "Object | Arrange | Send to Back".
50+
1. Select the semi-transparent background on the text and the logo box and use the eye dropper tool to pick a light color out of the image.
51+
1. Export to PNG in the same folder using "File | Export | Export for screens"
5552
* Before saving make sure you change the name of the artboard (which determines the filename) by double clicking it on that dialog.
5653
* Export as PNG at 1x
54+
55+
#### [Inkscape](https://inkscape.org/) (Linux/Mac/Windows):
56+
57+
1. Open `graphics/title-card.svg` with inkscape.
58+
59+
```bash
60+
inkscape graphics/title-card.svg
61+
```
62+
63+
1. Open the layers panel (`ctrl+shift+L`).
64+
65+
[![](imgs/inkscape-open.png)](imgs/inkscape-open.png)
66+
67+
1. Select the background image (ensure `Background` layer is selected).
68+
1. Right click on the background image.
69+
1. Choose `Release Clip`.
70+
71+
[![](imgs/inkscape-release-clip.png)](imgs/inkscape-release-clip.png)
72+
> This reveals two objects in the layer `Background`. The background image, which you'll replace, and a semi-transparent box representing the 1280x720 area to trim a background image to.
73+
74+
1. Delete the existing background image.
75+
1. Paste in a new background image.
76+
* We often use [unsplash.com](https://unsplash.com/); If not unsplash, ensure we have rights to use the image.
77+
1. Move the new background image object behind the semi-transparent box
78+
* `PgDn` or `Menu Bar > Object > Lower to Bottom`
79+
1. Move/Scale the background image around to fit desirably in the semi-transparent box.
80+
1. Select the background image and semi-transparent box.
81+
1. Right click and `Set Clip`.
82+
83+
[![](imgs/inkscape-set-clip.png)](imgs/inkscape-set-clip.png)
84+
85+
1. Use the Text Tool (`T`) to update the episode number (`Ep 120` -> `Ep 121`).
86+
87+
1. Select all semi-transparent elements (text + vmware/k8s background)
88+
89+
1. Set their color by using the dropper (`D`) and clicking somewhere in the image.
90+
91+
[![](imgs/inkscape-dropper.png)](imgs/inkscape-dropper.png)
92+
93+
1. Export using `Menu bar > File > Export PNG Image`.
94+
95+
1. Save to `episodes/${EPISODE_NUMBER}/tgik${EPISODE_NUMBER}.png`.
96+
97+
[![](imgs/inkscape-final.png)](imgs/inkscape-final.png)
98+
99+
## Scheduling on YouTube
100+
101+
1. Ensure you're logged in to the correct Youtube Account.
102+
1. [Create a new live event by clicking here](https://studio.youtube.com/channel/UCdkGV51Nu0unDNT58bHt9bg/livestreaming).
103+
* Alternatively: `Youtube Studio > Create Button (top right) > Go Live`.
104+
1. Choose a recent episode and `Reuse Settings`.
105+
106+
[![](imgs/yt-reuse-settings.png)](imgs/yt-reuse-settings.png)
107+
> This dialog pops up immediately when clicking the link above.
108+
109+
1. Set the Name, Description, Time (adjust to land in 1PM PT, and Thumbnail)
110+
111+
[![](imgs/yt-settings.png)](imgs/yt-settings.png)
112+
113+
1. Store the stream key for later use (in OBS for stream settings).
114+
115+
[![](imgs/yt-stream-key.png)](imgs/yt-stream-key.png)
116+
117+
1. Pop out the chat.
118+
119+
[![](imgs/yt-pop-chat.png)](imgs/yt-pop-chat.png)
120+
121+
1. Store the video id for later use (in OBS for chat).
122+
123+
[![](imgs/yt-vid-id.png)](imgs/yt-vid-id.png)
124+
125+
## Updating the TGIK Playlist
126+
127+
Once the event is scheduled, you should add the video to the TGIK playlist so that it shows up at [tgik.io](https://tgik.io).
128+
129+
1. Navigate to [scheduled live videos](https://studio.youtube.com/channel/UCdkGV51Nu0unDNT58bHt9bg/videos/live).
130+
1. Click the title card for your episode.
131+
132+
[![](imgs/yt-open-episode.png)](imgs/yt-open-episode.png)
57133

58-
### Scheduling on YouTube
134+
1. Add the episode to the TGIK playlist.
59135

60-
Go to the [YouTube creator studio](https://www.youtube.com/my_live_events)
136+
[![](imgs/yt-add-to-playlist.png)](imgs/yt-add-to-playlist.png)
61137

62-
Create a [new Live event](https://www.youtube.com/my_live_events?action_create_live_event=1)
138+
1. Verify the episode shows up at [tgik.io](https://tgik.io).
139+
140+
## Creating the Hackmd
63141

64-
###### Title
142+
1. Navigate to [Hackmd](https://hackmd.io).
143+
> Create an account if necessary.
144+
1. Import a new note from GitHub.
145+
146+
[![](imgs/hack-from-template.png)](imgs/hack-from-template.png)
147+
148+
1. Import from our existing template
149+
150+
> This may require you to give Hackmd access to your GitHub.
151+
152+
* Repo: `vmware-tanzu/tgik`
153+
* Branch: `master`
154+
* File: `documentation/template.md`
155+
156+
[![](imgs/hack-github-settings.png)](imgs/hack-github-settings.png)
157+
158+
1. Apply all changes.
159+
1. Set the video id found in the [Scheduling on Youtube section](#scheduling-on-youtube).
160+
161+
[![](imgs/hack-img-update.png)](imgs/hack-img-update.png)
162+
163+
1. Update the Hackmd content as desired.
164+
165+
166+
## Creating the links
167+
168+
Log into Rebrandly and create a new link pointing to the YouTube live stream. If you don't have Rebrandly access, reach out for help in [our internal] #tgik channel.
169+
170+
**Create Permanent Episode Link**
65171
```
66-
TGI Kubernetes 001: A great name for my episode
172+
tgik.io/001 -> youtube.com/watch?v=ixs1-UnWiGU
67173
```
68174
69-
###### Description
175+
**Update Live Pointer**
176+
```
177+
tgik.io/live -> tgik.io/tgik001
178+
```
70179
180+
**Update Hackmd Pointer**
71181
```
72-
Come hang out with Kris Nova as she does a bit of hands on hacking of Kubernetes and related topics. Some of this will be Kris talking about the things she knows. Some of this will be Kris exploring something new with the audience. Come join the fun, ask questions, comment, and participate in the live chat!
182+
tgik.io/notes -> https://hackmd.io/pAPM_qtlTIaCpYZQNF8Y6A
73183
```
74184
75-
Create the event (Click save)
185+
## Tweeting the Episode
76186
77-
Update the event with the image you created
187+
* Tweet out announcing the episode with the hashtag `#TGIK8s`
188+
* Include the **permanent** rebrandly URL generated above
189+
* Include the image created above
190+
* Inform the appropriate humans in the [internal] #tgik channel
78191
79-
Find the YouTube live stream URL of the event
192+
<p align="center"><img src="../example-tweet.png" width="360"></p>
80193
81-
### Creating the links
194+
## Setup OBS
82195
83-
Log into Rebrandly and create a new link pointing to the YouTube live stream.
196+
#### If you don't already have an OBS configuration for TGIK:
84197

85-
*Example:*
198+
1. Import the OBS profile from the repository.
86199

87-
```
88-
tgik.io/001 ---> youtube.com/watch?v=ixs1-UnWiGU
89-
```
200+
* `Profile > Import` choose `obs-config/profiles/TGIK`.
201+
* `Scene Collection > Import` choose `obs-config/scenes/tgik-macos.json`.
202+
1. After importing check the `Profile` and `Scene Collection` menus to ensure `TGIK` is set.
203+
1. Further configure the scenes to hook up your mic, screen, and webcam.
204+
> Note: Configuring and tuning OBS is an exercise in itself. If you're a first-time OBS user, consider reaching out to someone in the [internal] #tgik channel to get a walkthrough.
90205
91-
Update the pointer pointer for the broad "Watch Live Now!" link. (This allows us to hard code the link in various without having to push a code change).
206+
#### Preparing OBS for Stream:
92207
93-
*Example:*
208+
1. Open `File > Settings > Stream`.
209+
1. Paste the stream key found in the [Scheduling on Youtube section](#scheduling-on-youtube).
210+
211+
[![](imgs/obs-stream-key.png)](imgs/obs-stream-key.png)
94212
95-
```
96-
tgik.io/live ---> tgik.io/tgik001 ---> youtube.com/watch?v=ixs1-UnWiGU
97-
```
213+
1. Open the YouTube chat source in your scenes.
214+
215+
[![](imgs/obs-yt-chat.png)](imgs/obs-yt-chat.png)
216+
217+
1. Set the video id found in the [Scheduling on Youtube section](#scheduling-on-youtube).
218+
219+
[![](imgs/obs-chat-key.png)](imgs/obs-chat-key.png)
220+
221+
1. Set the title card source to the graphic made in the [Creating the Graphic](#creating-the-graphic).
222+
223+
[![](imgs/obs-title-card.png)](imgs/obs-title-card.png)
224+
225+
## Testing the Stream
226+
227+
Once OBS is configured, you should verify stream quality to YouTube is good. It's important to test this with another at least an hour before you go live on Friday. What follows can be done to self-test well before Friday.
228+
229+
1. Open [YouTube Studio](https://studio.youtube.com).
230+
1. Navigate to Videos.
231+
1. Click the Live tab.
232+
1. Open the Live Control Room for your upcoming stream.
233+
234+
[![](imgs/yt-ctrl-room.jpg)](imgs/yt-ctrl-room.png)
98235

99-
### Tweet!
236+
1. Start the stream in OBS.
237+
1. Verify:
238+
* Connection is excellent
239+
* Test chat message comes through to OBS
100240

101-
Tweet out announcing the episode with the hashtag `#TGIK8s`
102-
Include the rebrandly URL generated above
103-
Include the image created above
241+
[![](imgs/obs-full-test.png)](imgs/obs-full-test.png)
104242

105-
*Example:*
243+
## Starting the Stream
106244

107-
<p align="center"><img src="https://github.com/vmware-tanzu/tgik/blob/master/example-tweet.png" width="360"></p>
245+
1. Follow the steps in [Testing the Stream](#testing-the-stream) above.
246+
1. Click Go Live in the Live Control Room.
108247

248+
[![](imgs/yt-go-live.png)](imgs/yt-go-live.png)
109249

250+
1. Break a leg!
251+
252+
## Wrapping Up
110253

254+
1. **Stop the stream in OBS and YouTube**.
255+
1. Update the Hackmd with table of contents and other relevant links.
256+
1. Add the hackmd to your episode folder in git.
257+
1. Add any relevant files to your episode folder in git.
258+
1. Create a merge request and merge the episode into GitHub.
259+
* You can [find an example here](https://github.com/vmware-tanzu/tgik/tree/master/episodes/113).
260+
1. Update the YouTube description with table of contents and link to GitHub.
261+
* You can [find an example here](https://www.youtube.com/watch?v=an9D2FyFwR0&t=150s).
13.4 KB
Loading
91.8 KB
Loading
273 KB
Loading
358 KB
Loading

documentation/imgs/inkscape-final.png

846 KB
Loading

documentation/imgs/inkscape-open.png

754 KB
Loading
426 KB
Loading
444 KB
Loading

documentation/imgs/obs-chat-key.png

28.7 KB
Loading

documentation/imgs/obs-full-test.png

637 KB
Loading

documentation/imgs/obs-stream-key.png

29.5 KB
Loading

documentation/imgs/obs-title-card.png

703 KB
Loading

documentation/imgs/obs-yt-chat.png

12.5 KB
Loading
176 KB
Loading

documentation/imgs/yt-ctrl-room.jpg

12.9 KB
Loading

documentation/imgs/yt-go-live.png

170 KB
Loading
64.7 KB
Loading

documentation/imgs/yt-pop-chat.png

16.5 KB
Loading
52.1 KB
Loading

documentation/imgs/yt-settings.png

105 KB
Loading

documentation/imgs/yt-stream-key.png

109 KB
Loading

documentation/imgs/yt-vid-id.png

24.3 KB
Loading

graphics/title-card.ai

+33,066
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)