Hi all =)
I am looking for a Java Application that interfaces with a PHP/MySQL database for Streaming Video and Audio. This is the spec:
3 WebCam Feeds, 2 Audio Channels (One for Left and One For Right)
They can use all 5 channels, or just 1 audio channel
The application will have 3 sections of the window related to each webcam. When they click on one of the windows, it will change to that webcam for streaming. Note, all 3 webcam feeds will be sent to the webserver and stored as a file (or seperate files) because there will be an option for other people (remote) to control which webcam feed is sent to the stream. The stream can have a minute or so lag before it is sent to compensate for lag and so the designated webcam switch can take place seamlessly. There will also be a random button so that the webcam switches will randomly switch related to the beat of the music at a selected interval (either by minutes:seconds, or by every X measures (a measure is generally 4 beats, but they will have an option to select how many beats per measure)
There will be a volume control for both the left and right channels. A button to click for mono (one channel) audio feed. Also a button to lock the sliders so the left and right channels will be moved up and down at the same interval. A green, yellow and red level indicator will also be a part of this.
There will be an option controlled by the PHP/MySQL database where if they pay $5, DVD quality audio and video will be saved to their computer and an option to automatically upload the DVD quality audio and video to the website as to relate to more services we offer (DVD/Audio Production, CD/DVD Duplication, etc.)
The Audio (if not saving as DVD Audio as described above) will be saved on their computer as wav. Either the DVD Audio or WAV Files will automatically be converted to flac, after they go through and make track markers. So the screen (after they have streamed their video), will have a wave form of their entire concert, with the video (if they recorded video) so they can go through and place tract markers using the right-click menu, or left click and then hit ctrl-t. This will also be done for the DVD section as described above. When they have confirmed that the track markers are in the right places (which will pop up as a confirm box OK/Cancel), the audio and video will be uploaded to the web host with a progress bar. They will need an option window somewhere to change services (i.e. CD Production, CD Mastering, CD Duplication, Cover Art for CD/DVD, Cover Booklet for CD/DVD). They will only be able to select DVD Production/Duplication at the time of their initial order from the web site. They will also need to be able to select these on the website. I want failsafe saving for the audio and video, and what I mean by that is that if their computer freezes or turns off during a streaming session, I want what was saved up to that point to be available from their computer. We will also be saving the stream on the server, but not at as high of a quality.
On the website side (note, I will be designing and developing much of the website functionality and content):
A user can purchase live stream at $50 for up to 4 hours of video and audio (w/$10 per hour after that), or $15 for 4 hours of audio ($5/hr after that). That information needs to be entered into a database (I will handle payment processing). Other options are:
A producer to switch between webcams during the streaming session.
And more. In the admin, there will be a section where I can add options, and edit the prices for each of these options.
There should 2 select boxes with a time span for start time and end time, with a note saying that if they don't stop the video/audio stream by the end time, if the stream goes over 4 hours, they will be charged.
There needs to be another Java Application made to control the webcam switch from a remote computer. This can be one of their friends, which we will need a remote connect protocol where their friend can connect to our server, get the three webcam feeds and audio feed to their computer, and select the web cam to be shown on the live feed. It can also be one of our producers, which is one of the options they can buy. This should also control audio levels.
In the admin of the web site:
Orders - Times, User, services, equipment, Payment completed
Admin - Options (i.e. CD/DVD Production, Duplication) with the ability to add/edit options and add/edit prices
Currently, they payment system will be run through paypal using the IPN. You will not need to work with this, just know there needs to be a field in the database for each order stating if it has been paid or not. If it is not paid by the time of the stream, the stream will not be able to go live.
The other part of the project is the server-side application to do the streaming. This can be two applications or one, the spec is:
Accept and record (to the webserver) 3 streams of video and 2 streams of audio
Stream out 1 stream of video and stereo audio (2 channel audio)
Ability to switch between 3 webcam streams to the 1 live video stream via The source of the stream and a remote application.
A way for the remote webcam switching application to send a request to the source of the stream application to let the source stream user approve that the remote user can switch the webcams and control audio levels.
In your bid, I want a detailed description of how you will complete each of the 5 sections:
Website - User can buy a streaming session with options
Website Admin - Orders, Options admin
Java Application to stream live video and audio
Java Application to remotely control which webcam goes to the feed and control audio levels
The server-side application(s) to control and send out the stream and to connect the remote controller to the source of the stream controller to approve access to control the streams
Software I will need for streaming and recording of the streams. What format you suggest the streams be in (for example mp4 for the video and mp3 for the audio).
Estimated band width/harddrive space for the following:
each of the 3 video streams per hour
each of the 2 audio streams per hour
Uploading 1 hour worth of DVD Quality Video to the web server
Uploading 1 hour worth of DVD Audio to the web server
Uploading 1 hour of flac audio to the web server
1000 Form submissions buying a stream
Hosting requirements based on 30 simultaneous streams with 2 levels (100 streams per month, and 1000 streams per month):
Server(s) (Processor, Memory, HD Space)
Any external hardware (such as raid arrays)
Any hosting companies that provide this level of service. We are fine with buying our own Servers and hosting them at a seperate place, or possibly creating our own hosting environment.
And the timeline for this project being completed.
Payment will be based on a milestone system. After we talk and design a detailed plan together, we can decide on a 50% milestone (with functional software) and an 80% milestone.
Source code and Application will be property of my company.
I will provide DB Specs for the User tables and order tables. I am a PHP Developer with 9+ years of experience.
Thank you =)
Light and Love and Healing to you,
-Patrick Arden McNally
6 freelancers are bidding on average $1342 for this job
We have a vast experience in ip control (audio/video streaming). Can work 4 hours a day. and we are also very much expert in java and php and give you international standard system.