Guess I Should Explain

Okay, so here is what exactly is going on with Veoh. They have an incredible price they have to pay for bandwidth. They host millions of downloads and uploads per-day. It doesn’t take a genius to realize that it is expensive to host that kind of bandwidth. In order for them to be able to afford to survive they had to make some cuts here and there. One of those cuts is the ability to download the files in the original format. When I wrote openVeoh I pulled the original file name and the extension from the information in the database and I name the file you download according to that. Well, as of late you may think you are downloading an AVI but in reality you are getting an FLV file. There is an exception to that rule however. If you are downloading from a publisher who has a “PRO” logo then you are getting the original file. Basically if you are a pro publisher you are paying to allow users to download the high-quality content. But for everyone else, too bad. Most people who watch videos on Veoh aren’t interested in downloading retarded shows that are posted by pro users. You are most likely wanting to watch a bit of anime or something cool like that. As you probably know, FLV is kind of lacking in quality and tends to be fuzzy and a bit glitchy. Like I said before, I’m not interested in busting my ass writing code to download videos in crappy quality. Hope that clears things up a bit.

Time To Move Else Where….

I have to say as much as this is irritating me and as much fun as I’ve had writing openVeoh that it is time to move on. Veoh just keeps killing features and spiraling downwards. Sadly enough I have no interest in doing essentially the same thing as many Firefox extensions already do and downloading FLV files. Veoh no longer offers the original videos files for download and all you can download is an FLV file from them. If you are looking to download great quality videos then I recommend going to Stage6 which doesn’t require a special client. I don’t know how much longer Stage6 will stick around but they have a pretty good collection of stuff. Also note that DivX has asked me not to write a Linux uploader since they have already added it to their road-map. I do have a new project in the works but I’m not going to disclose much about it yet since I haven’t figured out what all I’m going to do yet. From this moment, openVeoh is frozen. Use it while you can.

Sorry,

Daniel

openVeoh

Download Queue Removed For Now

I have went ahead and disabled the download queue in vget for now. After I fix the SQL stuff a little bit more and have more time to test it more rigorously I will add it back. If you would like to play with it you can uncomment all of the blocks of code in “openveoh/src/tools/vget/vget.cpp” and rebuild the sources.

Another bit of stupidity in my part

I didn’t think about this before but when I wrote the Makefiles I did it in a horrible fashion. You must do:

make clean

make

To build the new sources from what I’ve seen. I do this out of habit but some people may not realize this. Anyways, sorry about the bugs here lately. Guess I’m getting a bit sloppy in my old age 😉

Sorry About The Last Commit…

Alright, I would like to apologize about the last change I committed. Veoh changed their Firefox plug-in and I went ahead and added a new source to compensate for this change. However, when I committed the new Makefile I forgot to add the new source file. This has been somewhat of an annoyance for some people. This is now fixed… Please note the formatting on this file may be annoying since I am still stuck on Windows for a few days until I return home.

A shot in the foot with the download queue?

I almost feel like I shot myself in the foot with the download queue. So far I have received nothing but feedback with people having problems with it. I may just disable it in the sources until I can test it and work on it more.

I Know, I Know. Vget Is Broken!

Seems that in the last couple of days Veoh has changed some things and now openVeoh isn’t working correctly. If you are command line user then you have nothing to worry about, everything is peachy. However if you are using the Firefox plugin then you have problem been seeing the “Update Required!” page. I analyzed and fixed the plugin but for some reason it isn’t sending the links we need. I checked out their sources and the link still exists and still works. But it isn’t getting handed to vget properly. I will try to get this worked out today or tomorrow. I am awaiting Will (Veoh engineer) to be available so that I can complain to him a bit and try to get some answers. Will let you guys know when I know something.

Commited Download Queue To SVN. Still Unstable!

I went ahead and committed the new code to the repository. There is a bit of a glitch that I will try to work out in the near future. Also fixed the Makefile to statically link libopenveoh into vget. This fixes the Makefile.

What is the glitch?

When the locked process is writing to the database (namely writing the resume information) the secondary process will NOT queue the download. It will tell you it is queued but running a “SELECT * FROM downloadqueue” on the db shows no entries. You must wait until the “Accessing Video” stage is complete before queuing up new downloads. Ideally we need to lock the database operation until it is available for the secondary process to write to it.

