Kyte:Public FAQ
From KyteWiki
|
Debugging issues with Player Performance and Player Loading
Notes:
- For support of a basic user, just do the Connection Tester, step 3.
- For advanced/internal users or checking new unknown networks, do all the steps.
- Relevant screenshots are attached here.
- Send captured information and files to devsupport@kyte.tv and your main contact.
Step 1: traceroute to www.kyte.tv and capture the results.
- On Windows, Start | Run | type "cmd"
- This will bring you to the command prompt
- Type "tracert www.kyte.tv" without the quotes (slideshow slide 1)
- Once the command completes, right click in the command prompt window
- Choose Edit | Select All (this copies the text to your clipboard automatically)
- Paste into a text file or email.
- You might get 'Request timed out' errors during the test. Please ignore this and continue with the rest of the tests. The time outs may be caused because your corporate network might block ICMP packets that are used by the tracert process.
Step 2: traceroute to media01.kyte.tv and capture the results.
* Same steps as above
Step 3: Run the Connection tester and capture the results as directed in the test
Click http://www.kyte.tv/flash/MarbachConnectionTester.swf
Note:
- You might see a flash popup with Connection Error. (Slideshow slide 9). Please ignore this and click 'Continue'.
- Review slideshow slide 7 for details on how to retrieve the results of the test.
Step 4: Run Wireshark
- If you don't have Wireshark installed, get it and install it from http://www.wireshark.org
- Once you have it installed, launch Wireshark.
- Close all running web browsers.
- In Wireshark App, select Capture | Interfaces (slideshow slide 5)
- Wireshark may be slow, but should pop up an Interface picker screen (slideshow slide 4)
- Once that window appears, pick the correct Interface (your machine may have only one, in which case, just click "Start")
- Otherwise, you'll need to choose the correct interface. (slideshow slide 4)
- Tips for choosing the interface:
- In the Wireshark Interface chooser, look for an interface that lists an IP address (not 0.0.0.0 or greyed out). That's likely the correct one.
- If you have multiple interfaces,try going to the command line again and type "ipconfig". Depending on your machine, you may have one or more listings. (slideshow slide 8)
- Tips for choosing the interface:
- Once you pick the correct interface and click "Start" the app should begin capturing (It might take about 1 minute before anything happens. There is no indication that it's working, just wait for a minute and it should start)
- Once it's capturing, it will look like the screenshot (slideshow slide 6)
- Now open your browser and go to http://www.kyte.tv.
- Wait until the flash player completely loads.
- Now stop the capture (Capture | Stop in the menu)
- Save the file, use default settings. (slideshow slide 3) and (slideshow slide 2)
- Send the resulting file (it's a .pcap file)
Uploading licensed music tracks
Licensed music tracks can be uploaded to Kyte for use during show creation. The tracks are available to all users of Kyte. They can be accessed through the 'Add Music' button on regular show production or through 'Add Music Player' on the Advanced Show Producer tool.
Step 1: Provide access to raw music files
The files can be uploaded to a FTP or other server to which Kyte has access. They will be downloaded from this location to the Kyte servers.
Step 2: Provide metadata for music
This allows the music tracks to be split according to labels, artists and records. The 'Add Music' components provide a UI to navigate the music using this metadata. Metadata should be provided via XML with a single XML document for each album. Note that bold elements are required, italicized elements are optional. The following are allowed formats for the tracks:
- MP3: 128 Kbps CBR
- Album Art: 60 X 60 pixel JPG
The attached archive contains the schema and a sample XML file.
The following section elaborates on the schema file elements:
<albumset> element
| Child | Description |
| album | <album> element describing an album within this set |
<album> element
| Attribute | Description |
| release_name | The name of the album |
| display_artist_name | The artist name to be shown in the UI for this album (can be overridden on a per-track basis) |
| parental_advisory | Whether or not this album carries a parental advisory ("true" or "false") |
| publish_date | The date when this album can be made available online. Format should be YYYY-MM-DD |
| _genre_ | The genre for the album (can be overridden on a per-track basis) |
| _description_ | Marketing description for the album |
| _id_ | Some identification string to be used in metrics reporting |
| _buy_link_ | URL defining site where this album can be purchased |
| Child | Description |
| track | <track> element describing a track within this album |
| image | <image> element describing the icon for this album (can be overridden on a per-track basis) |
| label | <label> element describing the details of the publisher |
| _primary_artist_ | An optional <primary_artist> element describing the main artist associated with this album |
<track> element
| Attribute | Description |
| track_name | The name of this track |
| _display_artist_name_ | The artist name to be shown in the UI for this track (defaults to the album "display_artist_name" ) |
| _emphasis_ | Whether or not this track should be shown with "emphasis" (bold, etc...). Valid values are "true" or "false" |
| _genre_ | The genre for the track (defaults to the album "genre") |
| _id_ | Some identification string to be used in metrics reporting |
| _isrc_ | International Standard Recording Code for this track |
| _buy_link_ | URL defining site where this track can be purchased |
| Child | Description |
| media_file | A <media_file> element describing the actual audio file for this track |
| _primary_artist_ | An optional <primary_artist> element describing the main artist associated with this track. |
<media_file> element
| Attribute | Description |
| format | The format of the file (must be "mp3") |
| md5_checksum | md5 checksum of the file |
| file_name | Track filename |
| _bitrate_ | The bitrate of the audio file in kbps (bitrate="128" for example) |
<image> element
| Attribute | Description |
| format | Format of the file (typically "jpg") |
| width | Width of the image in pixels |
| height | Height of the image in pixes |
| md5_checksum | md5 checksum of the file |
| file_name | Image filename |
<label> element
| Attribute | Description |
| label_name | Record label name |
| _city_ | Label's city of origin |
| _state_ | Label's state of origin |
| _country_ | Label's country of origin |
| _description_ | Brief description of the label |
| _url_ | Website for this label (eg. http://www.recordlabel.com) |
<primary_artist> element
| Attribute | Description |
| artist_name | Artist name |
| _city_ | Artist's city of origin |
| _state_ | Artist's state of origin |
| _country_ | Artist's country of origin |
| _bio_ | Artist's bio |
| _url_ | Website for this artist (eg. http://www.artisthompage.com) |
| _genre_ | Primary genre for this artist |
Embedding Kyte Player within 3rd Party flash
As of R6, the Kyte player can be embedded within other 3rd party flash applications. The attached archive contains the following relevant files :
- KyteInFlash.as: A sample object that is the parent of the embedded Kyte .swf and uses LoadKyte.as
- LoadKyte.as: A simple loader object to make it easy to embed Kyte into 3rd party Flash applications
- KyteInFlash.swf: The sample .swf that embeds Kyte
- KyteInFlash.fla: The Flash project to build the sample .swf
Stale API Signature Error
This issue happens when the timestamp on the client and server are not in sync.
In general, all clients should use UtilService.getServerTime call to retrieve the server time during start of interaction and cache the difference between the client and server times. When API signature is generated using timestamp, use the client local time along with the cached value to get in synch with the server. Whenever the stale API signature error is throuwn, invoke the UtilService.getServerTime call to synch up with the server time. This is already built into the Kyte PhP Client Library.
Also the time on client to make sure it is in synch with Universal Time.
