Title: MP4: Synchronization and GUI
1MP4 Synchronization and GUI
2Outline
- Scenarios
- Media synchronization
- Graphical user interface
3 Scenario A
audio1 file video1 file
Server 1
Proxy
Client 1
Server 2
PLAY audio1/video1 or PLAY audio2/video2
audio2 file video2 file
4Scenario B
PLAY audio1/video1 or PLAY audio2/video2
audio1 file video1 file
Server 1
Client 1
Proxy
Server 2
Client 2
PLAY audio1/video1 or PLAY audio2/video2
audio2 file video2 file
5Media Synchronization
- Audio and video files must be able to clearly
demonstrate synchronization - Speeches and singing are good examples requiring
lip synchronization - Each audio sample or video frame should have a
timestamp - Audio is leading time synchronization stream
- Video (and any other stream) should be
synchronized with respect to audio - Recommend synchronization point each second
- Might need to speed up or slow down video
relative to the audio
6Media Synchronization
Synchronization Points
audio stream 3 samples/sec
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
video stream 2 frames/sec
0
1
2
3
4
5
6
7
8
9
10
11
audio 3 video 2
audio 6 video 4
audio 9 video 6
audio 12 video 8
audio 15 video 10
7Media Synchronization
Synchronization Points
audio stream 3 samples/sec
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
6
video stream 2 frames/sec
0
1
2
3
4
5
7
8
9
10
11
audio 3 video 2
audio 6 video 4
audio 9 video 5
audio 12 video 8
audio 15 video 10
DROPPED VIDEO FRAME 6 TO CATCH UP
8Graphical User Interface
- Requires creativity
- Groups are free to use their own original design
- Should support many operations common to
video-on-demand services - Should display meta-data
- Proxy address and port
- Audio/video characteristics
- Sample rate
- Frame rate
9GUI Operations
- MENU
- List all of the available A/V streams
- Might use to implement channel switching
- PLAY
- Play the selected A/V stream
- STOP
- Stop the selected A/V stream
- PAUSE
- Pause the selected A/V stream
- Option buttons displaying channel number
- Two movie channels with buttons 1 and 2
- Better choice for easy channel switching
10Example GUI
Proxy address csil-core25 port 9090
Audio rate 24 Kbps Video rate 1 Mbps
PLAY
STOP
PAUSE
ChannelButtons
MENU
1
2
Note this is just an example, not a requirement
11Channel Switching
- Drop-down menu could display the following
channels for selection - Buttons could offer users shortcut
Channel 1 audio1.wav / video1.mjpg
Channel 2 audio2.wav / video2.mjpg