YouTube uses and access

We use YouTube as our single source of truth for video content including live streaming group conversations, marketing videos, demos, and more.

Channels

There are two YouTube channels we use at GitLab:

  1. Branded: used for content intended for people in the wider community, including marketing and event content, customer, community and user stories, employment branding, and polished sales videos and demos. For example our GitLab infomercial.
  2. Unfiltered: used for content intended for team and community members, including (but not limited to) team meetings, discussions, monthly release kick-offs, office hours, CEO 101 meetings, and casual demos. For example a weekly meeting of the Plan group.
  3. Community coders: A community run channel, used for content intended for team and community members, including (but not limited to) community coding and pairing sessions.

Everything posted to our Branded channel should pass through digital production for quality control on branding and production standards. If you are wondering if your video should go on the Branded channel, reach out to the Digital Production team in Slack.

Public or Private Streaming

Everyone within the GitLab team is encouraged to live stream their meetings and events on GitLab Unfiltered. First time livestreaming? Find out how below!

Why livestream?

We prefer livestreaming over uploading because:

  1. it allows more people to participate in real-time.
  2. You don’t have to upload the video to YouTube later on (extra step).
  3. You can’t forget about uploading the video.
  4. It is clear to all participants that the content will be public.

But it can happen that you’re not in a livestream and something interesting comes up. In that case, you can upload it to YouTube.

Considerations for livestreams

  1. Please remember to follow the guidelines on starting a recorded video.
  2. If you’re not a host, you can’t livestream direct from zoom, but the current host can promote another attendee to host.
  3. If there is more than one host for the meeting the host that joins the meeting first is the only host that can livestream direct from zoom. From the Zoom meeting, the host can promotion someone else to host if another team member has been designated to start the live stream. Instructions to change the host:
    • Host will mover over the name of the participant you are passing host controls to
    • Select ‘More’
    • Click ‘Make Host’ and select ‘Yes’
    • The new host will now have the ability to livestream the call from Zoom
  4. Generally, for a livestream, it’s helpful to have a separate person handling promoting people to panelist.
  5. To improve accessibility, enable live transcription.
  6. Please don’t include any confidential information in the description of your YouTube video since there is a bug that can cause private video descriptions to propagate over to public ones

Livestream with Zoom

  1. Ensure you have access to the GitLab Unfiltered YouTube Channel. Check this by confirming you can sign in with the GitLab Unfiltered Account. If you cannot access private videos on GitLab Unfiltered follow the Access Instructions and double check that the user you are signed in with at the top left-hand corner is GitLab Unfiltered and not your work or personal email address.

  2. Configure your Zoom advanced meeting options to enable livestreaming for YouTube.

click the more button

  1. Click the [ More ] button and click Live on YouTube

click the more button

  1. Select the GitLab Unfiltered or GitLab

choose your account

  1. Grant permissions to the YouTube account by clicking the [Allow] button

grant permissions

  1. Follow the instructions for starting a recorded video.

configure stream

  1. Click the down arrow next to “Live on YouTube” in the top left once the streaming has begun. Then click “Copy Streaming Link” and paste in the agenda for easy reference post meeting.

stream link

Video walkthough of how to Livestream to YouTube

The following 5-minute video shows how to start a livestream from a Zoom Meeting to YouTube Unfiltered.

If you receive a permission error when attempting to start a livestream (i.e. “Please grant necessary privilege for live streaming”), you may need to first select your user@gitlab.com account in step 4 above. It will prompt you to grant permissions, and you should do so. After that, return to step 3 but this time select GitLab / GitLab Unfiltered at step 4. If the problem persists, reach out in #it-help.

Livestream with OBS

  1. Install and launch OBS Studio

  2. Allow OBS to automatically configure your settings: OBS Auto-Config

  3. Accept the recommended video settings: OBS Recommended Settings

  4. Select “Custom” service and configure OBS to livestream to GitLab’s Unfiltered channel: OBS Configure Service

  5. Add your webcam as a “Video Capture Device” from the Sources tool: OBS Add Webcam

Post everything

We post everything that doesn’t contain confidential information to YouTube. We found that it helps with:

  1. Hiring because candidates can get a feel for the company by seeing meetings.
  2. Retention because sharing reinforces our value of transparency.
  3. Community because people feel more part of what is happening at the company.
  4. Sales because people see our training materials they sell themselves.
  5. Enablement because people can find detailed content about certain subjects.
  6. Awareness because lots of time is spent on YouTube and our videos get lots of views in aggregate.
  7. Training because content on YouTube is easier to consume even for team members, see why not Google Drive

