Skip to content
/ avg Public

audio, video, graphics (avg) creation related to octetz.com

Notifications You must be signed in to change notification settings

joshrosso/avg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

avg

audio, video, and graphics (avg). This repository contains assets and guides for generating videos and graphics used in relation to octetz.com. All graphics are created using free and open-source software inkscape and gimp.

Font

Media uses the Lacquer-Font/Lacquer. The .ttf file is available in the font directory. To install on Linux, do the following.

sudo cp -rv font/lacquer /usr/share/font &&\ 
  sudo chmod 644 /usr/share/font/Lacquer-Regular.ttf

Thumbnail Creation

Thumbnails are used for YouTube and [sometime] re-used as website summary cards. They are created using inkscape. This assumes you have setup fonts.

  1. Create a new thumbnail from svg/yt_thumbnail.svg.

    cp -v svg/yt_thumbnail.svg ~/Documents/new_thumbnail.svg
  2. Edit the new thumbnail.

    inkscape ~/Documents/new_thumbnail.svg
  3. Select the bg layer.

    img/guide-titlecard-1.png

  4. Select the image object.

  5. Right click and choose Release Clip.

    img/guide-titlecard-2.png

  6. Examine the two objects.

    img/guide-titlecard-3.png

The red rectangle represents the 1280x720 space which an image can be clipped inside of. The image (triangle) represent what will become the content of that clip.

  1. Delete the existing image (triangle).

  2. Add a new image.

    img/guide-titlecard-4.png

    Be sure to respect licensing.

  3. Hit PgDn to move the object to the bottom of the layer.

    img/guide-titlecard-5.png

    To see object order in a layer, open Object > Objects.. from the menu bar.

  4. Position the image within the red rectangle based on your preferences.

  5. Select the red rectangle and image.

  6. Right click and choose Set Clip.

    img/guide-titlecard-6.png

  7. Make needed changes and upload.

    img/guide-titlecard-7.png

OBS Installation

  1. Download obs-studio-git.

    cd $(mktemp -d) &&\
    git clone https://aur.archlinux.org/obs-studio-git.git &&\
    cd obs-studio-git
  2. Ensure correct version of cef is set in the depends block of the PKGBUILD.

    see https://aur.archlinux.org/packages/obs-studio-git/#comment-737390

    as of 08/30/2020, it appears the correct cef version is being used.

  3. Resolve missing dependencies not resolvable in arch repos.

    ==> ERROR: 'pacman' failed to install missing dependencies.
    ==> Missing dependencies:
      -> libfdk-aac
      -> swig
      -> cef-minimal-3770
    

    In the above, only cef-minimal-3770 requires downloading and installing from AUR. However, all dependencies report missing. You only need to explicitly install cef-minimal-3770 in the above case. All other dependencies, found in official repos, will download themselves.

  4. Compile and install obs.

    makepkg -si

OBS Configuration

Overview

The octetz.com OBS configuration is a simple 1920x1080 screen with a 400px gutter to the right containing the webcam and other assets. The remainder space is filled with an application, with expected window sizes of 1520x1080.

img/guide-obs-1.png

Install This Config

To install this configuration, run the following command. It assumes you've got all font(s) installed from the font section.

cp -rv obs/* ~/.config/obs-studio/

Images will break, you'll need to replace them or change the paths they're pointing to in the configuration.

grep -rF "file" ./obs/basic/
./obs/basic/scenes/octetz.json:                "file": "/home/josh/.config/obs-studio/basic/webcam-bg.jpeg"
./obs/basic/scenes/octetz.json:                "file": "/home/josh/.config/obs-studio/basic/octetz-logo-white.png"

Application Windows

Rather than sharing my desktop with OBS, I share applications windows. Each window gets its own scene.

img/guide-obs-2.png

This means each application windows being shared should be sized to 1520x1080.

This is accomplished using wmctrl. To resize the active window, run:

wmctrl -r :ACTIVE: -e 0,0,0,1520,1080

To speed this up, I've bound the above command to Super+Shift+1. My ~/.bindkeysrc is as follows.

#resize-obs
"wmctrl -r :ACTIVE: -e 0,0,0,1520,1080"
    m:0x41 + c:10
    Shift+Mod4 + 1

Webcam Video Optimizations

It's important your webcam settings are correct to ensure video comes through at a good quality and frame rate. A common mistake is to not use an (Emulated) video format, causing terrible framerates. Per the obs forums:

The v4l2 userspace utilities additionally provide the option of transcoding some formats devices may offer but obs is not able to use directly. The formats listed as "Emulated" are transcoded from a different input format. On webcams the emulated formats are MJPEG internally most of the time, which is a compressed format. Using those formats can help reduce the needed bandwidth for USB devices and might allow for higher resolutions/framerate.

img/guide-obs-3.png

The key settings to consider are:

  • Video Format: YV12 (Emulated)
  • Resolution: 1280x720
    • My webcam supports 1080, but at 30fps
  • Frame Rate: 60.00

Slides

For slides, I use zathura.

img/guide-obs-4.png

Switching Between Scenes

While stream decks are really cool, they're very unnecessary. Additionally their support for Linux is not native. Simply bind scenes to a key sequence via File > Settings > Hotkeys.

img/guide-obs-5.png

Compositor Warning

If you run a compositor such as compton or picom you may experience issues with tearing and strange artifacts. Experiments have shown this behavior may have something to do with my graphics card and vsync, but I'm not entirely sure.

Killing the compositor (pkill picom) may solve this problem altogether.

Video Settings

In File > Settings > Video I always ensure base resolution and output resolution match, or else there can be unintended scaling after recording. For all my recordings, both are set to 1920x1080.

img/guide-obs-6.png

In File > Settings > Output, the Output Mode is set to Advanced. This enables me to ensure I'm using an encoder with my GPU. Additionally, you can specify the Bitrate, which if streaming may be important for how much data you can push.

img/guide-obs-7.png

Settings in the recording tab are the same as streaming.

Video Editing

I rarely edit videos, when I do, I use kdenlive.

About

audio, video, graphics (avg) creation related to octetz.com

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published