Media & Entertainment
A Sports Video Community for Watching, Editing and Sharing
A seven-member development team built a sports-video website for watching, uploading, editing and sharing footage, with peer learning and professional instruction.
- Client
- Network company in Canada
- Delivery team
- 7 members
- Core scope
- Upload, convert, edit and share
- Delivery outcome
- Completed on time
Client & project background
A place for sports fans to share and learn
The client was a network company headquartered in Nova Scotia, Canada. It wanted a website where people worldwide could watch and share original sports videos.
Users needed to find and watch footage of sports including soccer, basketball, golf, skiing and tennis, upload their own videos and edit them.
The platform was also intended to help sports fans compare techniques and learn from peers, with access to professional instruction. An urgent schedule led Shinetech to assemble a seven-member offshore development centre team with web-application experience.
Video editing
Converting vector paths into Flash drawing commands
Two technical challenges dominated the implementation: editing Flash video and converting uploaded videos into FLV format on the server for playback in Flash.
For editing, the team used SVG Path Data to transfer vector path and colour descriptions into Flash. The first conversion stage parsed a path into fill and stroke objects and an array of drawing commands and numeric values.
The second stage produced drawing-formatted elements, converted relative points into absolute points and converted cubic Bézier curves into quadratic curves using Robert Penner's cubic-to-quadratic method within a specified tolerance.
Upload & processing
Managing large files and resource-intensive conversion
Because video uploads could be large, the team used Flash 8's file-upload functionality to offer more interaction than a simple HTML form control.
FFmpeg performed video encoding and decoding through system commands invoked from Java. To control the load from conversion, synchronised Java methods limited execution to one operating-system process at a time.
Web services exchanged data between the server and Flash playback. This supported distributed communication and complex object transfer, including the use of Java objects within Flash.
Collaboration & results
Transparent progress and on-time completion
The team communicated through email and a demo server, while the project manager provided weekly reports and raised unexpected issues promptly.
The system analyst addressed potential technical difficulties during design, with a Shinetech technical-support team available if needed.
Development finished on time through cooperation between the two teams. The client reported that the application had been implemented well and expressed interest in working with Shinetech on another project after the contract ended.