BrightSign Users Guide Matches: BrightSign HD600 Version: 1.1.28 BrightSign HD2000 Version: 1.1.20 AutoPlay Script Version: 1.1.7 California, USA www.rokulabs.
INTRODUCTION ............................................................................................................................. 3 BRIGHTSIGN FEATURES.............................................................................................................. 4 EXAMPLE BRIGHTSIGN SETUPS ................................................................................................ 6 EXAMPLES .........................................................................................................
Introduction The Roku BrightSigns are complete standalone Digital Sign or Kiosk Controllers that can play content from standard Flash memory cards. BrightSigns have uniquely high quality video playback. This is achieved via professional quality decoders and a scaler that can produce crisp clean 1920x1080 interlaced video from high definition mpeg sources on an HD2000, and 1024x768 video on a VGA monitor from standard definition mpeg sources on an HD600.
BrightSign Features BrightSign HD600 Display Resolutions NTSC PAL S-Video (requires adaptor) 640x480 (VGA out) 800x600 (VGA out) 1024x768 (VGA out) 480p (Component out) 480p (HDMI out) 576p (Component out) 576p (HDMI out) 720p (Component out) 720p (HDMI out) 1080i (Component out) 1080i (HDMI out) Video Compression Standards MPEG-1 MPEG-2 Picture Formats BMP PNG JPEG Audio Formats AC3 pass through MP3 decode out to analog and SPDIF MP3 decode out to USB WAV decode out to analog, USB and S/PDIF 5.
Compact Flash card slot SD/MMC flash card slot Video mode select button LEDs: connector activity and video mode Back Panel Connectors Power 3 audio out stereo 1/8” mini plugs VGA (also supports XVGA) Component out 3 RCA jacks: Y-Pr-Pb HDMI out 2 High Speed USB host ports 10/100 Ethernet jack DB25 control port (for buttons & LEDs) RS-232 serial port Optical SPDIF audio out 1/8” 5V serial port 8 position dip switch Power Typical power consumption Features Auto play and looping video support Playlists .
Example BrightSign Setups Probably the simplest way to use BrightSign is to put a video or set of still images on a CompactFlash card, and use a VGA cable to connect the BrightSign to a flat panel monitor. Variations on this setup include using the component out to connect to a High Definition display (like a Plasma TV), or even connecting to a standard definition display. On the HD2000, HDMI out can be used to connect to a display.
Examples Here are some examples of what you can do with a BrightSign: • Display a looping video with “DVD+” quality on a variety of monitor types. • Display a looping slide show in high definition. • Play looping music. • Combine any of the above. • Create interactive displays that play video, photos, or audio in response to customers using touch screens, mouse, keyboard, remote, or a custom button board you have created.
your monitor is configured to the correct input type and is connected using the correct cable. You should now see the demo in various video modes, and see how it auto scales and supports widescreen or 4x3. Note that the front panel “video mode” button is not currently supported on the HD2000. Software Versions The version of the BrightSign device software that matches this manual can be found on the cover of the Manual.
BrightSign Documentation The complete set of BrightSign documentation is available at www.rokulabs.com/BrightSign.
Getting Started Step 1: Get Hardware You Need To start using the BrightSign, you’ll need the following hardware. • Display – Any monitor, TV, or Elo touch screen with a VGA, Component, Composite (HD600 only), or HDMI (HD2000 only) inputs. • CF Card Reader/Writer o A Compact Flash card to store the demo or your content. Read “Selecting Compact Flash Cards” o A USB card reader for your PC or Macintosh that supports compact flash cards. You can get one for less then $20.
Media Types Supported The following media types are supported: • MPEG-2 Video Files (aka “VOB” or “MPG” files) - These are the same types of files that are found on DVDs. They can be authored using any video editing software such as Pinnacle Studio or iMovie. Video sizes up to 1080i (1920x1080 interlaced) are supported with bit rates up to 25Mbps on the HD2000, and sizes up to D1 (720 x 480) are supported with bit rates up to 9 mbps on the HD600.
Playing Media with BrightSign Media can autoplay from a CompactFlash card upon power-up, play via a script on a CompactFlash card, or be tested using the serial shell commands. NOTE: On an HD600, video will come out the VGA connector, and the resolution will be 1024x768 unless you have changed this in your .CSV, Playlist, or Script, or by using the front panel video mode button. On an HD2000, video will come out the Component and HDMI connectors and the default video resolution is 720p.
3. Insert the CF card into the BrightSign, apply power, and after a few moments, the video should play and auto loop. Auto Playing a Playlist upon Power-up A playlist is a text file that describes a sequence of still images, or video clips, or audio clips to play, and the order they should play. See the playlist section of the manual for more detail. To autoplay a playlist file on power-up or reset, do the following: 1.
Playlists A BrightSign playlist is a text file that ends in “.bsp” (BrightSign Playlist). It contains the names of the files to play, in the order they should play. Files are played in sequence, one after the next. This means that it is not currently possible to have a playlist that plays audio and a video at the same time, for example. Getting Started To play a playlist, you must have your content, the playlist, and the Roku autoplay script (autorun.
Playlist Commands Here is the list of commands that can appear in a playlist: .bmp, .mp3, .mpg, .vob Any line that is a file name that ends in one of these extensions is played. Names may contain spaces. .bsp You can call another playlist from within a playlist putting the playlist filename on a line by itself. For example: mysubplaylist.bsp. This “sub playlist” will complete one loop and then return control to the main playlist.
audiochan # (default is 2 ) Since there are three analog outs, if analog is selected you must also use the "audiochan" cmd: • audiochan 2 -- output 1 (this is not a typo) • audiochan 1 -- output 2 • audiochan 0 -- output 3 volume # (default is 100 ) Sets the volume to a value between 0 and 100. For example: volume 100 videomode (default is 1024x768x60p ) Set the output framebuffer format.
lighton # lightoff # These two commands are used to set or clear one of the GPIO outputs. The number can be any integer between 17 and 22. For example: lighton 17 sets LED 0 on the button board. waitbuttonany This will pause until any of the GPIO buttons is pressed. pause # This will pause for the specified number of seconds. The number must be an integer.
Creating Interactive Displays With BrightSign you can create displays that respond to user input. For example, give the customer options of watching different videos depending on which button is pressed. To accomplish this with BrightSign, you need to decide what the input device will be, and you will need to either (a) use Microsoft Excel to create a control table and use BrightSign’s “autoplay .CSV files” mode, or (b) create a custom control script.
STATE bs5.bmp bs6.bmp STATE bs6.bmp bs7.bmp STATE bs7.bmp bs8.bmp STATE bs8.bmp bs9.bmp STATE bs9.bmp bs10.bmp STATE bs10.bmp demo_menu .bmp Keywords The first two lines use the optional “videomode” and “imagemode” keywords. These items are optional, but if used, can have these parameters (in the column after the keyword VIDEOMODE or IMAGEMODE).
• 3 - Scale to fill. The image is stretched so that it fills the screen and the whole image is viewable. This means that the aspect ratio will not be maintained if it is different to that of the current screen resolution. FLIPELO This keyword isn’t used in the example above. The FLIPELO keyword should only be used with a touch screen if the touch screen coordinates appear to be reversed. FLIPELO IMAGEMODE EVENTS 2 elo:110:180:355:210 EVENTS The first line of the CSV file is the EVENTS row.
NOTE: See the “Rollover Regions” section for two additional events you can use with CSV files. STATE After the EVENTS row, there are one or more STATE rows. These begin with the keyword STATE. The first cell after the STATE keyword is the name of the video or image file to display. When the “state is entered”, this file starts playing. The remaining cells describe what state to jump to when the corresponding event happens. For example, in the above example, the first state is “demo_menu.bmp”.
Example 1: Slideshow that advances automatically after the first slide plays Example 1 contains two events, an elo event (used for ELO touch screens or any Mouse input) and a timeout event. The clickable/touch area is defined as the whole screen. One touch or click starts the slideshow. When this demo starts, menu.bmp is displayed since it’s in the first STATE position. • There’s no timeout entry for menu.bmp. If there’s no mouse click or touch, menu.bmp will remain onscreen forever.
Example 2: slideshow that advances only when a click / touch occurs Example 2 has only 1 event, the same elo event as Example 1. • There’s an elo event entry for each image that plays next image when there’s a click or touch anywhere onscreen. • There are no timeout events in this demo. Because example 2 only has an elo event, and no timeout events, you must click or touch the screen to advance the slideshow.
Example 3: Video and Slide playback, using button input Example 3 contains five events, three button events and a timeout and videoend event. This demo plays two videos and 3 images. When this demo starts, menu.bmp is displayed since it’s in the first STATE position. • If the menu is being displayed, pressing button 1 starts the attract video; pressing button 2 starts the showcase video; pressing button 3 starts the slideshow.
Rollover Regions, using State Files (CSV) In the previous section, “Using Excel to Create Interactive Signs”, you learned that you can create touchable (clickable) areas on the screen using elo (elor) and eloc keywords in the EVENTS row of a CSV file. You can then use these regions like buttons to playback content. Any touch region can be setup as a rollover region. Rollover regions allow you to create more dynamic and interactive displays that accept mouse and touch input.
This is an example of what you would enter in the CSV file to define a rollover region. In this example: • Starting position is: 765, 674 • The touch region is 96 pixels wide and 43 pixels high • The rollover region is enabled • The on and off images are: next_on.bmp and next_off.bmp. • The rollover images are displayed in the same location as the touch region Normally, the on and off image have the same dimensions as touch region (width, height), and the same starting position (x,y).
Example 5.1: Example 5.
Scripts BrightSign can be used without any knowledge of scripts to accomplish common goals such as playing looping video or playing a slideshow (see the prior section in this manual “Playing Media”). It’s easy to control your digital signs or kiosks with a USB keyboard or remote using a simple script. In addition, using CSV files you can create more sophisticated signs. But by adding scripts, you can create the most interactive digital signs or kiosks. For a fee, Roku can help you write scripts.
roTouchScreen object. To create an object in a script, the CreateObject() function is used. Refer to the following two manuals when writing scripts: • BrightSign HD600 BrightScript Reference -- this describes the actual scripting language • BrightSign HD600 Object Reference -- this describes the Roku Objects, such as “roVideoPlayer” Examples A good way to learn BrightScript is to look at or modify existing scripts. You can find links to example scripts at www.rokulabs.com/brightsign.
Here is an example script that will flash an LED for half a second each time a button is pressed on the BrightSign button/led board. print "BrightSign Button-LED Test Running" p = CreateObject("roMessagePort") tmr = CreateObject("roMessagePort") gpio = CreateObject("roGpioControlPort") gpio.SetPort(p) sw = CreateObject("roGpioControlPort") 'switch/led control port sw.SetPort(p) event_loop: msg=wait(0, p) if type(msg)<>"roGpioButton" then event_loop butn = msg.GetInt() if butn > 5 then event_loop sw.
Troubleshooting If you are still having problems after trying troubleshooting tips, please contact customer support at www.rokulabs.com/brightsign for more assistance. Autoplay & General Troubleshooting Autoplay.mpg does not play automatically 1. Verify autoplay.mpg is spelled correctly 2. Verify that the autorun.bas v1.1 or later and autoplay.mpg are both in the root of the CF card 3. Verify you do not have an “autoplay.csv” or “autoplay.bsp” in the root of the CF card.
Video output includes artifacts, quality lower than expected The format of video content should be chosen to best match the properties of the intended display resolution. Most of the video output modes are progressive and so for the highest quality video reproduction, video files should be MPEG-2 encoded as progressive files. This is because to present an interlaced MPEG-2 file on a progressive display, the video must be digitally de-interlaced which can introduce video artifacts e.g.
4. Check if your PC is set to show file extensions. If your PC is not set to show file extensions, and you rename the file “autoplay.bsp”, you may have accidentally named the file “autoplay.bsp.txt.” 5. Use the “BrightSign Shell” to test playlist playback. You’ll be able to see any errors. 6. See “General Playback Problems” for more troubleshooting help. State Files (CSV) Download the latest Autoplay script from www.rokulabs.com/brightsign. Playlist support requires autorun.bas v1.1 or later. 1.
5. Try updating from the BrightSign Shell. Please see “Device Software and Upgrading” for details. 6. Contact Roku Customer Support, www.rokulabs.com/brightsign., if you are still having problems. Compact Flash card works for playback, but can’t update BrightSign Your CF card might not be compatible with the “safe mode” software on the BrightSign. If that’s the case, you can try manually updating the software from the BrightSign Shell or using a different CF card to do updates.
2. If you are using a wireless mouse, reconnect the wireless transmitter, and replace the batteries in the mouse 3. Try connecting your mouse to the BrightSign using a USB hub 4. Your mouse might not be compatible with the BrightSign. Try a mouse from this list of tested mice. USB Keyboard is not responding The BrightSign works with many different brands of USB keyboards. To use a keyboard, you must write a custom script. The “buttons” supported by the autoplay.csv are for input from the GPIO port. 1. 2.
Appendix Selecting Compact Flash Cards Summary When using a BrightSign Product, your content and scripts are loaded onto a Compact Flash (CF) card. Although the CF interface is standardized, there are a wide range of performance, compatibility, and reliability issues with different CF card brands and models. Roku strongly recommends that you use “industrial rated” CF cards with BrightSign.
BrightSign Compatibility BrightSign is compatible with most CF cards, but may not be 100% compatible with every model. Although there are standards for CF card interfaces, most chips are slightly different. We have tested with a large number of chips, and at this point have high compatibility. Earlier BrightSigns were less compatible, and if you have one of these you may want to upgrade your software. See the BrightSign user guide for a discussion of the two ROMs in a BrightSign (boot vs.
Device Software (Firmware) and Upgrading The BrightSign is pre-programmed with two primary software images: a “Safe Mode” and a “Run Mode”. The Safe Mode software image is write protected, and not changed once programmed by the factory. Its main purpose is to validate that the run mode rom image is not corrupt, and boot the unit. In addition, it can upgrade or re-program the main run-mode rom image. The main run mode software image is stored on a flash rom and may be upgraded in the field.
The upgrade process is very safe. If for some reason it fails, for example a power failure in the middle of the update, the unit’s “safe-mode” will still boot and will still perform upgrades as above. Updating from the BrightSign Shell BrightSign works with most CF cards, but is not compatible with all. See the “BrightSign Shell” section for more details on testing your CF cards and accessing the shell.
7. After a few moments you should see the BrightSign shell appear. It should also show you the software version number. Verify it is 1.0.72 or greater. List of Shell Commands With the shell running, type: help for a list of commands. Type the command on a line by itself for more information on a particular command. Example Shell Commands: Playing Files & Changing Settings All files on the CompactFlash card should be referenced with a “/” in front of the filename.
imageplay slide1.bmp 1 The current version of the BrightSign software does not support “hot swap” of CompactFlash cards. You must put in the CF card before applying power. Using SD Cards (HD2000 only) To list the contents of a CF card, enter any of the following: dir dir cf:/ dir ata:/ To list the contents of an SD card, enter: dir sd:/ To explicitly refer to a card from within a script, use “CF:/” for compact flash cards or “SD:/” for SD cards. When an autorun.
Testing Scripts, Playlists, and .CSV An efficient way to test playback is to use the BrightSign Shell. By using the shell, you can see “debug output”. From the BrightSign Shell you can start your script manually and view output from the script. You can start a script from the shell by using the “script” command. Follow the directions above to connect the BrightSign to your computer, and access it using Hyperterminal. As your script runs, you’ll see output in your terminal program.
• • Add print statements showing names of files read from the flash card Add print statements showing the coordinates of a mouse click To begin testing your custom script: 1. Copy your content and script file to the compact flash card. 2. Name your script run.bas. You can call it anything, as long as it’s not autorun.bas, so it doesn’t start automatically. 3. Add a debug statement to the top of your script, like the autorun.bas. Now, we’ll see output from the print statements you added to your script.
Linux Shell (HD2000 only) The HD2000 has a Linux shell that can be accessed via the serial port. To access the Linux shell, enter the following at the Roku prompt: exit When done using the Linux shell, enter the following at the Linux prompt: reboot Writing Boot Script & Logo to Rom With BrightSign HD600 Software version 1.1, you can now change the startup logo or add a boot script on the HD600. Both are stored in the internal FLASH. Both the logo and boot script have a size limit of 200KB.
8. Reboot the system To restore the BrightSign to the original boot files, reinstall the BrightSign software using update.rok. See Device Software and Upgrading for step by step directions. Note – this functionality is currently available on the HD600 only.
Widescreen vs. 4x3 Discussion BrightSign can be used with widescreen or 4x3 displays. However the use of different display aspect ratios with the various BrightScreen options can often be confusing. In this section we try to clarify what you can expect. Displaying Videos Video and Images are currently treated a little differently. When a video is being played back, it is displayed by default in what is known in BrightSignese as “ViewMode 0”.
• • • • • • • • • • • • • • • • Elo Touch Screens Many brands of USB Keyboards Many brands of USB Speakers – HD600 only Many brands of USB Mouse or Trackballs Many brands of USB Bar Code Scanners (these appear as a keyboard). Quadravox Serial Button Board Any “GPIO” button, signal or LED (your custom board or led display). Roku has a test button board available for purchase on our estore. VGA Monitors Component-input TVs.
1. DB9 Serial Port - The RS232 serial port can be used to control any serial device or to access the shell. Serial control is accomplished using BrightScript and the serial object. 2. DB25 GPIO Control Port - For connecting your own LEDs or Buttons (see the GPIO Control Port section of this manual) 3. Line Level Audio Outputs and SPDIF - When audio is playing back (either by itself or as part of a video), it can be directed to any one of these audio outputs, or to SPDIF, or to USB Speakers.