SYSTEM AND METHOD FOR VIDEO AND SECONDARY AUDIO SOURCE SYNCHRONIZATION
Disclosed herein are systems, methods, and computer-readable storage media for video and secondary audio source synchronization. A system practicing the method establishes a communication with a device such as a telephone or digital device and receives an identification of an audio stream associated with a video presentation specified by a user. The user interacts with the system using the dial pad on a telephone or by manipulating controls within a dedicated application on a smartphone or tablet device. The system computes a likely delay affecting most devices receiving the audio stream and delays a transmission of the audio stream to the device by the delay amount. In one embodiment, the system receives a delay adjustment signal from the device and adjusts the delay amount according to the signal. Then the system transmits the audio stream to the device by the new delay amount.
1 . A method comprising:
receiving an identification of an audio stream;
computing a likely delay that will affect a plurality of devices receiving the audio stream to yield a delay amount;
preparing to transmit the audio stream to a device of a user according to the delay amount;
adjusting the delay amount according to a delay adjustment signal received from the device, wherein the user utilizes the device to perform one or more of inputting a new delay amount, increasing the new delay amount, and decreasing the new delay amount to yield a modified delay amount; and
delaying a transmission of the audio stream to the device by the modified delay amount.
2 . The method of claim 1 , wherein the audio stream is associated with a video presentation.
3 . The method of claim 2 , wherein the likely delay is relative to the video presentation.
4 . The method of claim 1 , wherein the device comprises a dial pad for receiving user input.
5 . The method of claim 1 , wherein the user inputs the new delay amount by manipulating controls within a dedicated application stored on the device.
6 . The method of claim 5 , further comprises receiving, from the user, input based on the user performing one or more of entering text, clicking on a digital device screen, turning a virtual knob, entering a game clock time, and entering clues within the dedicated application.
7 . The method of claim 5 , wherein the user performs one or more of photographing a quick response code, photographing a watermarked television image and recording watermarked audio.
8 . The method of claim 1 , wherein a server stores and maintains a set of audio stream buffers wherein each audio stream buffer in the set of audio stream buffers has a predetermined delay amount.
9 . The method of claim 1 , wherein a server stores and maintains one audio stream buffer having a set of pointers associated with the audio stream buffer.
10 . The method of claim 1 , wherein a digital device stores and maintains one audio stream buffer having a pointer associated with the audio stream buffer.
11 . A system comprising:
a processor; and
a non-transitory computer-readable storage memory device storing instructions which, when executed by the processor, cause the processor to perform operations comprising:
receiving an identification of an audio stream;
computing a likely delay that will affect a plurality of devices receiving the audio stream to yield a delay amount;
preparing to transmit the audio stream to a device of a user according to the delay amount;
adjusting the delay amount according to a delay adjustment signal received from the device, wherein the user utilizes the device to perform one or more of inputting a new delay amount, increasing the new delay amount, and decreasing the new delay amount to yield a modified delay amount; and
delaying a transmission of the audio stream to the device by the modified delay amount.
12 . The system of claim 11 , wherein the audio stream is associated with a video presentation.
13 . The system of claim 12 , wherein the likely delay is relative to the video presentation.
14 . The system of claim 11 , wherein the device comprises a dial pad for receiving user input.
15 . The system of claim 11 , wherein the user inputs the new delay amount by manipulating controls within a dedicated application stored on the device.
16 . The system of claim 15 , wherein the non-transitory computer-readable storage memory device stores additional instructions which, when executed by the processor, cause the processor to perform further operations comprising:
receiving, from the user, input based on the user performing one or more of entering text, clicking on a digital device screen, turning a virtual knob, entering a game clock time, and entering clues within the dedicated application.
17 . The system of claim 15 , wherein the user performs one or more of photographing a quick response code, photographing a watermarked television image and recording watermarked audio.
18 . The system of claim 11 , wherein a server stores and maintains a set of audio stream buffers wherein each audio stream buffer in the set of audio stream buffers has a predetermined delay amount.
19 . The system of claim 11 , wherein a server stores and maintains one audio stream buffer having a set of pointers associated with the audio stream buffer.
20 . A non-transitory computer-readable storage memory device storing instructions which, when executed by a computing device, cause the computing device to perform operations comprising:
receiving an identification of an audio stream;
computing a likely delay that will affect a plurality of devices receiving the audio stream to yield a delay amount;
preparing to transmit the audio stream to a device of a user according to the delay amount;
adjusting the delay amount according to a delay adjustment signal received from the device, wherein the user utilizes the device to perform one or more of inputting a new delay amount, increasing the new delay amount, and decreasing the new delay amount to yield a modified delay amount; and
delaying a transmission of the audio stream to the device by the modified delay amount.