May 3rd, 2006

2016, fenris + phoenix

my streaming day

The last 9+ hours just streamed by. It was all sort of spawned by a request from my dad for streaming video... more of a query than a request, and more of a question than a query, but not streaming video has been bugging me forever... and there were plenty of things I didn't want to do, so OFF I WENT!

I'll spare you some of the more horrid details and apparent dead ends. Suffice it to say their number was legion.

Step 1: install Darwin Streaming Server (on my fedora core 2 server; compiled from source with no real problems, though the instructions confused me a bit). Spend half an hour wondering why the test samples don't work. Stare in awe when they finally do. What did I change?? Oh, I had to specify port 554 despite using the rtsp url, in quicktime, where I was testing. Funny thing? When I finally got it working with the crazy embed and object tags, 554 didn't seem necessary. Or was it only necessary in firefox? ((that would make it only not necessary in IE, but who's counting?)). ONLY DOWNSIDE -- Apple's workaround for IE's complaint about an activex component... didn't seem to work.

Step 1.5: install virtual dub if you don't have it already. If nothing else, it has a nice filter for rotating video. Ideally just export the video RAW from this, so you lose as little as possible in multiple compressions (when you need to rotate your video, that is; or adjust audio gain, or something).

Step 2: install MPEG Streamclip -- http://squared5.com/svideo/mpeg-streamclip-win.html -- this will do the basic converting to mp4 (and lots and lots and lots of other formats, but we're going with mp4 because that's what I got to work). Open your mpg or avi, presuming the codec is supported (if it's not, you might be SOL--in one instance, I tried installing a new codec and it didn't seem to pick up on the fact that it was there... so I used virtual dub to move that video out of the unrecognized codec and into one Streamclip recognized). EXPORT to mp4 -- Compression: Apple MPEG4 compressor; sounds: MPEG-4AAC (choose mono or stereo as befit your input file; it'll barf if you try to stereo from mono, so far as I can tell; maybe something else to tweak in virtualdub if you need to). Make sure the items that it says should be disabled for progressive movies are actually disabled (if possible; for instance, when rebuilding from raw video, it _needs_ to rebuild chroma, and this is okay). You... might need to set framerate and limit the data rate. Might not. Save!

Step 3: install mp4UI -- http://mp4ui.sourceforge.net/ -- run it, change the options so that "add hint tracks" and "advanced function/information" are selected (and nothing else). Go back to 'general' and choose 'new/open', and find your newly created mp4. Then for each the video track and the audio track, right click, choose advanced->add hint track, and then click back on the source of the tree and select 'close'.

Step 4: upload to the content directory of your streaming media server.

Step 5: link appropriately. See the page referenced on Step n for details if need be.

Step n: does it really work? I've only done one so far, and I really need to give Handbrewed some TLC. Anyway, see how it works for you (best if you've got dialup to see the difference, I think) -- http://erif.org/movelets/view.php/20001127_1458-thebeach.mp4 -- reminder -- IE will (probably?) give you a note/warning/something about ActiveX controls on the page, but when you click OK on that everything should work. Firefox is just happy as a clam and I haven't tested with anything else.