Other news that may sadden you…

Today I hired on with a San Diego-based development company whom I met through Ted Dunning of Veoh. I will be working full-time developing solutions with them which means my openVeoh development time will be greatly cut. I will still continue to develop openVeoh, however, new features may be a bit slower to come by.

Inside Information On New Features….

So I decided that we need a way to handle multiple downloads without me having to dive into threads right now. I came up with a solution. The solution is both a good thing and a bad thing but I made a work-around for the braver people who find it to be a bad thing. The first part of the solutions is in a sense a process lock on the client. When you run vget it will check to see if the process is locked in the database. It does this with a “LockId” entry. If the process is not locked then it will lock it and start a download. When you run vget again with a new URL it will see that the process is locked and stick the permalinkId in a queue table and exit. When the process that is doing the downloading is finished with it’s current download it will check the queue table and start downloading the videos it finds in the table. Once it is completely finished with downloads it will then unlock the process and exit. For those who have good luck with multiple instances of vget running at the same time. You can call “vget unlock” to unlock the process and start vget with a new download. Personally I find vget to get a bit unstable at times when you have more than one instance running at a time so I recommend letting the download queue do it’s thing. I may add more command line arguments for starting vget in a no locking mode and for unlocking+downloading and such but for now. I will go ahead and say, leave the locking mechanism alone and be patient.

New code is NOT in SVN

Since this is a really experimental feature I’m not updating the SVN with it until I’m happy with it. Not to mention for some stupid reason the Makefile for vget is broken. I’m back to using ./build to test. The Makefile is complaining about undefined references to to the three new lock handling functions. Anyways, it is almost 6am and I need to get to sleep. I will let you guys know when I release this new code.

What is to come after this is released?

After I finish the download queue I will put checks in the code to prevent duplicate downloads. I have been planning on doing this for some time but just haven’t gotten around to it. This code will be really quick and easy to add so you can expect it pretty soon.

Makefiles Finally Added, Build Scripts Removed

I finally got around to adding Makefiles to build, install, uninstall, and all of that good stuff. I have tested them out and they work great. The build scripts have been removed. I guess I could have put them in the attic but oh well. We don’t need them anymore regardless. I wrote a nice little HOW-TO for building and using openVeoh which you can find by looking at the navigation panel on your left or by clicking here. I recommend reading it to learn everything you need to know about openVeoh usage.

Join Me On IRC To Talk About openVeoh

You can join me on irc.freenode.net in #openveoh if you would like to speak with me about openVeoh, software development, Linux, Solaris or anything in general. I like talking to people and collaborating ideas and opinions!

I Said I Would Get Back To You!

Okay so here is the deal. I quit being lazy and added something that you will all enjoy. The protocol handlers are now added to Firefox for you when you install the plugin.

VGet is now installed when you run ./build

When you run ./build in the vget directory it is installed to $HOME/bin

Added a script called ffvget

I wrote a script called ffvget that launches vget in an Xterm, this is also installed to $HOME/bin.  This is required for Firefox to launch vget.

Modified plugin build script to install protocol handlers

When you navigate to “openveoh/src/mozilla/plugin” and run ./build it will compile the plugin, install it to ~/.mozilla/plugins and it will add the protocol hanlders to Firefox. Please note that THIS WILL KILL ANY RUNNING INSTANCES OF FIREFOX. This really isn’t too much of a big deal since most newer versions of Firefox will restore your previous session when you open it back.

You can now click the download links on veoh.com

After you run ./build for both vget and the plugin you can use the “Download Video” links on veoh.com and your download will launch in a nice little Xterm.

There are some problems

VGet will only download one video at a time and you can only have one vget running at a time. I haven’t gotten around to fixing this yet but I will as soon as I can.

If you have more than one Firefox profile for your user then it will most likely fail. I haven’t tested this yet but the way I grab the profile directory is really quick and dirty. The same applies to having vget auto-login using the browser. If you are not logged in using the default profile then it won’t grab your login. This should not affect most users but if you have a problem or a solution then let me know.