No quality bar

You don’t need to be worried that something is not of the high enough quality because:

  1. The GitLab Unfiltered YouTube account is our casual space for communicating and sharing with the public. Content on the Unfiltered channel includes, but is not limited to, team meetings, discussions, monthly release kick-offs, office hours, CEO 101 meetings, and informal demos.
  2. Algorithms will ensure that a video will be distributed to the right-sized audience.
  3. We can embed videos if and where they are relevant, for example in docs.
  4. Enhance videos later if we need to (trim it so it starts immediately, add transcript, extensive description, links to relevant materials).
  5. Follow up later if we need to (rerecord, do an interview).

No extra work

Creating content for the Unfiltered channel shouldn’t be extra work. You should do what you normally do. But when a meeting is possibly interesting for more people, make it a livestream for the Unfiltered channel. Or when you start talking about something possibly relevant to more people, hit the record button.

Make private quickly

In case there are any concerns raised about a video on the Unfiltered channel, everyone has the authority to make it private. You don’t have to wait for any permission, just go to the channel specific YouTube Studio, here is the one for unfiltered and mark the video private. Please note that there is another tab for live videos. If you mark a video private when it doesn’t need to be, it is be easy to undo: simply mark the video public.

Don’t share secrets

Secrets (e.g. access tokens, private keys, passwords, and credentials to systems running on GitLab infrastructure) and GitLab team member personal data (phone numbers, home address) should never be shared in public. Any video that exposes secrets or team member personal data should not be shared as a public YouTube recording.

Similarly, internal-only documents and private or confidential issues should not be shared publicly in YouTube videos. If a video uploaded to the unfiltered channel exposes non-public information, make it private quickly.

Videos which expose secrets or internal information can be made public again after ensuring that all sensitive information has been redacted using the Blur feature in YouTube Studio.

Why not Google Drive

Google Drive is not intended to process video distribution and, as a result, lengthy uploading and processing times are common. Google drive can create a number of issues including the following:

  1. Long upload times (in some cases up to 10 hours for longer content) that risk failing before completion.
  2. Extended processing time, as Google Drive is not intended to quickly turn around video for playback.
  3. Compromised playback quality.
  4. Not inclusive (for example, no caption support)
  5. Not indexed for searching.
  6. Less transparent to both other employees and to the public.
  7. Difficult to view across multiple devices.
  8. No support for other critical features such as playlist, chaptering, descriptions, embedding, or time codes.

Always use YouTube and never use Google Drive, even for private videos, because YouTube videos:

  1. are streamed more reliably.
  2. have mouse-over thumbnails.
  3. can be played at a higher speed.
  4. can be fast forwarded and rewound in 10-second blocks.
  5. can be time-shifted by adding them to a watch later list.
  6. can be embedded, for example in the handbook.
  7. restart at the right spot after being reloaded.
  8. can be easily viewed on other devices, like TVs or streaming devices, with YouTube support.
  9. allow links to a specific time in the video.
  10. can have subtitles added automatically.
  11. are zero rated by some mobile providers
  12. will be served to people when it is relevant, automatically, since YouTube is a distribution channel.
  13. allows anyone to contribute by leaving comments.
  14. public videos show up in Google search.
  15. easy to make public if the video is suitable for that.
  16. have playlists that allow for better organization of the video content.
  17. show the number of views, so you can see what resonates
  18. have the ability to comment, so people can contribute
  19. have voting so you can review what videos aren’t meeting expectations

Visibility

There are three types of visibility:

  1. Main
  2. Public
  3. Private

The level of visibility should be displayed clearly in the titles of calendar invites. For example, when you do a livestream to the public channel say: “Public stream” at the start of the invite. You can skip live in livestream since every stream is live. Do not say Unfiltered stream since it is ambiguous. Do not say just livestream since people don’t know what the level of access is.

We don’t post:

  1. Unlisted videos (see the “never unlisted” section below).
  2. Private videos on our branded channel, all videos on that channel are intended for a wider audience.
  3. Use Google Drive for any video, since it has many drawbacks.

Never unlisted

