Research Projects: CGLX VideoBlaster
VideoBlaster is a distributed video player which is incorporated inside of CGLX. VideoBlaster synchronizes video frames between all nodes and uses audio timing to control the video release rate. VideoBlaster plays a wide variety of formats such as MPEG-4, H264, Mov, etc. VideoBlaster can also play network streams allowing for media such as DVD to be streamed in an uncompressed format to tiled displays.
<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.
Last Updated by Kevin Ponto 5/20/2009
Why can't I hear all of the audio?
VideoBlaster plays audio by the specifications of the video without down-mixing. This means that if your video is encoded in 5.1 and you are listening through a stereo output you will be missing 4 of the audio channels. Linux can down-mix using profiles which users can specify. Here is a tutorial of how to do so. 5.1toStereo_asoundrc_Profile
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.
Last Updated by Kevin Ponto 10/6/2008
- 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
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.