Working with Cue Points
About Cue Points
There can only be one cue point at any time code.
Cue Points injected by Captionate are 100% compatible with Flash 8 Video Encoder cue points. Captionate embeds exactly the same data as the Flash 8 Video Encoder, including the cue points list in onMetaData event.
Important Differences from Flash 8 Cue Points
Navigation Cue Points
Cue points that have 'navigation' type are intended to be navigated. Therefore, when encoding the video, Flash 8 Video Encoder ensures that there is a key frame at the cue point time for a navigation cue point.
Captionate is not an encoder, furthermore, Captionate lets you change the type and time of cue points freely. As far as Captionate is concerned the cue point type is simply a string. If you will be relying on having key frames at navigation cue point times (so that you will be able to seek the time), you will need to manually ensure this.
Video Shift for Audio Synchronization
When encoding a video with audio, Flash 8 Video Encoder shifts the video and delays it some milliseconds (see audiodelay value in onMetaData event) for better audio-video synchronization. Since in Flash 8 Enncoder the cue points are entered before the video is encoded, cue points are also shifted with video tags.
Because of this, physical times of cue points do not match the logical times stated in the cue points and also in the MetaData. Using the logical times still works because a few milliseconds delay does not matter, navigation cue points still seek the nearest key frame.
But for Captionate, we have decided it would create confusion and make it hard if we supported a 'physical' and a 'logical' time for each cue point. In Captionate, all physical and logical times are equal. When importing an FLV which has its video and cue point tags shifted, Captionate ignores the logical times and uses physical times, when you save the file, there will only be one time value for each cue point. Captionate warns you about this with a dialog.
(For example, you may enter a cue point at time 00:03:000 in Flash 8 Video Encoder. If the audio delay value is 25ms, actual cue point will be at time 00:03:025 in the encoded FLV. In MetaData and in the cue point, the time will still be stated as 00:03:000. When you open this FLV with Captionate and save it, the logical time value 00:03:000 will be ignored and all time values for the cue point will be the actual time: 00:03:025).
Another side effect of the shift is that, if you enter a cue point -or any data, caption, marker- before the first video key frame, you won't be able to seek that time and won't receive the data a second time. Even if you seek time 0, you will be able to actually seek the first video key frame. Captionate also displays a warning when you enter a cue point before the first video key frame.
A cue point has the following properties:
Adding Cue Points
- Name: The name given to the cue point.
- Time: The timestamp for the cue point.
- Type: The type of cue point, either 'navigation' or 'event'.
- Parameters: Variable number of name:value string pairs (optional).
You can add a cue point by using Add New Cue Point command. The command is available on the main toolbar, on the side bar, in the Data|Cue Points menu. You can also invoke the command by pessing CTRL+3, or pressing Insert when the list has focus.
A cue point with default values will be added at the playhead time.
This allows real-time cue point entry while the Preview Video is playing. For example, you can press CTRL+3 as many times as necessary while the video is playing to have cue points at desired points of time. (While the video is playing, a Playback Latency value is used. You can change this value using the Preferences Dialog).
Editing Cue Points
All the data in the cue points list can be edited in place. If the current cell is not in edit mode, you can use the ENTER or F2 key to enter the edit mode, ENTER to accept changes, ESCAPE to cancel changes.
You can also export the data as XML, edit the XML file and import it.
Using F3, you can assign the current playhead time to a cue point.
Cue Point Parameters
Each cue point can optionally have name:value string pairs as parameters.
Inside Captionate, parameters for a cue point are displayed and can be added/deleted/edited only when the cue point is selected.
Use to add a parameter with deafult values. deletes the current selected parameter. deletes all parameters for the cue point.
Deleting Cue Points
You can delete the selected cue point in the list using the Delete Cue Point command in the context menu or the Data Menu. You can also press DELETE when the list has focus.
You can delete all cue points using Delete All Cue Points command.
Cue Point Events
For cue points, Captionate embeds onCuePoint events. Also a list of cue points is embedded in the onMetaData event.
For general information on events see Events Overview. See event topics for sample code.
After adding cue points you can test your FLV using Test FLV (CTRL+Enter) command in Utility menu.
You can see the size of the cue points using the FLV Information Dialog, Size Report Tab.
You can decrease/increase the time codes of all cue points a certain amount using the Tweak Times command in Utility menu.
If you have a large number of (event) cue points, you can select the option for not saving 'event' cue points info into the onMetaData event.
You can import and export cue points in Adobe FLVCoreCuePoints XML format using File | Export and File | Import menus.