Jomsocial is the leading provider of social features for Joomla!
It features a nice video integration with full support for user uploads, linking to external video providers and more. The videos are hosted locally, with an option to use the (commercial) zencoder service offered by Amazon S3 cloud services.
We were just starting a video service, so we thought we'd keep the jomsocial videos for a while. But we were facing
A few issues with Jomsocial video
- The videos are in flv-Flash format, with several issues on mobile devices
- The player does not support ads
- Our server would just die during compression jobs (scheduled, not live)
- The server requires configuration in terms of process time and resources which are excessive for the Joomla server
What we wanted
- Compress and host the videos on a separate server
- Add our logo as a clickable overlay while playing video
- Support HTML5 video (with Projekktor to fallback on non-compatible browsers) with ogg/vorbis, mp4, webm support
- An easy-to-manage video queue
- Option to keep uncompressed files for future recompression
- Easily scale to 2,3,4...30 video servers
So we decided to see if it was possible to hack Jomsocial and introduce a separate server for video compression and - why not - streaming.
Compressing videos for the web is not easy, and having an extra server requires a lot of effort for synchronizing the two and making everything work smoothly.
Our approach
We chose an asynchronous approach, to reduce the load on the Joomla! server to a minimum, and most importantly to be able to manage effectively what can quickly become a multi-terabyte video archive.
The core changes
Core changes to the jomsocial package are minimal, 3 files and a total of 12 lines need to be changed. As part of the setup process, we provide the modified files. Currently for JS2.4.2, shortly for 2.6 once it goes stable.
Get it now!
At the present time, we are constantly enhancing our solution for our purposes and have not standardized the package.
The installation on the Joomla server is quick and easy, you just need to upload a few files and tell Jomsocial you wish to use an alternative video server (with one newly created option).
The video server installation is however much more tricky. Every linux distribution requires different attentions and in our experience a senior system engineer is necessary to appropriately setup the system. We tried offering the documentation but ended up spending too much time on support, this is why we have switched to a new business model: you provide the server (with one of the supported distributions), and we take care of the setup and integration. This allows us to also manage your current video archive and convert it to your new server.
We also provide a hosting plan which is much more convenient than Amazon's zencoder, and most importantly will allow you to get started quickly and setup your own video server only once it becomes convenient for you.
Given the custom nature of this work, please contact us with the specifications of your requirement and we'll quickly get in touch.