Friday, July 10, 2009

Holy Waffles! What a slow/fast week!

Firstly, I'll put off the anticipation of having to guess who wrote this.

David McKee

Now anyways, things were kind of going kind of cool sorta kinda... What I basically mean is this.

On Monday, I was taked with uploading a video from a recent barbeque picnic that was had at my workplace. Well when I heard that I was like "YES! Now THIS is something I KNOW I'm good at!" Well as we all know, fate is one mischievious little lady.

I basically had to rip a video off of a DVD, not a problem. That only took me about 15 minutes. They wanted it in a SilverLight player. I had to go hunt one down as I wasn't about to sit there and try to make one from scratch. This is when things got kind of muddy because I had a hard time finding one that would sccept the video format I wanted. I wanted to keep the video at a high a quality as possible. (720p HD). I poked around Google for a while and finally found one! Now the only problem was converting it to a wmv because that's what kind the player was asking for. I know of a free video converter called Any Video Converter which gets the job done pretty well. Google it and it'll be the first or second link. It's actually very nice. However, because I don't have admin rights to my computer, I couldn't install it; But have no fear because Virtual PC is here!... It's just too bad that Virtual PC didn't have sound... or any media services known to man at the time, that was a total flop.
I kept getting a wmvcore.dll is missing error.

Now i'm going to cut from my frantic Monday to give you a piece of advice. If the computer tells you that a dll file is missing, DON'T just go snatching one off the net and slapping it in a folder... That's a BAD idea.

Luckly for me, I found that out before actually trying it. It turns out that I needed to turn on the *in big, deep, impressive voice* Desktop Experience feature which would activate themes and Windows Media Player. This also turned on some of the media services for the Operating System (Windows Server 2008).

I was about to go convert it but then I realized that Silverlight uses its own special HD video codec called VC1.

I'm going to break once again for a sec. Now I know all of you may not know what a video codec is, so I'll try to make it simple. The word codec comes from the words encode and decod... codec. To put it simply, if you don't have the codec that the video requires, you're not playing the video. This can be remidied by downloading something called a codec pack which has a lot of video codecs in one. I suggest Combined Community Codec Pack as it's what I use and is very good in my opinion. It also comes with a very good and simple player called media player classic which supports videos with multiple language audio tracks and multiple subtitle tracks. The player can also play DVDs and images of DVDs. If you're on a Mac, I suggest VLC player. They have VLC for Windows but I think the one I suggested first is better for PCs.

Now back to the program...
I had to use something called Microsoft Expression Encoder to encode the video so it could play in the player. This is when I realized something. Virtual machines are great things... just NOT for working with hi-def video... any video at all. By this time, they day had come to a close so I said I'd wait till tomorrow to hit the encode button...

BAD IDEA!

It took almost 4 to 4 hours to completly encode the video and this was simply because my VM (virtual Machine) just wasn't made for doing that. I would've done it on my actual computer, but I couldn't install anything, therefore I couldn't run anything in it. It also slowed the computer down a bit as well. So I spent most of the day sitting and waiting. I t wouldn't have been so bad if all the fun sites on the net weren't blocked.
FINALLY it got done encoding, and that's when I realized that since the computer didn't have sound, NONE of the video that I just waited 5 hours for had sound! I ended up hitting encode again at the end of the day to see if I had missed something.
On Wednesday, I found out that I could just turn on the sound and things were great...well they were great until I played the new encoding of the video just to find out that it still didn't have sound. So I once again encoded it and while I waited, I looked at some 3D graphics software taht I'll talk about in another post.
On Thursday, things were a bit better. I had sound on my VM, the video was working, and I got a working stream. YES! Then I was told that I should see if I could take advantae of something microsoft has called IIS Media Services with smooth streaming. Basically, that's a 0 buffer video. I'm sure you've all encountered this. You're on youtube watching your faverite video and then it's right at the good part and....50%... 75%... 90%... ...it stops with the little spinning circle. Well our friends at Microsoft have come up with a way to fix that called smooth streaming. Now, I could sit here and explain all about how it works so that it would make sence, but I think I'm just going to skip over that and say that the point is that you'll be able to watch HD videos without having to wait for them to load... now keep in mind that if you have a slower connection, the video will start to look a bit messy but at least you won't have to wait for loading.
It took me a bit to figure out how to do this as I had 100 percent NO IDEA how to set it up... and niether did some of the others who are in the area I work at. So I searched through help files and google and slowly figured it out. I also had to encode the video AGAIN because not only does silverlight use its own codec, the smooth streaming service requires it's own video container as well.

Ok, let's make this qick because I know you're sick of reading my post and want to move on. A container is basically the thing that holds the codec. You can have an HD video (most HD videos use an H.264 codec) in different formats (or containers) such as .mp4, .wmv, .avi, mkv, whatever. So simply, container equals file format, codec equals how the file is encoded.
I may be somewhat inaccurate with these explanations but I know I'm pretty close.

Anyhow, the smooth streaming takes niether a wmv (Windows Media Video) or avi (Audio Video Interleaved) . It uses something called an ismv... actually a few ismv files are there, so this caused more waiting. Oh joy.
Finally today came and the video was encoded. I had the services all setup and things were looking good. The video wouldn't play in the browser though so after about two hours of looking around for answers on Google, I found the Silverlight forum and posted my problem there, then sence I wanted my answer right away, I asked someone a few desks over from me. It turns out that I was just putting the URL in wrong and then the video FINALLY PLAYED! I gave someone else the URL and it played on theire computer as well. I'd give you the URL now, however it's on my server here which isn't open to the public.

As of right now, not just anyone can do this nonbuffer video thing because you have to buy a few things first. The virtual machine I have just happened to have them already.
It's too bad that not just anyone can do it though. (Not even I can do it unless I'm here.) Well at least I know how to do it now though because as I said, when I first started with this, I had no idea how to really do anything with Silverlight or hosting video content anywhere and I'm sure audioworks the same way.

Overall, the week was ok and I have once agained learned something new and will happily explain it to anyone who's interested.

Bye for now!
...Oh, and just incase anyone missed it at the top.
--David McKee--

1 comment:

  1. I love how I spent half an hour spell checking this and then I go to paste it back in and I just end up pasting the draft... and NOW I can't edit it. This is frustrating.

    ReplyDelete

Commenters must avoid profanity, harsh language and disparaging remarks on the basis of gender, race, class, ethnicity, national origin, religion, sexual orientation or disability. All comments to the blog are moderated by AAPD, and can be subject to removal at any time.

Please use the comments section to engage in the ongoing dialogue between our program funders, current and former interns, our colleagues, and the broader disability community, and to respond to intern posts that intrigue you, to share your own stories, or to simply express your gratitude for being allowed into the world of our summer interns.