On Thu, Mar 7, 2013 at 9:44 AM, Grotevant, Paul F <email@example.com>
We are currently exploring architecture options for storing and serving up
streaming video from our Fedora Commons repository. We run our own Wowza
streaming server, and the option to require authentication for viewing the
streamed video is a requirement.
- How to avoid duplication of storage? Ideally, we would like to store the
video files as managed data streams in Fedora and feed those to the Wowza
server, rather than storing separate copies for Fedora and Wowza. One
option for this would be to use Wowza's API to consume the video directly
from a Fedora URL. Has anyone ever experimented with this? Thoughts on
co-locating Fedora and Wowza in the same Tomcat container or at least on
the same hardware, to reduce the network latency issue?
I can speak to this above question because we're using Fedora with Wowza. I use external datastreams and have all our video files available via http with Apache as well as NFS.
Video files reside on server, attached to a SAN, that's running our HSM software. Large preservation video files are moved off to tape and can be recalled manually, and access-level video files (H264) stay on disk. This server then shares all these files via a NFS share.
The NFS share can then be mounted by a Wowza server to stream the videos directly, and can also be mounted by another server which serves out the files via Apache to Fedora. When ingesting new video, the files are written to the NFS share and then add to the Fedora by means of an external datastream that points to the files via HTTP. What makes it all tick is a logical construction of file names and folders. This is accomplished in part by using the BagIt strategy where digital content has a prescribed structure on your filesystem. The rest is building your NFS shares and Apache directories coherently and configuring your applications to use the correct paths and follow your naming conventions.
The advantage to this is I don't have to monkey with Wowza at all, or write any special disseminators in Fedora... neither of which I really know how to do anyway, so this all plays to my particular technical strengths. If you want to use managed datastreams, you certainly should be able to get something working that enables Wowza to grab the video from fedora and stream it out. I can't say how exactly how you would do that, but I'm sure it's possible. However, the one technical limitation you may run up against is storing large video files as managed datastreams. There as been a thread going on about this recently and the general consensus it seems is that you should be okay with files in the 1-2 GB range, but 10 or more and you run into problems. I have video files in the 100's of GB, so I had to use external datastreams and built the technical structure I have now based on that requirement.
I would note that if you can use managed datastreams, I would, but you'd need to investigate the Wowza integration issue and datastream size issue first. I'm sure there are other folks here that could speak more directly to that.
Systems and Digital Collections Librarian
Rock and Roll Hall of Fame and Museum