BluStreak Tracer for Macintosh

BluStreak Tracer is a Blu-ray player, tracer, debugger, and command editor for Blu-ray content such as that created by Adobe Encore CS4 and CS5. It does not play AACS-protected content.

With BluStreak Tracer you can test your BDMV build folders from Encore, Final Cut Pro, and Toast directly on the Macintosh without needing to burn a disc to play it on a Blu-ray set top box or Windows software player. If the playback misbehaves, you can trace command execution, see exactly what went wrong, and fix it by editing the commands.

You can also play and edit builds from any Windows authoring program.

(Currently, only movie mode is supported. Support for BD-J is planned for a later version.)

BluStreak Tracer’s main window is its “playback” window, in which video streams and menus play in real time. Here is the main motion menu playing from an Encore CS5 demonstration project, created by Daniel Ludwig of MovieDesign.de

Main Menu.png

Here is the same menu with the chapter button activated:

Chapter Menu.png

Here is the main movie playing with a popup menu displayed over it:

Popup Menu.png

These are live screen shots, taken while the movie was playing. Adobe Encore CS5 has added multi-page normal and popup menus, the single most important new feature to Blu-ray authors. It is very nicely integrated into a single Photoshop file for each collection of related pages.

Interaction by the user, such as displaying the popup menu shown above, is simulated via BluStreak’s remote control window:

Remote.png

(For simplicity, the remote control window contains only the most necessary buttons. Additional functions may be added, as required, in the future.)

Video playback is currently based on the MainConcepts decoder suite. (You can see their logo in the upper right corner.) Playback is real-time, currently using software decoding, so at larger window sizes frames are dropped as necessary to maintain the frame rate.

Across the bottom of the playback window are a series of controls which give the content author the ability to debug the playback:

  • The Eject button stops all playback and commands, returning the player state to that of a disc first being inserted.
  • The Play/Pause button pauses only the video stream, allowing the author to explore and debug the menus without worrying about how much playback time remains in the current stream.
  • The time slider allows the author to set the playback time anywhere within the timeline of the current video stream. When playback reaches the end of the timeline, control returns to the underlying Blu-ray commands.
  • The End Playback button allows the author to end playback of the current stream immediately, as if the entire stream had been played to the end.
  • The Enable Tracing button gives the author access to the entire execution state underlying playback, including the ability to monitor, debug and edit commands. This execution state is shown in a secondary window.
  • BluStreak Tracer’s secondary window is the “tracer” window. Here is the tracer window as it appears while the above main menu is playing:

    Tracer Window.png

    The column at the right of the window is the “browser,” which shows all of the titles, playlists and menus. The menus have a hierarchical structure, with buttons at the bottom of the hierarchy. Titles (or, more accurately, movie objects) and buttons all have commands attached to them, and their browser items can be expanded to show the commands within the browser hierarchy.

    On the left of the window are several different areas, the main one being the command list — shown with a yellow background in this example because it contains the commands that are currently executing.

    Above the command list is a control that shows where in the browser hierarchy the current command list can be found. In this example, the commands belong to Movie Object 1, which is equivalent to Title 2.

    Below the browser location is a control that shows the current execution “stack.” In this example, it shows that a playlist is currently in control of the player (and looking at line 6 of the command list below it shows that this playlist was initiated by a command to play Playlist 1 starting at PlayItem 0); that this play command is in a movie object command list; and that the current movie object command list was “called” from a different movie object, which is now “suspended” until the current command list returns to it.

    The command list below these controls can show the commands from any movie object or button. This list has two narrow columns to the left of the line numbers. The first column is used to set “breakpoints” to intercept execution at any point the author desires. The second column shows an arrow pointing to the command currently being executed, or about to be executed. Normally, the arrow is solid, indicating the next command to be executed. In this example, the play command is in progress, so the arrow is hollow.

    Next to the command list are two tables that show the “registers” controlling playback, which can be used by the commands themselves to test and control the execution environment. The first table contains the Player Status Registers, or PSR’s, which all have a pre-defined meaning (defined by the Blu-ray specification). For example, the Title, Playlist and Playitem PSR’s show that the current playback began with Playitem 0 of Playlist 1 via Title 2. The second table contains the General Purpose Registers (GPR’s), which are available to the commands for whatever purposes the author wishes. There are actually 4096 GPR’s, but only those whose value has been explicitly set are shown — the rest all contain the value 0. (The “+” button below the GPR list allows the author to display other GPR’s, if desired.)

    Below the command list is the command editing area.

  • The “+” and “-“ buttons are used to add and delete commands for the command set.
  • The “Movie Object: Will resume” checkbox controls whether the movie object to which the command list belongs permits resuming after a Top Menu Call is initiated from the remote control.
  • The “Command:” controls allow the currently selected command to be edited:
  • Tracer Editing.png

    In this case, the command list shows the commands of Button 1024 on Page 3 of Clip 3, which was called up directly from the command browser. (Note the white background, and lack of a current-line arrow, indicating that this is not the currently executing command list.) These are the commands of the Setup/Audio/English button shown in an earlier screen shot.

    The Set Stream command, selected in the command list, is broken out into its constituent parts in the command editing area. The first control has been popped up to show all of the possible Blu-ray commands. (They are much more regular than DVD commands, and more powerful, for those of you who are DVD spec authors.)

    Finally, across the bottom of the window are command execution controls.

  • The Continue button lets the player execute commands continuously, as in normal playback. While the tracer window is open, commands are executed with a slight delay in between, so that the execution path can be followed visually.
  • The Stride button executes commands continuously until a different command list is reached.
  • The Single Step button simply executes one command.
  • The First Play button returns the player to its initial state (the same effect as the playback window’s Eject button).
  • The Rate slider controls the delay between commands when they are executed continuously (while tracing is enabled). A faster rate means less waiting for commands to execute, while a slower rate makes it easier to watch what commands are being executed.
  • This should enough to demonstrate the basic concepts and capabilities of BluStreak Tracer. We hope you will like it, and find it a useful addition to your authoring toolbox.

    Regards,

    Larry & Robin