# WebM guide for retards#

This is a small guide for making WebMs.

## Recording software#

I recommend using Open Broadcaster Software or Shadowplay. For OBS, go to Settings > Encoding and check the option "Nvidia NVENC". It will use both the CPU and the GPU when encoding videos, which is better than the default option, which only uses the CPU. Other alternatives are Fraps or Dxtory.

Read the "Tips and some advice" section for info on how to record footage without wasting your PC's resources.

## WebM for Retards#

You can download WebM for retards from here, and here is the video tutorial. Note that the new version of WebM for Retards already has the -b:v parameter, so you don't need to add it yourself, just modify the one that's already there.

That method is one of the best if you want a good quality WebM. It's a 2 pass, variable bitrate encoding method.

I highly recommend playing around with ffmpeg and learning what the basic parameters do. The default way the developer intends you to use WebM for Retards gives you horseshit WebMs, but if you use it as a simple GUI for FFmpeg, like the tutorial shows you, you can get good quality WebMs.

## ffmpeg (single pass)#

1. Download any ffmpeg static build from http://ffmpeg.zeranoe.com/builds/
2. Decompress it wherever you want
3. Put the mp4 file you want to convert to WebM in the bin folder and rename it "input.mp4"
4. Run ff-prompt.bat
5. Paste this command with the parameters you want:
ffmpeg -i input.mp4 -ss START -to END -c:v libvpx -qmin 0 -qmax 30 -vf "scale=-1:480" -threads 4 -an -y output.webm

-ss and -to are the start and end points of your WebM. If you want a WebM from the second 37 of a video to the minute 6, 39 seconds and 123 milliseconds, use -ss 37 -to 6:39.123. If you don't want to trim your video, remove the -ss and -to parameters. You can use only -ss if you want to start encoding from a certain part of your video and you want it to encode everything until the end of it or if you're using the -fs parameter, which is explained below.

-qmax determines the quality of your image. Its values can go from 0 to 63. Lower values mean better image quality. Play with this value if your file sizes are too big or if your WebM looks bad.

Forget about -qmin. In fact, you can remove it if you want. -qmax determines how shitty the shittiest image quality will be and -qmin determines how good the best quality image will be. However, ffmpeg is like a normal human being and will go for -qmax so it can work less and give you shittier results.

-vf "scale=-1:480" resizes your video stream. -1:480 means that it resizes your video to 480 vertical pixels and automatically calculates the horizontal pixels it needs in order to preserve the original aspect ratio of the video. Delete this parameter if you don't want to resize your video. Do us all a favor and DON'T post 1080p WebMs unless you know what you're doing. 720p and 480p are more than enough for most things.

-fs is not included, but you can add it if you want. -fs 3M will limit your webm weight to 3 MB, which is 4chan's limit. It will start encoding from the point defined by -ss, and it will stop when it reaches 3 MB. It doesn't make much sense to use this parameter if you're using -to, which is why I almost never use it.

## ffmpeg 2 pass#

This is the method you'll want to use for most of your WebMs since it's the one that gives you the best quality WebMs. I'm going to assume that you know what all the parameters from the single pass section do and that you have already downloaded ffmpeg.

1. Run ff-prompt.bat
2. Change the working directory using the following command: cd "C:\path\to\the\folder\where\your\video\is\located"
3. Now paste these 2 commands with the proper parameters. Paste the second one after the first one is finished.
 1 2 ffmpeg -i input.mp4 -ss START -to END -c:v libvpx -threads 3 -quality good -cpu-used 0 -lag-in-frames 16 -auto-alt-ref 1 -qcomp 1 -b:v 1000K -an -sn -y -f webm -pass 1 NUL ffmpeg -i input.mp4 -ss START -to END -c:v libvpx -threads 3 -quality good -cpu-used 0 -lag-in-frames 16 -auto-alt-ref 1 -qcomp 1 -b:v 1000K -an -sn -y -f webm -pass 2 output.webm 

The numerical values themselves need to be adjusted for each webm. Both commands need to be identical except for their last parameters. You can easily predict what bitrate you're going to need in order to get a file of a certain filesize with this formula: FileSize*8/Time. FileSize is in KB and time is in seconds. If I want a 3000 kB WebM which is 15 seconds long, its target bitrate would be 3000*8/15 = 1600 kB. So the parameter we would have to use would be -b:v 1600K.

/g/entoomen should use /dev/null instead of NUL.

## GUIs for ffmpeg#

AutoHotkey FFmpeg GUI for WebMs
The only thing you'll need if you only want to make basic WebMs for 4chan.

XMedia Recode - http://www.xmedia-recode.de/en/index.html
FFmpegYAG - https://sourceforge.net/projects/ffmpegyag/
Avanti - http://www.avanti.arrozcru.org/
WebMCam - https://github.com/TheTarkus/WebMCam/

1. Download that and extract it wherever you want
2. Open your command prompt (Windows+R and then type cmd and press enter)
3. Paste these 2 commands:
 1 2 cd C:\folder\path\where\youtube-dl.exe\is\located youtube-dl.exe https://www.youtube.com/ThisIsTheLinkToTheVideoYouWantToDownload 

And that's it. The program will start downloading the YouTube video. From here on you can trim it, resize it, etc.

There are also other alternatives, like http://en.savefrom.net/

## Tips and some advice#

• Bitrate is more important than resolution for a video's quality. Don't upscale your videos, increase the bitrate instead.
• Summarize your content as much as you can. No need to make 2 min WebMs if you can show what you wanted in 10 seconds or less.
• Don't post WebMs that are above 720p unless you know what you're doing. 720p and 480p are more than enough for most things.
• Don't record in 1080p only to downscale it later. Record your screen in 720p or less.
• Don't record at more than 30 fps unless you want to show how good your game looks at higher framerates.
• The more the camera moves, the bigger the file size you're going to get. When recording, try to minimize unnecessary camera movements.
• The more general movement there is on a video, the bigger the file size you're going to get. Even if your camera is standing still, if there are lots of things happening on your screen, the file size is going to increase.
• If the quality is not good enough, lower the resolution. A 720p at 500 kbps video is going to look worse than a 480p at 500 kbps video, even when you upscale the 480p video to 720p.

## 4chan WebM limits#

• Maximum file size is 4096KB.
• Maximum video resolution is 2048x2048.
• Maximum duration is 5 minutes (300 seconds).
• No audio streams except on /wsg/ and /gif/ (use -an).
• Only VP8 is supported, no VP9.

## 8chan WebM limits#

• Maximum file size is 8192KB.
• Maximum video resolution is 10000x10000.
• Audio streams allowed globally.

## Additional documentation for ffmpeg#

A guide made by an anon for /wsg/:
http://i.imgur.com/5o2yTYc.png