as

Settings
Sign out
Notifications
Alexa
Amazon Appstore
AWS
Documentation
Support
Contact Us
My Cases
Get Started
Design and Develop
Publish
Reference
Support

Vega Live TV Issues

Live TV log capture

To debug issues or report bugs to Amazon, use the following mechanism to capture logs.

  1. Start the log capture process prior to pushing or installing your app onto the device.
  2. Configure your log settings with the following.

    Copied to clipboard.

     loggingctl config --set-rate all 60000
    

    Copied to clipboard.

     loggingctl config --set-level all info
    
  3. Reboot the device and start capturing logs

    Copied to clipboard.

     vda shell loggingctl log -f | tee device_logs.txt | grep "epg:\|ktf:\|ktf.\|EpgSync\|kepler.script.channel"
    
  4. If you need to file a bug/ticket with Amazon, please share the entire device_logs.txt file.

Live TV Validator Tool

The Live TV Validator Tool is designed to assess your Live TV integration. This tool can validate your manifest file or your VPKG, providing a high-level check of your implementation. It offers a convenient way to verify basic compliance and identify potential issues in your Live TV integration.

To validate a TOML file

Copied to clipboard.

kepler exec livetv_validator <path_to_manifest.toml>

To validate a VPKG file

Copied to clipboard.

kepler exec livetv_validator <path_to_vpkg> <output_directory>

EPG Sync task crashes due to invariant violation

If your EPG sync task crashes due to an error similar to the following.

Copied to clipboard.

E Volta:[KeplerScript-JavaScript] Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'DeviceInfo' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes.

Refer to Vega Headless Tasks and Services for troubleshooting guidance.

The channel is not showing up in the On Now row or Channel Guide

  • Reach out to your Amazon contact to make sure you are allowlisted for Live TV as Prerequisites.
  • Verify that the EPG Sync Task runs successfully.

    1. Install your app on the device.
    2. You should see your EPG Sync Task run within a few seconds. You can also validate by searching your app logs with the following command:

      Copied to clipboard.

       vda shell loggingctl log -f | tee device_logs.txt | grep "epg:\|ktf:\|ktf.\|EpgSync"
      

      If successful, when you check the logs, you see the following message.

      Copied to clipboard.

       INFO ktf.tm.nests:Successfully scheduled EPG Sync task.
      
    3. Reboot the device.
  • Make sure you have enabled Channel Tuning and Playback.

The channel is shown as a blank tile in On Now, with no image (only a channel name)

  • If a channel is not Gracenote integrated, check if Program.thumbnailUrl(UX field list) is correct.
  • If it is Gracenote integrated, see the following.

The channel has a Gracenote ID, but no metadata shows up in On Now or the Channel Guide

  • Make sure you know if your feed is for onTV or GVD and define it correctly as an External ID. Amazon catalog supports onTV for certain marketplaces. If there is a mismatch between what Amazon supports and what type of Gracenote ID you have, please reach out to your Amazon contact. They will likely work with Gracenote to correct the issue.
  • Double check the Gracenote ID value. onTV utilizes numerical values only, while GVD is alphanumeric.

When I click the program tile, but my app doesn’t start.

  • Check if your manifest.toml is correctly updated.
  • Verify that the change channel request is sent successfully.
    • You can validate by searching your app logs with the following command.

      Copied to clipboard.

        vda shell loggingctl log -f | tee device_logs.txt | grep "epg:\|ktf:\|ktf.\|EpgSync"
      
    • If successful, when you check the logs, you see the following message.

      Copied to clipboard.

      INFO ktf.tm.channel.client:changeChannel request successful: true
      

When I click the program tile, the app starts, but content does not start playing

  • Check if your channel handler is correctly implemented.
  • Verify that the channel handler is called successfully.
    • You can validate by searching your app logs with the following command.

      Copied to clipboard.

        vda shell loggingctl log -f | tee device_logs.txt | grep "epg:\|ktf:\|ktf.\|EpgSync"
      
    • If successful, and you are using the IChannelSeverComponent2, ChannelServerComponent2 and IChannelServer2 interfaces, you will see the following logs.

      Copied to clipboard.

      INFO kepler.script.channel:handleChangeChannelAsync invoked with <content id> 
      

Last updated: Sep 30, 2025