We never post unlisted videos on any channel: it is too insecure for sensitive materials and not findable enough for public materials. Sometimes, some videos are still posted as unlisted, they can be spotted with this link (while using the GitLab Unfiltered account). You can change the visibility of videos by clicking on the Details buttons when you hover a video in the list linked above.

Unable to view a video on YouTube

If you get a “Video unavailable This video is private.” error on youtube, the error may be caused because the video is private to GitLab Unfiltered and you are accessing the video with your individual YouTube account. In order to see the video,

  1. Click your photo or icon in the upper right corner of YouTube.

  2. Then Click > Switch Account

Switch-Account

  1. Now Select > GitLab Unfiltered. Do not select the account with your name. If GitLab Unfiltered is not an option, see Access

Select-User

  1. Once you are on GitLab unfiltered, reload the page and you can view the video

Check out this video for a visual walk through of how to access private videos on GitLab Unfiltered.

Access

  1. GitLab branded channel: To request access, create a Single Person Access Request issue and assign the listed provisioner (column G) from the Tech Stack YAML.
  2. GitLab Unfiltered: Everyone should get access to YouTube Unfiltered during onboarding. If you do not see an invitation in your Inbox, please check the Pending Invitations section of your Google Workspace account. If your invitation is not there, please request a new invitation in the #people-connect Slack channel.

For People Connect troubleshooting:

  1. If a team member reaches out that they have not received their GitLab Unfiltered invite, resend the invite via the Manage Permissions
  2. Should the team member still not see the invite under Pending Invitations, revoke the original invite by doing command f in the Manage Permissions section for the team members email address. You can revoke by clicking the X next to the email address.
  3. Once you have revoked the invite, close the YouTube Unfiltered page and reopen.
  4. Once reopen, select Manage Permissions and reinvite the team member by clicking on the Add option and enter the team members email address.
  5. This should now appear in the Pending Invitations section here.

Commenting

Please remember that if you find a user comment to respond to on one of our channel videos, that it will be perceived as official communication from the company. In almost all cases, unless your job specifically requires you to interact in a community manager role or capacity, it is best to switch to a personal account prior to engaging with a video or user on YouTube.

Consider switching to your personal account, responding to the comment, and identifying yourself as a GitLab employee offering help.

Please do not comment on videos from non-GitLab YouTube accounts using any company related YouTube profile. Commenting as GitLab is reserved for responses to our owned videos on our channels only.

Subscribing to Channels

The GitLab Unfiltered YouTube account should not be subscribed to any channels except:

House cleaning

The GitLab Unfiltered YouTube account is a shared space. Sometimes team members might accidentally comment or subscribe to channels thinking they are on a personal account.

If you see a channel subscription or comment that violates the rules of this handbook, please take a bias-for-action to keep the GitLab Unfiltered YouTube account pristine. Delete any accidental channel subscription or comment to return the YouTube account to a pristine state. If you are unable to remove the relevant comment or subscription, please notify people-connect@gitlab.com immediately.

Organizing

Our YouTube channels contain a lot of content. As a result, it can often be hard to find videos once they are published, particularly on the Unfiltered channel. Make liberal use of tags and playlists to organize the video content you publish. For published recordings of recurring meetings, which should be posted on the Unfiltered channel, please search for a playlist to put the video in. If there is no applicable playlist. please create one. You can also create a playlist that would automatically add new videos containing certain text in their titles, descriptions or tags to avoid manual steps (instructions)

Audience on YouTube

When publishing, YouTube will ask if the content is made for kids. GitLab content should be marked as “No, it’s not made for kids”.

Never call it a livestream or just a recording

It is essential that we always know if something is public or private. Always mention that in the calendar invite title.

Therefore say:

  • Public stream
  • Private stream
  • Public recording
  • Private recording

Never say: livestream or recording since those are ambiguous. See top misused terms.

What if your aren’t sure whether the stream is Public or Private?

There are some recordings where it is not clear whether they should be Private or Public or they require a review by the Legal team before posting publicly on YouTube. It would be disingenuous to tell our team that the recording is Private and then change the recording to Public. In this scenario, we should state that this a Reviewed Stream or a Reviewed Recording. This stream will be initially Private and upon Legal review could be changed to Public.

Starting a Livestream

