Archive for the ‘Uncategorized’ Category

WebM+ffmpeg Win32 Build

Thursday, May 20th, 2010

HEY!
This post is outdated, if you want the latest builds [with working vorbis encoder], try this site.

Since the vorbis encoder supplied in my builds is quite broken, it’s highly recommended to re-encode with one of the builds off the above site.


Google released WebM/VP8 as open source earlier, but I haven’t had a chance to really encode anything yet, mostly due to the lack of a proper unified encoder.

But, following this guide, you can build ffmpeg with webm for windows rather easily. But for those without a linux distro to play with, you can simply download them here:

Download:
[OUT DATED! See top of post]
ffmpeg+webm mingw32 build r3 [zip, 5/22/10]
ffmpeg+webm mingw32 build r3 [7z, 5/22/10]

ffmpeg+webm mingw32 build r2 [zip, 5/20/10]
ffmpeg+webm mingw32 build r2 [7z, 5/20/10]

Use:

ffmpeg -i [video file to encode] -b [bitrate]k -aq 60 -threads 4 output.webm

On a command line and wait. And wait. It’s slow. Very slow. You can speed it up a bit by using -level 300 if you want, though quality suffers a little bit. Two pass encoding is supported with -pass 1 followed by a second encode with -pass 2, as per usual.

Have fun!


Supported VP8/WebM Flags, all flags require a numeric value after them.

You can also use this nice spreadsheet.

-vb [target bitrate]
-level [Encoder speed/quality and cpu use[?]. 100 = best, 200 = average, 300 = ‘realtime’/fast]
-threads [number of threads to use for encoding, can't be 0 [auto] with VP8/this build]
-token_partitions [number of partitions to split the video into, useful for multi-core decoding]

-lag [number of frames to look ahead for when encoding]
-keyint_min [min distance between keyframes]
-g [max distance between keyframes]

-bt [bitrate tolerance in VBR/2pass mode]
-minrate [Minimal bitrate allowed in vbr/2pass mode]
-maxrate [Maxium bitrate allowed in vbr/2pass mode]

-qmin [min quantizer allowed]
-qmax [max quantizer allowed, set just this for fixed quantizer mode]

-bufsize ["ratecontrol buffer size (in bits)"]
-rc_init_occupancy ["number of bits which should be loaded into the rc buffer before decoding starts"]
-rc_opt_occupancy ["number of bits which should be kept in the rc buffer during decoding"]
-rc_buf_aggressivity ["currently useless", buffer use aggressiveness]

-spatial_rsmpl [spatial resampling]
-spatial_rsmpl_up ["Spatial resampling up watermark, percentage of target data buffer."]
-spatial_rsmpl_down ["Spatial resampling down watermark, percentage of target data buffer."]

-profile [Can't find much data on this, usually set to 0]

-nr [Noise reduction]
-sharpness [Has a value from 0 to 7, assuming it applies a sharpness filter after decoding]

-altref [Allow alternate reference frames, 1]
-ar_max_frames ["Max frames used in creating alt. ref. [0,25]“]
-ar_type ["Filter type used in creating alt. ref."]
-ar_strength ["Filter strength used in creating alt. ref. [0,6]“]

-skip_threshold [threshold to skip a frame instead of encoding it[?]]
-mb_static_threshold [static frame threshold[?]]

Demo stuff

Tuesday, August 11th, 2009

Some more recent demos I thought should be shared.

First we have a Wrath by Matt Current. Win32 demo. Mostly dark and whatnot.

Next up, some fun little thing by ASD titled Chameleon. Win32, some 2D art and 3D. They made this in a few days for a random compo.

Here, have Lightshaft by Elude, a modern Amiga demo. Yay low res.

Now for something completely different, Frameranger by Fairlight, Orange, and CNCD [whew], once again a Win32 demo, and probably the biggest demo of the year so far. Random more main-stream oriented car/robo scenes, followed by more proper effects known of the scene. This thing runs like crap in real time though even on a high end rig.

Sorry, no oldskool platforms here this time, unless you count the upgraded amiga used for the Elude demo. :)

Phlix.TV

Wednesday, October 15th, 2008

Mmmmm, thought I’d post this, get some feedback:

Phlix

Phlix basically will take any non-flash video file [AVI/MOV/WMV/MP4/Etc, as long as it's on a http server], and convert it to flash on the fly, without [too] much wait [5-15 seconds at most if the server containing the video is slow]. No need to download some random codec to watch videos, as long as you can stand [slightly higher quality than normal] flash video.

Randomly got the idea with a chat with my mate, and a few others who seemed to be interested in the idea. Basically it’s to bridge the gap in the online media world, where there’s still non-flash files laying around. [And if you don't like flash video quality, well then don't use this!]

A weekend’s worth of coding; yay ffmpeg having most of the support that I needed already in, only had to hack in a few things. Thanks to TJ for abusing it to death to iron out some odd bugs. Fun times had by all.

Anyway, try it out, tell me what you think, and if something doesn’t work right, let me know.

Todo:
- Idiot proof the url box
- Support FTP
- Properly detect live-streams so it won’t try to cache them
- Provide Embed code
- Impliment h.264 support [mmmm more ffmpeg editing]
- Provide some notice when the source server is being head-achingly slow

Donuts

Sunday, October 12th, 2008

Can’t get enough of this video.

NVScene 2008

Saturday, August 30th, 2008

So earlier this week, NVidia hosted a big convention called NVision, part of which was NVScene, a demoparty.

So, here’s a small taste of what was released there. The top 3 for each category at the party. Remember, normally these demos are generated in real time, and etc etc, just captured here for those without a powerful PC/don’t feel like downloading the binaries.

4kb – 1st

4kb – 2nd

4kb – 3rd

Demo – 1st

Demo – 2nd

Demo – 3rd

There’s actually two winners for 3rd:

Also, my kiosk software is now on Pouet.net