Djatoka, Red5, and other media servers
Right now, the largest project on my web development plate (as opposed to the digital fabrication plate) is the migration of the school’s Digital Library to a new infrastructure. It is pushing me into new areas of web application development, which is both exciting and a little nerve-wracking at times. Tonight, I feel a need to write about one of the bigger areas of uncertainty.
The current digital library holds more than 35,000 images and files, and has existed in more or less the same code base for around eight years. The stack it runs on is an interesting one, incorporating ColdFusion, SQL Server, and a Scene 7 image server. I believe the web server is a Windows/IIS platform, but I can’t say that for sure.
The new digital library will obviously incorporate all 35,000 images and files, but will need to accomodate a greater emphasis on video content. This being the age of “Web 2.0”, social networking, with concepts like the mobile web and semantic web on the near horizon, however, a great deal of the framework around those images and files is being reconsidered.
Our current plan is to move to a Windows/Apache/MySQL/PHP stack, and use Drupal as the content management framework rather than a custom-built application. I feel fairly confident that these decisions give us a fairly good foundation for success, but there are looming questions. The biggest of which is:
What are we going to do for media server(s)?
As I’ve said above, our current solution uses Scene7, and the handful of videos in the collection are stored externally, on the University’s central streaming servers. However, with the migration to internal infrastructure there is a strong desire not to have the media assets themselves scattered around the University – so we are considering bringing the images and video inside the school network as well.
One of our first assumptions has been that, with 35,000+ images, our collection is large enough to demand a dedicated image server – and that with the addition of dozens of videos per year we will need a dedicated video server as well. In the back of my mind I wonder about this, but so far I’ve been content to trust that the decision to deploy an image server some years back – as part of the first digital library – is probably still the correct one today.
With the question of whether we need some sort of media server seemingly addressed, the question then becomes which server(s) we add to the project? Thus far I’ve been somewhat taken by the Djatoka image server, as well as the Red5 streaming Flash server.
Each of these platforms has their challenges, however. The most significant of which is that Djatoka seems to be dedicated to JPEG 2000 as a file format, which is barely supported by the browser ecosystem (see this 9-year conversation about Firefox and JPEG 2000). A barrier to a successful deployment of Red5, on the other hand, is that its support stack (Java/Tomcat/Red5) is one with which I am almost entirely unfamiliar.
So, this is one of the big questions that I have. I’d greatly appreciate any input from the community of people who follow these platforms more closely than I have. Stay tuned, though – I’m really excited about the direction of this project, and if we can resolve some of these issues I think the outcome will be very, very useful.