Sup sirs. I have a few basic questions about encoding, if it's alright.
1) How much better is H.264 compared to WMV9? (Specifically for 59.94fps game footage, some of which was captured from emu and some of which was captured from consoles via S-Video at high color resolution.)
2) Is there anything wrong with using a GUI H.264 encoder like VirtualDub rather than the command-line stuff written in your guide?
3) Is H.264 fully supported by WMP yet? If not, should i try to use MPEG-4 instead? It's almost the same thing right?
This is driving me crazy. Why is it so impossible to find a decent balance between quality, compatibility, and ease of use?
http://sonichurricane.com
Tuesday = new technical/combo video/article | Thursday = new screenshot | Saturday = new strategy article
Probably as better as it is with DivX or a comparable MPEG4 codec. Note, however, that Windows Media Video is proprietary, and decoding support on platforms other than Windows is hacky at best.
VirtualDub doesn't properly support B-frames (and neither does the VFW version of x264, really), so quality will be lower at the same bitrate, although I'm not sure by how much. If you really want a GUI, give MeGUI a whirl.
Windows Media Player uses VFW codecs, so as long as you have a decoder for H.264 (MainConcept or ffmpeg both work), they should work fine. Also, H.264 is technically identical to MPEG-4/AVC.
Encoding is easy once you have everything set up correctly.
1) WMV* is proprietary, thus not worth using
2) The command line encoder will most likely give you more options to tune your settings and improve overall quality.
3) Just use VLC or (s)mplayer.
Using a Microsoft product for compatibility on a large user base is bullshit to say the very least. Open/Free codecs and containers can be read by everybody on every architecture and OS that is still alive and out there. I will give you the ease of use for just double clicking and not having to scream about it not working; but changing to free software is just as easy as that once you've done it.
[/anti M$ post]
Much better. The difference is more pronounced if the original recording is clean (like emulator output) since H.264 excels at preserving shapes.
Large part of the problem is lesser/harder customizability.
To be honest, at the moment H.264 is about the closest thing I've seen to such kind of balance. Compatibility is drastically improving each year, and ease of use problems are largely exaggerated.
Does that mean i should avoid using B-frames if i want people to be able to play my video on WMP?
Cool. Thing is, i used x264 via VirtualDub for my last video back in 2007 and ran into all kinds of problems. For example when it's playing in WMP and anything else happens (such as clicking another window), the audio and video desync during playback. They desync gradually anyway, but clicking on the seek bar restores sync. It plays much better in VLC but forcing people to install new software doesn't seem any better than forcing people to deal with WMV.
I'll try to figure out this command line stuff though. Is 350kbps the highest bitrate you guys ever use? I'll probably need 2500kbps at least because i used 5000kbps for WMV9 to get it looking decent.
The end result has to be an MKV file? I'd kinda prefer AVI, unless that's really dumb for some reason i don't know about.
http://sonichurricane.com
Tuesday = new technical/combo video/article | Thursday = new screenshot | Saturday = new strategy article
You can use AVI, but it doesn't handle some options (like b-frames) well. As for WMP problems, I believe it largely depends on the decoder you're using for H.264 video. Last I checked, WMP used DirectShow filters for decoding video streams, so you'd have to install something — be it a filter like ffdshow, a codec pack, or a standalone player — either way.
Gotcha. I guess i'll go with MKV for the high quality version, then use WMV9 for the low quality version that i don't want anyone watching.
... On second thought, fuck it. I just won't release a low quality version. All those people can go watch it on u2b cuz i know someone's gonna upload it there anyway. Why destroy my framerate and make it all blurry when the friendly people at google can do it for me, right?
http://sonichurricane.com
Tuesday = new technical/combo video/article | Thursday = new screenshot | Saturday = new strategy article
Okay, now i have a question about the options listed in the guide:
--deldup 40 --bitrate 350 --keyint 300
1) Since my video is 59.94fps, should i increase that 40 to something higher? This option looks kinda scary because i don't want to lose any frames.
2) The guide says the default keyframe interval is 250 frames, which i'll probably use instead of 300. So if keyframes are bigger, where do those extra bits come from? Since the bitrate is set at 350 (or whatever), does having more keyframes decrease the quality/bitrate of the other frames?
http://sonichurricane.com
Tuesday = new technical/combo video/article | Thursday = new screenshot | Saturday = new strategy article
You don't need deldup, as I believe it will lead to a/v desynchronization. And yes, if there are more keyframes, more bits get spent on them and less on the other frames. Actually, a good keyframe interval is the one that lets you seek in the intervals of 5 to 10 seconds (multiply this by frame rate to get the keyint value).
I'd just use MeGUI. Lots of pre-configured profiles that makes it easy. Use a fast high-quality profile and set the bitrate to around 350 kbps.
Using unlimited profiles can provide some better quality I imagine, but isn't supported on all platforms.
Or, you can just use the command line if you want.
Do not EVER use AVI. It's old, it's horrible and it doesn't support H264.
Wait so a 250 keyframe interval means that if something falls right before a keyframe, you couldn't seek any closer to it than four seconds before it? Wow, that's pretty terrible.
http://sonichurricane.com
Tuesday = new technical/combo video/article | Thursday = new screenshot | Saturday = new strategy article
Right. But if the goal is to create a small encode, it is an acceptable condition (after all, watching four extra seconds for once isn't going to kill you).
Yeah but with combo videos you need to be able to skip around a lot, otherwise it gets annoying quick. That's one of the (many) reasons why dealing with youtube is no fun.
Anyway if i'm actually planning on encoding at 2500kbps then moving the keyframes closer wouldn't hurt me much, right? Though the WMV9 default is 6 sec and that lets me seek exactly anywhere i want. That's weird.
With H.264, you can't seek to B-frames?
http://sonichurricane.com
Tuesday = new technical/combo video/article | Thursday = new screenshot | Saturday = new strategy article
Another excellent option for Windows users is Media Player Classic; it's easier to use than mplayer or smplayer and works better (once the Haali splitter is installed) with the encoded MKVs than VLC, although it is not cross-platform
also re: installing new software
VLC and MPC install easily and do not conflict with anything else, and mplayer does not even need to be installed; also I know at least for watching RealMedia it has long been preferable to use Real Alternative (best way to install MPC IMO) because the official RealPlayer is spyware-infested, and then it turns out to be an excellent choice for most other video types also...
Okay so this is kind of dumb but i have a complete uncompressed AVI file containing both the video and audio in sync. I don't need to crop it, add logos, subtitles, or anything. I just want to turn it into an H.264 MKV with MP3 audio.
In terms of options, if i'm not even gonna use deldup then all i need to specify is bitrate and keyframe interval (which i'll probably leave at the default anyway). Is there a direct way to do this or will i have to use four different programs to take the file apart, encode audio/video separately, and join them together myself?
edit: Screw it, i'm just gonna use MeGUI. Any common problems i should know about?
http://sonichurricane.com
Tuesday = new technical/combo video/article | Thursday = new screenshot | Saturday = new strategy article
Don't know of any common problems. It just has a nuisance that you have to create an Avisynth file for every encode, which usually means an extra step if you're not going to add any filters or resize or stuff.
As for software, I like Zoom Player. Excellent media player.
Regarding the command line vs MeGUI debate, i'm a little confused because it seems like MeGUI supports basically every option that you can specify via command line. All of the options in the guide above are available at least. Anyway, here's the end product in case anyone's curious:
SF? Ryu Exhibition (Evo2k9+OHN8 Edition)
Filesize is a little big but it's running at 640x480 59.94fps so i couldn't do much about that, even with the fancy x264 codec. Use headphones if you've got 'em. The soundtrack has helluva bass.
http://sonichurricane.com
Tuesday = new technical/combo video/article | Thursday = new screenshot | Saturday = new strategy article
You're using way too high bitrate.
My first encoding test yielded a size of 34.6 MB (video only). Quality isn't perfect just yet, so I'm slowly testing my way up to see a point where I can hit a spot where quality is flawless.
Update:
Size: 59.2 MB
Few problems with scene transitions; otherwise good quality.
Yeah i'm starting to think i could have gotten it down to about 100MB without sacrificing anything noticeable. I might re-encode it after Windows 7 comes out, depending on what features it has and how well the included media player works.
When i encoded using MeGUI, it automatically converted the color space to YUV12. Is that the only color space that x264 supports or is there a way to preserve RGB24?
http://sonichurricane.com
Tuesday = new technical/combo video/article | Thursday = new screenshot | Saturday = new strategy article
x264 (and many Avisynth filters) works with YUV12.
Windows 7 will not add anything noticeable that will affect encoding. Heck, it's impossible. The only thing that will change that is an updated compression standard.
Maybe so, but i care about how easy it is to watch my videos. So the list of codecs and formats that Windows 7 supports out of the box will make a big difference to me when it comes to choosing one.
VLC seems to be the current standard for anything that gives WMP trouble, but VLC is far from perfect too. I mean, when i load the MKV file in VLC, the audio starts playing so late that it drops the entire first note of the song. Pretty annoying.
http://sonichurricane.com
Tuesday = new technical/combo video/article | Thursday = new screenshot | Saturday = new strategy article
Zoom Player works out of the box for almost every video and audio format.
That said, H264, AAC and MP4 will be supported out-of-the-box in Win7.
However, some formats, such as Ogg, and MKV (!) will not, so it's highly recommended that you still use a 3rd party media player (such as Zoom Player).
Before this thread drops off the page and disappears forever, i just want to say thanks to everyone who answered my questions. You guys helped a lot and i really appreciate it.
http://sonichurricane.com
Tuesday = new technical/combo video/article | Thursday = new screenshot | Saturday = new strategy article