The below instructions apply to livestreams to YouTube.

  1. The moderator asks host, ‘I am getting ready to start the public/private stream. Are you ready to begin speaking as soon as you see the YouTube Icon in the top left corner of Zoom?’. Please make sure you mention public or private.
  2. After the hosts confirms the Moderator clicks Live to YouTube and start the livestream.
  3. The host should do an introduction stating who they are, what their role is, and what the meeting is about, e.g. “I am Jane Doe, the VP of Widget Production, and today’s Group Conversation is about the molding phase of widget production.”
  4. Please note that if the recording starts a ’this meeting is being recorded’ message the host should talk over that because otherwise the recorded video will needed editing to prevent an awkward pause. Livestreaming doesn’t trigger this message, only recording does.

Uploading conversations to YouTube

  1. Default to public or private streaming instead of uploading.
  2. Please follow the process for starting the recorded video.
  3. Unless stated or arranged otherwise, our expected behavior is that the meeting organizer is responsible for distributing the video after the meeting.
  4. Log in to the Zoom account of the meeting and go to the menu on the right and choose “My Recordings” (it can take up to 30 minutes before the recording is available to be shared).
  5. Select the meeting and download the recording to your computer (if you can’t find the recording because it was a while ago check “Trash” in the menu on the top left and “Recover” the recording).
  6. Go to the YouTube upload page and log into the channel. If you’re logged into your personal YouTube account, you may need to first log into your GitLab YouTube account to access the channel. If you’re already logged into your GitLab YouTube account and have access to the channel, you need to switch accounts to that channel. To switch accounts, click on the account icon in the top right corner and then click “Switch account”.
  7. Drag and drop your recording into the window to upload it. Keep the privacy dropdown on the default ‘Public’ setting (unless there is confidential material). Use the dropdown menu to set the video to private if it the video contains confidential material.
  8. While it’s uploading, edit the title and description. Place “Confidential:” at the beginning of the video’s title if the video will be kept private on our YouTube channel.
  9. Be sure to include relevant links (for example a handbook page or presentation) in the description, and add the video to any relevant playlists.
  10. In the “Comments and ratings” section, select “Hold potentially inappropriate comments for review” - this allows all valid comments to be posted, allowing everyone to contribute, but holds spam or derogatory comments for review. There may be videos where we do not wish to open the comments section or need to moderate each comment. If you think your video would potentially need to go this route, add your question to the #marketing Slack channel.
  11. When it is done uploading, press publish, then click on the Embed tab and copy the code, and insert that in the relevant part of the handbook or documentation.
  12. After uploading a video to the GitLab Unfiltered channel, be sure to add a link to the new video in the #content-updates channel in Slack.

Don’t worry about the quality

  1. There is no minimum quality, so please share it on our GitLab Unfiltered YouTube channel, as long as there is nothing inappropriate or confidential.
  2. Everyone at the company probably has at least one conversation every week that is relevant to more people, so please share it.
  3. We always list videos publicly instead of having them unlisted, unless there is confidential material. This allows more people to find the content. If the material is confidential, set the video to private.
  4. Don’t worry about whether or not it will be interesting to absolutely everyone. Just give it a descriptive title so people know what it is about, and let them decide whether or not they should watch it.
  5. Make sure that all participants are aware that you’re recording.
  6. You don’t have to be sure it is interesting and OK to share when you start recording; you can make that decision after the fact.
  7. If you record an in-person conversation with your mobile phone please hold your phone in landscape (horizontal) mode.

Advanced setups

Depending on your needs, you might want use software to provide overlays and/or reroute audio. 99% of the people at GitLab don’t use this, but see below for instructions if you do want to use it.

Encoder

Audio Rerouting

Setup

  • Install both OBS Studio (encoder) and an audio rerouting software.
  • Check if your channel is ready to live stream.
  • Copy your encoder variables en setup your live streaming environment with the YouTube live dashboard
  • Open up OBS Studio and open preferences
  • Input your encoder variables under “Stream”

obs studio preferences

  • Configure your to-be-recorded software’s audio to be rerouted to an alternative audio source/output.
  • Under “Audio” in OBS Studio preferences, select the alternative audio source/output under Mic/Auxiliary Device 2. See this page for more help
  • Under “Video” select your preferred resolution and fps settings. Please take note that these should optimally reflect video aspect ratio such as 1920x1080.
  • Optionally you can set up some output options under “Output”
  • In the normal window of OBS Studio you should now see 2 audio sliders, including “Mic/Aux 2”. Configure these to your liking.
  • Select “Start Streaming”: You are now streaming
  • Go to your YouTube live dashboard to see your live stream and interact with your viewers.

When to record and publish to YouTube