├── DeltaSeat.jpg ├── README.md ├── bliss.jpeg ├── cartoon-couch.jpg ├── cats.jpeg ├── enterprise.jpeg ├── four-seasons-total-landscaping.jpg ├── good-place.png ├── goose.jpg ├── hell.jpeg ├── jerry.jpg ├── joe-flow.mp4 ├── live_backgrounds ├── README.md ├── Split-VideoForZoom.ps1 ├── Split-VideoForZoom.ps1.md ├── big-boat.png └── zoom-pref.png ├── max-headroom.jpeg ├── office.jpeg ├── stage.jpeg ├── this_is_fine.jpg └── trash-pandas.jpeg /DeltaSeat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbbroberg/awesome-zoom-backgrounds/7303b04881b9c20b06403dd00bd51da5f62a9c3e/DeltaSeat.jpg -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # awesome-zoom-backgrounds 2 | 3 | A collection of backgrounds people are using to make Zoom more entertaining. It's intended to be humorous. Be kind. 4 | 5 | ![Screen Shot 2020-03-20 at 2 31 19 PM](https://user-images.githubusercontent.com/1744971/77255964-23eea700-6c39-11ea-9e4c-d411f69af279.png) 6 | 7 | ## Instructions 8 | 9 | * @daxmc99 was kind enough to [write instructions here](/live_backgrounds/README.md). 10 | * There are also instructions on this (way better) site: https://zoomerbackgrounds.com/how-to 11 | 12 | ## Inspiration 13 | 14 | * The SIG Hot Sauce on [Mar 20, 2020](https://twitter.com/stephenaugustus/status/1241070063760924675). 15 | * The one and only Nathan Harvey and his [call backgrounds](https://github.com/nathenharvey/conference-call-backgrounds). 16 | 17 | ## License 18 | 19 | This repository is intended to be [Creative Commons Zero](https://creativecommons.org/share-your-work/licensing-examples/). Please respect images with other copyright restrictions. 20 | -------------------------------------------------------------------------------- /bliss.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbbroberg/awesome-zoom-backgrounds/7303b04881b9c20b06403dd00bd51da5f62a9c3e/bliss.jpeg -------------------------------------------------------------------------------- /cartoon-couch.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbbroberg/awesome-zoom-backgrounds/7303b04881b9c20b06403dd00bd51da5f62a9c3e/cartoon-couch.jpg -------------------------------------------------------------------------------- /cats.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbbroberg/awesome-zoom-backgrounds/7303b04881b9c20b06403dd00bd51da5f62a9c3e/cats.jpeg -------------------------------------------------------------------------------- /enterprise.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbbroberg/awesome-zoom-backgrounds/7303b04881b9c20b06403dd00bd51da5f62a9c3e/enterprise.jpeg -------------------------------------------------------------------------------- /four-seasons-total-landscaping.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbbroberg/awesome-zoom-backgrounds/7303b04881b9c20b06403dd00bd51da5f62a9c3e/four-seasons-total-landscaping.jpg -------------------------------------------------------------------------------- /good-place.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbbroberg/awesome-zoom-backgrounds/7303b04881b9c20b06403dd00bd51da5f62a9c3e/good-place.png -------------------------------------------------------------------------------- /goose.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbbroberg/awesome-zoom-backgrounds/7303b04881b9c20b06403dd00bd51da5f62a9c3e/goose.jpg -------------------------------------------------------------------------------- /hell.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbbroberg/awesome-zoom-backgrounds/7303b04881b9c20b06403dd00bd51da5f62a9c3e/hell.jpeg -------------------------------------------------------------------------------- /jerry.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbbroberg/awesome-zoom-backgrounds/7303b04881b9c20b06403dd00bd51da5f62a9c3e/jerry.jpg -------------------------------------------------------------------------------- /joe-flow.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbbroberg/awesome-zoom-backgrounds/7303b04881b9c20b06403dd00bd51da5f62a9c3e/joe-flow.mp4 -------------------------------------------------------------------------------- /live_backgrounds/README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## Why limit yourself non-moving Zoom backgrounds? 4 | _requires Zoom 4.6.4_ 5 | 6 | Did you know you can add video backgrounds with Zoom? This quick tutorial will show you how to visit the 1980s on every video call. 7 | 8 | ![big-boat](big-boat.png) 9 | 10 | First, we need some tools. 11 | 12 | `brew install youtube-dl` or the equivalent for your OS. 13 | 14 | If you want to use the video from the screenshot above: 15 | 16 | `youtube-dl -F 'https://www.youtube.com/watch?v=GsN_9a257rM'` 17 | 18 | and then choose the appropriate stream, ie `youtube-dl -f 18 'https://www.youtube.com/watch?v=GsN_9a257rM'` 19 | 20 | _Zoom requires a minimum resolution of 640x360 for virtual backgrounds_ 21 | 22 | Next, go to Zoom preferences and add the video you just downloaded. 23 | ![zoom-pref](zoom-pref.png) 24 | 25 | Proceed to enjoy the 1980s 26 | 27 | ## More fun with moving backgrounds and Slow TV 28 | 29 | [Slow TV](https://en.wikipedia.org/wiki/Slow_television) can make for some fun live backgrounds, but your coworkers will get bored seeing 30 | the same 30 minutes from the beginning of a long video over and over (and the beginning may not have any action). 31 | [I wanted to split a large video](https://twitter.com/fishmanpet/status/1242585079446192129), 32 | and after deciding that doing it by hand would be very time consuming I looked into using ffmpeg and PowerShell, 33 | my scripting language of choice. 34 | 35 | I wrote this script that randomly select clips from a larger video and assemble them into a video suitable for use as a Zoom background. 36 | 37 | To use `Split-VideoForZoom.ps1` you'll need ffmpeg and PowerShell (will run on Windows PowerShell or PowerShell Core on any platform). 38 | 39 | On a Mac: 40 | 41 | `brew cask install powershell` 42 | 43 | `brew install ffmpeg` 44 | 45 | Once those are installed, you can split up a video that you've downloaded with `youtube-dl` as above. 46 | 47 | ``` 48 | cd awesome-zoom-backgrounds/live_backgrounds 49 | youtube-dl -f 134 'https://www.youtube.com/watch?v=3rDjPLvOShM' -o 'train.mp4' 50 | pwsh Split-VideoForZoom.ps1 -VideoPath train.mp4 -OutputPath split.mp4 #Mac, Linux, Windows with PowerShell Core installed 51 | powershell Split-VideoForZoom.ps1 -VideoPath train.mp4 -OutputPath split.mp4 #Windows 52 | 53 | ``` 54 | 55 | This will, by default, split the video into enough 15 second chunks to make a 10 minute video. 56 | The length of clips and the total length of video can also be specified. 57 | 58 | ``` 59 | pwsh Split-VideoForZoom.ps1 -VideoPath train.mp4 -OutputPath split.mp4 -VideoLength 5 -ClipTime 30 60 | ``` 61 | This will split the same video into enough 30 second clips to make a 5 minute video (so 10 clips total) 62 | -------------------------------------------------------------------------------- /live_backgrounds/Split-VideoForZoom.ps1: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env pwsh 2 | 3 | 4 | <# 5 | .SYNOPSIS 6 | Splits a longer mp4 video into a few random short clips, for Zoom video backgrounds 7 | 8 | .DESCRIPTION 9 | Suitable for use with "Slow Television" videos, it will take a long video (in MP4 format), and cut random short clips together to make a single video. 10 | It can also reverse or horizontally mirror the video. By default the video will be 10 minutes long with 15 second clips, but this can be modified. 11 | 12 | .PARAMETER VideoPath 13 | Path to the source video 14 | 15 | .PARAMETER OutputPath 16 | Path and filename to output file 17 | 18 | .PARAMETER VideoLength 19 | How many minutes long the output video should be. This is used along with ClipTime to determine how many clips to cut 20 | 21 | .PARAMETER ClipTime 22 | How long each clip should be, in seconds. This is used along with VideoLength to determine how many clips to cut 23 | 24 | .PARAMETER Reverse 25 | If specified will reverse playback of the video 26 | 27 | .PARAMETER Mirror 28 | If specified will mirror the video horizontally. 29 | By default Zoom will mirror how it shows your feed to you, but viewers will see an unmirroed version. 30 | Normally you shouldn't need this for normal Zoom settings. 31 | 32 | .PARAMETER ffmpegPath 33 | Optional, path to ffmpeg, defaults to simply ffmpeg, so only needed if ffmpeg is not in your path 34 | 35 | .PARAMETER ffprobePath 36 | Optional, path to ffprobe, defaults to simply ffprobe, so only needed if ffprobe is not in your path 37 | 38 | .EXAMPLE 39 | .\Split-VideoForZoom.ps1 -videoPath train.mp4 -outputPath zoom.mp4 -reverse -VideoLength 2 -ClipTime 15 40 | This will split the file train.mp4 (https://www.youtube.com/watch?v=3rDjPLvOShM downloaded using youtubedl and renamed) into a 2 minute 41 | long video made up of 15 second clips (8 clips total), in reverse (when it wasn't reversed my coworkers thought it looked weird playing forwards, 42 | so I reversed it). 43 | 44 | #> 45 | param ( 46 | [Parameter(Mandatory = $true)][String]$VideoPath, 47 | [Parameter(Mandatory = $true)][String]$OutputPath, 48 | [Alias("length")][Int]$VideoLength = 10, 49 | [Alias("time")][Int]$ClipTime = 15, 50 | [Switch]$Reverse, 51 | [Switch]$Mirror, 52 | [String]$ffmpegPath = 'ffmpeg', 53 | [String]$ffprobePath = 'ffprobe' 54 | ) 55 | 56 | $ErrorActionPreference = 'Stop' 57 | 58 | try { 59 | $videoPath = Resolve-Path $videoPath 60 | if (Split-Path -Parent $outputPath) { 61 | $outputpath = join-path (Resolve-Path (Split-Path -Parent $outputPath)) (Split-Path -Leaf $outputPath) 62 | } 63 | 64 | $videoInfo = (&$ffprobePath -v quiet -print_format json -show_format $videoPath ) | ConvertFrom-Json 65 | [int]$seconds = $videoInfo.format[0].duration 66 | [int]$intervals = ($VideoLength * 60) / $ClipTime 67 | 68 | $dirname = Get-Date -Format FileDateTimeUniversal 69 | New-Item -Name $dirname -ItemType Directory 70 | 71 | foreach ($i in (1..$intervals)) { 72 | $randomtotal = Get-Random -Maximum ($seconds - $ClipTime) -Minimum 0 73 | $filename = Join-Path $dirname "clip$i.mp4" 74 | Write-Verbose "Starting Clip $i at $randomtotal" 75 | &$ffmpegPath -hide_banner -ss $randomtotal -i $videoPath -t $ClipTime $filename 76 | "file '$(Resolve-Path $filename)'" | Out-File -Append (Join-Path $dirname mylist.txt) -Encoding ascii 77 | Write-Verbose "Finished Clip $i at $randomtotal" 78 | } 79 | if ($reverse -or $mirror) { 80 | $vfflags = @() 81 | if ($reverse) { 82 | $vfflags += 'reverse' 83 | } 84 | if ($mirror) { 85 | $vfflags += 'hflip' 86 | } 87 | $vfflags = "-vf", ($vfflags -join ',') 88 | } else { 89 | $vfflags = "-c", "copy" 90 | } 91 | $param = "-hide_banner", "-f", "concat", "-safe", "0", "-i", "$(Join-Path $dirname mylist.txt)" + $vfflags + "$outputpath" 92 | &$ffmpegPath $param 93 | } finally { 94 | Remove-Item -Recurse $dirname 95 | } 96 | -------------------------------------------------------------------------------- /live_backgrounds/Split-VideoForZoom.ps1.md: -------------------------------------------------------------------------------- 1 | --- 2 | external help file: -help.xml 3 | Module Name: 4 | online version: 5 | schema: 2.0.0 6 | --- 7 | 8 | # Split-VideoForZoom.ps1 9 | 10 | ## SYNOPSIS 11 | Splits a longer mp4 video into a few random short clips, for Zoom video backgrounds 12 | 13 | ## SYNTAX 14 | 15 | ``` 16 | Split-VideoForZoom.ps1 [-VideoPath] [-OutputPath] [[-VideoLength] ] 17 | [[-ClipTime] ] [-Reverse] [-Mirror] [[-ffmpegPath] ] [[-ffprobePath] ] 18 | [] 19 | ``` 20 | 21 | ## DESCRIPTION 22 | Suitable for use with "Slow Television" videos, it will take a long video (in MP4 format), and cut random short clips together to make a single video. 23 | It can also reverse or horizontally mirror the video. 24 | By default the video will be 10 minutes long with 15 second clips, but this can be modified. 25 | 26 | ## EXAMPLES 27 | 28 | ### EXAMPLE 1 29 | ``` 30 | .\Split-VideoForZoom.ps1 -videoPath train.mp4 -outputPath zoom.mp4 -reverse -VideoLength 2 -ClipTime 15 31 | ``` 32 | 33 | This will split the file train.mp4 (https://www.youtube.com/watch?v=3rDjPLvOShM downloaded using youtubedl and renamed) into a 2 minute 34 | long video made up of 15 second clips (8 clips total), in reverse (when it wasn't reversed my coworkers thought it looked weird playing forwards, 35 | so I reversed it). 36 | 37 | ## PARAMETERS 38 | 39 | ### -VideoPath 40 | Path to the source video 41 | 42 | ```yaml 43 | Type: String 44 | Parameter Sets: (All) 45 | Aliases: 46 | 47 | Required: True 48 | Position: 1 49 | Default value: None 50 | Accept pipeline input: False 51 | Accept wildcard characters: False 52 | ``` 53 | 54 | ### -OutputPath 55 | Path and filename to output file 56 | 57 | ```yaml 58 | Type: String 59 | Parameter Sets: (All) 60 | Aliases: 61 | 62 | Required: True 63 | Position: 2 64 | Default value: None 65 | Accept pipeline input: False 66 | Accept wildcard characters: False 67 | ``` 68 | 69 | ### -VideoLength 70 | How many minutes long the output video should be. 71 | This is used along with ClipTime to determine how many clips to cut 72 | 73 | ```yaml 74 | Type: Int32 75 | Parameter Sets: (All) 76 | Aliases: length 77 | 78 | Required: False 79 | Position: 3 80 | Default value: 10 81 | Accept pipeline input: False 82 | Accept wildcard characters: False 83 | ``` 84 | 85 | ### -ClipTime 86 | How long each clip should be, in seconds. 87 | This is used along with VideoLength to determine how many clips to cut 88 | 89 | ```yaml 90 | Type: Int32 91 | Parameter Sets: (All) 92 | Aliases: time 93 | 94 | Required: False 95 | Position: 4 96 | Default value: 15 97 | Accept pipeline input: False 98 | Accept wildcard characters: False 99 | ``` 100 | 101 | ### -Reverse 102 | If specified will reverse playback of the video 103 | 104 | ```yaml 105 | Type: SwitchParameter 106 | Parameter Sets: (All) 107 | Aliases: 108 | 109 | Required: False 110 | Position: Named 111 | Default value: False 112 | Accept pipeline input: False 113 | Accept wildcard characters: False 114 | ``` 115 | 116 | ### -Mirror 117 | If specified will mirror the video horizontally. 118 | By default Zoom will mirror how it shows your feed to you, but viewers will see an unmirroed version. 119 | Normally you shouldn't need this for normal Zoom settings. 120 | 121 | ```yaml 122 | Type: SwitchParameter 123 | Parameter Sets: (All) 124 | Aliases: 125 | 126 | Required: False 127 | Position: Named 128 | Default value: False 129 | Accept pipeline input: False 130 | Accept wildcard characters: False 131 | ``` 132 | 133 | ### -ffmpegPath 134 | Optional, path to ffmpeg, defaults to simply ffmpeg, so only needed if ffmpeg is not in your path 135 | 136 | ```yaml 137 | Type: String 138 | Parameter Sets: (All) 139 | Aliases: 140 | 141 | Required: False 142 | Position: 5 143 | Default value: Ffmpeg 144 | Accept pipeline input: False 145 | Accept wildcard characters: False 146 | ``` 147 | 148 | ### -ffprobePath 149 | Optional, path to ffprobe, defaults to simply ffprobe, so only needed if ffprobe is not in your path 150 | 151 | ```yaml 152 | Type: String 153 | Parameter Sets: (All) 154 | Aliases: 155 | 156 | Required: False 157 | Position: 6 158 | Default value: Ffprobe 159 | Accept pipeline input: False 160 | Accept wildcard characters: False 161 | ``` 162 | 163 | ### CommonParameters 164 | This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). 165 | 166 | ## INPUTS 167 | 168 | ## OUTPUTS 169 | 170 | ## NOTES 171 | 172 | ## RELATED LINKS 173 | -------------------------------------------------------------------------------- /live_backgrounds/big-boat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbbroberg/awesome-zoom-backgrounds/7303b04881b9c20b06403dd00bd51da5f62a9c3e/live_backgrounds/big-boat.png -------------------------------------------------------------------------------- /live_backgrounds/zoom-pref.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbbroberg/awesome-zoom-backgrounds/7303b04881b9c20b06403dd00bd51da5f62a9c3e/live_backgrounds/zoom-pref.png -------------------------------------------------------------------------------- /max-headroom.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbbroberg/awesome-zoom-backgrounds/7303b04881b9c20b06403dd00bd51da5f62a9c3e/max-headroom.jpeg -------------------------------------------------------------------------------- /office.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbbroberg/awesome-zoom-backgrounds/7303b04881b9c20b06403dd00bd51da5f62a9c3e/office.jpeg -------------------------------------------------------------------------------- /stage.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbbroberg/awesome-zoom-backgrounds/7303b04881b9c20b06403dd00bd51da5f62a9c3e/stage.jpeg -------------------------------------------------------------------------------- /this_is_fine.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbbroberg/awesome-zoom-backgrounds/7303b04881b9c20b06403dd00bd51da5f62a9c3e/this_is_fine.jpg -------------------------------------------------------------------------------- /trash-pandas.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mbbroberg/awesome-zoom-backgrounds/7303b04881b9c20b06403dd00bd51da5f62a9c3e/trash-pandas.jpeg --------------------------------------------------------------------------------