Research Projects: CGLX VideoBlaster
This project aims at developing middleware for the acquisition, streaming and presentation of HD video and audio sources. This project ties together video capture hardware with a real-time texture compression library and multicast streaming protocol to deliver multiple HD resolution AV streams over gigabit networks with support for mobility -- which is useful for tiled displays. Input sources include HD video cameras, laptop/desktop machines and even video game consoles.
<youtube>aV_nVxCU9F4</youtube> VideoBlaster feed displayed at 143 megapixel resolution. Keep in mind that the bezels of tiled, LCD-based displays are a temporary artifact, which will be resolved very soon. Our approach is display agnostic and works just as well on projection based multi-tile displays or any display device that accepts one of the standard video connectors.
Why does the Video play really fast? VideoBlaster sometimes detects an incorrect framerate from ffmpeg. Check to make sure the framerate is correct. If it is not, force the framerate using the --framerate or -r command line argument. Most videos playback at 23.976024.
Why are the Audio and Video out of sync? By default, VideoBlaster uses Audio for its timing, but does not actively synchronize the video with the audio. This method usually works fine for videos which are encoded correctly such that the framerate is equal to the number of video frames divded by the length of audio which is played. If this is not the the case, or if the video is coming from a network stream, the audio and video may become out of sync. This can be fixed in two ways. By pressing the + and - keys, users can actively change the video offset until the two streams match. The tag, --enable-audio-sync may also be added in the command line to actively sync audio and video. This synchronization procedure is still in early stages of development.
Why is the Audio ahead or behind the Audio/Video on the head node? This comes from the fact that sound card clocks are not perfect. While work to synchronize audio between the wall and head nodes is underway, this process is not trivial. For now, our suggestion is to add the --head-only-audio flag in the command line at startup. This will disable audio on the nodes.
Why do I see green lines around my movie? This comes from a clipping problem. For now, just disable clipping using the --no-clip command line argument.
- Always make sure the video framerate is correct. This is the most common problem when playing back videos.
- The most efficent way to playback video is to play the video only on the wall and audio only on the head node. See the second item in Examples for how to set this up.
- For playback of network streams, either --enable-pts-sync or --enable-audio-sync need to be activated inorder for the wall to be in sync
Documentation by Kevin Ponto 10/6/2008
This material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All persons copying this information are expected to adhere to the terms and constraints invoked by the author's copyright. This work may not be reposted without the explicit permission of the copyright holder.