Frequently asked questions

Got Questions?

Use our FAQs to help yourself or simply write an email to developer@abox42.com
You can’t find your answer? Contact us!
 

Latest FAQ

M40Q: How do I get the latest update for my Smart STB?

A: This is how you can update your box. Please follow the instructions in "Step 2 - Prepare your desk".

Latest Version for M40 “Developer Standard”: Version 1.7 (FSI.2010.2002.1880.0) For detailed information see here.

Filter: latest M40 Resources Smart Solutions Web Technology

M40Q: How do the popups in the “UI Elements” examples work?

A: Go ahead and take a look at Chapter 4 - Part 9 and you will find sufficient information on how the popups work.

Filter: ABOX42 Showcases latest M40 UI Elements

M40Q: How do I use the browser tabs to achieve a DVB-like Red Button experience?

A: In Chapter XXVIII - Red Button, we show you how to use the browser tabs to achieve a DVB-like experience. You can download the source code on the summary page, Part 1 shows you how it works.

Filter: ABOX42 Showcases HbbTV IPTV latest M40 Web Browser runtime

M40Q: Where can I find an example for the QoS (Quality of Service) JS-API calls?

A: We prepared a separate Chapter for the Quality of Service calls. As you can find the full API documentation in the Web Browser API. A nice example with some visual animation for the fullscreen transition is filed in Chapter XXXII - QoS.

Filter: JS-API latest M40 qos class API

M40Q: How can I display the quality information of the current stream?

A: You can use QoS calls to get the number of stalls, the amount of transferred data, the download and media bitrate. In Chapter XXXII - Part 1 you can find a detailed instruction.

Filter: JS-API latest M40 qos class API

M40Q: How do I start an HLS stream with a specific bitrate?

A: If your use case demands that you need to start your HLS stream with a specific bitrate, there is a property available for the "media.play" call that lets you set the minimum or maximum bandwidth. As usual, we provide an example application for this topic. Please see Chapter XXXV - Testing differnt bitrates for details, download and documentation.

Filter: HLS HTML/CSS JS-API latest M40 Media Player runtime

M40Q: How can I change the streams and bitrates in the example of chapter 35?

A: In Chapter XXXV - Testing different bitrates we show you how to set and test different bitrates for your HLS playout. In case you want to modify the streams and bitrates in the example application, take a look at Part 2 - How can I change the video URLs and the bitrates?.

Filter: HLS HTML/CSS JS-API latest M40 Media Player runtime

M40Q: How does the Mobile RCU in Chapter 37 exactly work?

A: The functionality of the Mobile RCU in Chapter XXXVII is, of course, described in detail in the different parts included in the chapter. Go ahead and take a closer look at Chapter XXXVII - Part 2 to get started.

Filter: latest M40 Mobile Toolkit REST-API Smart RCU

M40Q: Is there a key code test for the X15 RCU?

A: Yes, there is a key code test available for the X15 RCU. Please see Chapter XVII in the Developer IDE.

Filter: ABOX42 Platforms latest M40 Smart STB

M40Q: Is it possible to set the DRM type of my stream with the setconfig() call?

A: The setconfig() call provided by the ABOX42 JS-API provides several possibilities to manipulate the playout. For example, you can set the DRM type to enable the streaming of your encrypted content. Take a look at the JS-API documentation in the Developer IDE.

Filter: ABOX42 Showcases HLS JS-API latest M40 media class API Media Player runtime

M40Q: How do I check if installing a new version really works in the App Installer?

A: In Chapter XXIV - App Installer, Part 5 you will find an instruction that shows you how to check whether installing a new version actually works by comparing the files that got installed with the existing ones.

Filter: ABOX42 Showcases JS-API latest M40 Web Browser runtime Web Server runtime

M40Q: What are the 2 different update modes in the App Installer?

A: In Chapter XXIV - App Installer, Part 6 you can learn about the two different update modes of the App Installer application. This part concludes Chapter XXIV - App Installer.

Filter: ABOX42 Showcases JS-API latest M40 Web Browser runtime Web Server runtime

M40Q: What can I use the setConfig() call of the JS-API for?

A: The media class API holds the setConfig() call. In combination with media.play() you can easily manipulate the playout of your stream. For example you can set the maximum bitrate or the DRM type. Check out more details in the Developer IDE.

Filter: JS-API latest M40 Web Technology

M40Q: I see an error while trying to install the firmware, what does it mean?

A: There are several error events that might occur during the installation process of the Smart STB.

[errors]

# download errors
900=Download failed (E900)
901=Download failed (E901)
902=Download failed (E902)
903=Download failed (E903)
904=Download failed (E904)
905=Download failed (E905)
906=Download failed (E906)
907=Download failed (E907)
908=Download failed (E908)
910=Decryption failed (E910)
911=Decryption failed (E911)
912=Decryption failed (E912)
913=Download failed (E913)
914=Download failed (E914)
915=Download failed (E915)
916=Download failed (E916)
917=Decryption failed (E917)

# verify errors
920=Verification failed (E920)
921=Verification failed (E921)
922=Verification failed (E922)

# version list errors
940=Error loading list of versions (E940)
941=Error loading list of versions (E941)
942=Error loading list of versions (E942)
943=Error loading list of versions (E943)
944=Error loading list of versions (E944)
4455=There is no update package available (E4455)

Filter: ABOX42 Platforms latest M40 Smart SDK Smart STB

M40Q: Is the WeatherNation TV app supported by the platform?

A: Yes, the WeatherNation TV application is supported and provides local weather forecasts tailored for you. This free and easy to use award-winning app streams live weather newscasts from certified meteorologists, provides your local weather data, local weather alerts (U.S. only) from NWS (National Weather Service) and more.
It’s weather 24/7/365. Get started and get weather aware. Get the only Weather app with live streaming and weather news stories.

The latest version of it is available through our "Smart Solutions - Web Browser runtime" page where you can find different OTT applications which you can launch on your Smart STB from within the Developer IDE.

Filter: latest M40 OTT Smart Solutions

M40Q: Why doesn’t the event handler process the first event when the screensaver is active?

A: Please be aware that when the screensaver is active, the first key event is not processed by the eventhandler because it deactivates the screensaver first. You can find more info about the screensaver related API calls here.

Filter: ABOX42 Showcases latest M40 Web Browser runtime

M40Q: How do I show the HTML of a tab so a video plays in the background?

A: From the navigation between tabs you’re just a few steps away from showing different videos in different tabs. These videos can have a small size, or they can be large. Take a look at Chapter XVIII - Part 2 to see how to display a video in different tabs.

Filter: browser class API latest M40 Web Browser runtime


 

FAQ Archive

M40Q: Why do I have to register when I am already working with an ABOX42 M40 platform?

A: The Developer IDE works with user accounts to pave the road for upcoming features within the IDE. Therefore, you need to register for the usage. In addition, the registration process helps the developer support to keep their data and requests allocable.

Filter: IDE M40

M40Q: How can I try the Smart Solutions in the Developer IDE directly on the box?

A: You will have to connect the Smart STB with the IDE. How to do that is described in our Step by Step introduction in the IDE, chapter "Read first". Please read carefully and keep in mind that the Smart STB and the Developer IDE need to be running in the same network to make it work.

Filter: IDE M40

M40Q: How long does it take until I receive my account details after registration?

A: Our regular response time during week days (Monday through Friday) we have an approximate response time of 24 hours. Office hours are from 9 a.m. to 6 p.m. CET. In urgent cases please contact us via the contact form.

Filter: IDE M40

M40Q: How can I access the Developer IDE for M40?

A: In case you already registered, you can login here. If not, please register here for your access to the Developer IDE for M40.

Filter: IDE M40

M40Q: Is there a way to reset the box without access to the settings menu (hardware reset)?

A: Yes, there is a way to reset the box without access to the settings menu. Simply follow these instructions:

- Power Off the box by pressing the power button. This state is indicated by a red power symbol. (or disconnect the power supply)

- Push the power button once, release it for an instance and then press again and hold the button this time for approximately 5 - 7 seconds.

- You can now release the power button again and the box will boot into the Setup Wizard which will guide you through the installation process. Make sure the box is connected to the internet in order to be able to download the firmware. Always choose the latest firmware if you can see more than one.

Filter: M40 Smart STB

M40Q: Is it possible to customize the back button of the RCU?

A: In case you want to disable the back button or any other button, you will have to interrupt the default event with the JavaScript method "event.PreventDefault()" which is widely used.

Filter: M40 Web Technology

M40Q: Is it possible to equip the onscreen keyboard with another language?

A: Our OnScreen Keyboard, which you might know from some examples, can be equipped with different languages. Try to change the language in the settings app to see it.

The standard languages that come with your Developer STB are:

- English
- German
- French
- Italian

Of course, others are possible as well. Please contact us in case you are looking for different languages.

Filter: ABOX42 Showcases M40

M40Q: How can I add a mask to show a video in my application?

A: You have to put the contents of your application inside of an SVG-container. After you've done that, you can add a mask on the container that cuts a hole into the background layer which contains the video. See the referring example in the IDE here: SVG Masked Video

Filter: ABOX42 Showcases HTML/CSS M40

M40Q: How can I set the z-index of a video with the JS-API?

A: There's no possibility or trick to get the video stacked on top of the other elements. Only if you are using the HTML5 video-element instead of the JS-API you can do that. Instead, you can work with a mask as you can find it in the Developer IDE.

Filter: HTML5 JS-API M40

M40Q: Is it possible to detect that a stream is interrupted and restart it automatically?

A: Yes, this can be accomplished by adding an event listener which reacts to this event with a specific action you can define yourself. Take a look at the following API call: addEventListener

Filter: JS-API M40 media class API

M40Q: Is there an OnScreen Keyboard I can use for my application?

A: Yes, there is a software OnScreen Keyboard you can use. Please take a look at Chapter 6 or Chapter 7 to learn more about the OnScreen Keyboard.

Filter: ABOX42 Showcases HTML/CSS M40

M40Q: How do I create a simple digital signage app?

A: Combining existing elements/examples, Chapter X - Digital Signage shows you how to create a digital signage app that plays videos in a loop.

Filter: ABOX42 Showcases Digital Signage M40

M40Q: How do I combine a navigation and a video canvas?

A: Chapter V - Part 5 will show you how to combine the navigation and the video canvas, in order to get a simple app that plays videos from a list.

Filter: ABOX42 Showcases M40 UI Elements

M40Q: How do I create a navigation bar using the grid?

A: You can find a simple instruction on how to create a navigation bar using the grid in Chapter V - Part 4.

Filter: ABOX42 Showcases M40 UI Elements

M40Q: How do I show a player control bar when switching to fullscreen mode?

A: In case you need the player control bar to show up in fullscreen mode as well, take a look at Chapter V - Part 3 to see how this can be accomplished.

Filter: ABOX42 Showcases M40 UI Elements

M40Q: How do I add a player control bar to the video canvas?

A: How to add a player control bar to your video canvas is explained in Chapter V - Part 2 of the Developer IDE.

Please note that there is a hands-on video tutorial available in the IDE or on YouTube for this part - simply click on the link above.

Filter: ABOX42 Showcases M40 UI Elements

M40Q: How do I create a rectangular video canvas and play a video in it?

A: Take a look at Chapter IV - Part 4 or Chapter V - Part 1 to see how a video canvas gets created, so you can play a video in it.

Please note that there is a hands-on video tutorial available in the IDE or on YouTube for these parts - simply click on one of the links above.

Filter: ABOX42 Showcases M40 UI Elements

M40Q: How do I add a simple debugging?

A: We explain how to add a simple debugging to your application in Chapter I - Part 2.

Filter: ABOX42 Showcases HTML/CSS M40 Resources

M40Q: How do I copy a checkbox to the middle of the page?

A: There is an instruction on how to copy the checkboxes from the "UI Elements" in Chapter VI - Part 5. Take a look at it now.

Filter: ABOX42 Showcases M40 UI Elements

M40Q: How do I create an input field with keyboard?

A: Take a look at Chapter VI - Part 1 in the Developer IDE to see how to create an input field with keyboard.

Filter: ABOX42 Showcases M40 UI Elements

M40Q: How can I play content from a USB storage device?

A: Take a look at Chapter XI - Part 4 to see how to create an application that lets you play content from a USB storage device connected to the Smart STB.

Filter: ABOX42 Showcases M40 OTT Smart STB Storage

M40Q: How does the “stop” event work when I am using the HTML5 video object?

A: There is no stop event defined in HTML5, you can only pause the video. The video automatically stops when a different page gets loaded because the html5 object gets unloaded:



Download this example to see how to use the PAUSE button to pause/resume the video.

Filter: ABOX42 Showcases HTML5 M40

M40Q: How much storage do I have on the M40 device for local apps?

A: There are approximately 400MB available on the box's local storage for local apps. However, we recommend to keep the storage capacity of the file system at a maximum of 70% to make sure the performance does not get influences negatively.

Filter: M40 Smart STB Web Server runtime

M40Q: How can I enable the navigation on a grid?

A: Please take a look at Chapter 4 - Part 3 to learn how to enable the navigation on a grid.

Please note that there is a hands-on video tutorial available in the IDE or on YouTube for this part - simply click on the link above.

Filter: ABOX42 Showcases M40 UI Elements

M40Q: How do I change the page content when selecting a menu item?

A: For each item in the menu bar you can specifically show content. Learn how to do that in Chapter VIII - Part 4.

Filter: ABOX42 Showcases M40 UI Elements

M40Q: How can I combine a navigation bar and a player bar?

A: We show you how to combine the 2 elements "navigation bar" and "player control bar" in Chapter 8 - Part 10 of the Developer IDE.

Filter: ABOX42 Showcases M40 UI Elements

M40Q: How does the player control bar in the “VOD Library” example work?

A: How the player control bar like in the "VOD Library" works is explained in Chapter VIII - Part 6.

Filter: ABOX42 Showcases M40 UI Elements

M40Q: How do I hide the upper lines of the grid when scrolling?

A: When scrolling down in the "UI Elements: Grid (without hiding)", the upper line is displayed half way. This can be changed by adding the "hiding" attribute for the upper line. See how it works in the Developer IDE.

Filter: ABOX42 Showcases M40 UI Elements

M40Q: How do I create a navigation bar like in the “VOD Library” example?

A: Please take a look at Chapter VIII - Part 3 where we explain how to create a navigation bar like in the "VOD Library" example.

Filter: ABOX42 Showcases M40 UI Elements

M40Q: How can I create a grid to display content?

A: We have 2 different grids you might want to take a closer look at:

1. Chapter VIII - Part 1:  The default grid: none of the elements in grid are hidden when scrolling.

2. Chapter VIII - Part 2: Elements are hidden when leaving the grid while scrolling - Grid with attribute: hiding.

Filter: ABOX42 Showcases M40 UI Elements

M40Q: How do the select boxes in the “UI Examples” work?

A: Please find a detailed instruction on how to work with the select boxes of the "UI Elements" in Chapter IV - Part 7. There is also a screencast available now.

Filter: ABOX42 Showcases M40 UI Elements

M40Q: How do I implement a multi-page description?

A: There is an instruction for this question, which can be found in Chapter VIII - Part 8.

Filter: ABOX42 Showcases M40 OTT UI Elements

M40Q: Is there an example for a Video-On-Demand (VOD) application?

A: Yes, we have an example of a VOD application in the Developer IDE, which is located here: Chapter VIII - Media Player for Experts There is also a direct link filed under "Market Proven" in the Developer IDE: Smart Solutions - Web Browser runtime.

Filter: ABOX42 Showcases M40 OTT UI Elements Web Browser runtime

M40Q: How does the table in the “UI Elements” example work?

A: This is an advanced table that also provides a fluent and enhanced navigation. Take a look at the description of this example in Chapter IV - Part 12

Filter: ABOX42 Showcases M40 UI Elements

M40Q: How does the light box in the “UI Elements” example work?

A: The light box is a stylish enhancement in case you are working with images. We prepared a description on how to use it inChapter IV - Part 11.

Filter: ABOX42 Showcases M40 UI Elements

M40Q: How do I get the latest news around the development on ABOX42 platforms?

A: You can always find the latest news around the development on ABOX42 platforms on our news page. Get an overview for all platforms available or simply choose the one you are currently working with to get a more detailed view. But don't worry in case you have not enough time on your hands, because we'll make sure you won't miss anything. A round-up newsletter is going to keep you in the loop every other week. ABOX42 Developer News

Filter: ABOX42 Platforms M40

M40Q: How do I get the latest update for my Smart STB?

A: This is how you can update your box. Please follow the instructions in "Step 2 - Prepare your desk".

Latest Version for M40 “Developer Standard”: Version 1.7 (FSI.2010.2002.1880.0) For detailed information see here.

Filter: latest M40 Resources Smart Solutions Web Technology

M40Q: Is there an SDK?

A: Yes, the ABOX42 Smart SDK is a comprehensive SDK based on the latest web standards and ready to use development platform to build TV Applications and Services.

Filter: M40 Smart SDK

M40Q: Using media.play does not work, what am I doing wrong?

A: Before you can use media.play you will have to initialize the media and display object, using the following functions:



It might be that you have a non-transparent background. Please set the background to transparent. It might also be that the screen is hidden by a HTML object. You can set the opacity to 0.5 for these objects. For example, you can set the the opacity of the body tag to opacity:0.5:



so the video will shine through. Then you will be able to find out if the video is really played on the device. If it is, you will have to change something about your HTML. Otherwise, try to find out why media.play does not work.

Filter: ABOX42 Showcases JS-API M40 media class API

M40Q: How can I store data on the box?

A: There are several possibilities:

Cookies are best when you want to store litte data (e.g. session keys).

Storage via HTML5 LocalStorage is also available.

- Storage via local SQLite database is another possibility you should look at.

- Play content from a USB storage device.

Filter: ABOX42 Showcases JS-API M40 media class API

M40Q: Are there any standard guidelines for TV Applications?

A: There are no strict regulations, but there are some things that could be seen as common practice. Take a look at our Style Guide where we state some general considerations.

Filter: IPTV M40 OTT Smart Solutions UI Elements Web Technology

M40Q: What is the key event handler and how do I use it?

A: The key event handler is explained Chapter IV - Part 1. Take a look at the tab called "handleKeyCode" to understand how to use it.

Filter: ABOX42 Showcases M40 UI Elements

M40Q: What is the easiest way to call a URL on the box?

A: The easiest way to call a URL on the box is to use the IDE. Either visit the market proven section or click on "Validate your own application" in the header. You will find a command line you can paste your URL and launch it on the box.

There are several ways to call a URL on the box - suit yourself: "Step by Step: Step 4 - Your technical evaluation"

Filter: IPTV M40 OTT runtime Web Browser runtime

M40Q: Does the Smart SDK provide media player capabilities?

A: Yes, the Smart SDK provides media player capabilities. For further details please visit "Media Player runtime" category of the IDE and the "Compliance - Media Player runtime" page.

Filter: M40 Media Player runtime

M40Q: Where can I find detailed information on the media player capabilities?

A: You can find an overview of all supported streaming protocols and drms, containers and codecs here: Media Player Formats

Filter: M40 Media Player runtime

M40Q: Where can I find test streams for the Media Player runtime?

A: We prepared a bunch of test streams on "Compliance - Media Player runtime". Please take a look and feel free to test them directly on the box.

Filter: M40 Media Player runtime

M40Q: How can ABOX42 help us to launch the Smart STB directly into our application?

A: ABOX42 will assist you in the following way to get your application running right after the booting process:

- You will have provide access for us via port forwarding on PORT 22
- We log onto your box via SSH
- We change the start URL for your Smart STB
- ...and you're good to go


Note: In case you perform a reset of the Smart STB, the settings will be changed back to default.

Best practice: Use a redirect server so you can change the URL on your side without needing our assistance.

Filter: M40 Smart STB Web Development

M40Q: How do the radio and normal check boxes in the “UI Elements” examples work?

A: We prepared a description on how to handle the check boxes. You can find it in "Chapter 4 - Part 8".

Filter: ABOX42 Showcases M40 UI Elements

M40Q: What is the key event handler and how do I use it?

A: The key event handler is explained Chapter IV - Part 1. Take a look at the tab called "handleKeyCode" to understand how to use it.

Filter: ABOX42 Showcases M40 UI Elements

M40Q: How do the popups in the “UI Elements” examples work?

A: Go ahead and take a look at Chapter 4 - Part 9 and you will find sufficient information on how the popups work.

Filter: ABOX42 Showcases latest M40 UI Elements

M40Q: How can I enhance the UI of my application?

A: We prepared some examples, called "UI Examples" with different button sets, menu items and so forth in the Developer IDE. Take a look at "Chapter IV - UI Elements" now.

Note: These examples are best viewed directly on the box. To do so, go to each part and start the application by pressing on "View on Box".

Filter: ABOX42 Showcases JS-API M40 UI Elements

M40Q: How do I load HTML pages using a navigation?

A: How to load HTML pages by using a navigation is explained on this page.

Filter: ABOX42 Showcases HTML/CSS M40

M40Q: How do I navigate and load HTML pages in PHP?

A: We explain how to navigate and load HTML pages in PHP in this example. Please take a look at it.

Filter: ABOX42 Showcases HTML/CSS M40

M40Q: How do I modify the HTML navigation to load PHP?

A: Please take a look at this example we created for this question.

Filter: ABOX42 Showcases HTML/CSS M40

M40Q: How can I display something on top of 3rd party apps?

A: We prepared a sreencast for this case. Please take a look at it - we provide a detailed instruction.

Filter: ABOX42 Platforms M40

M40Q: Is the “Northern&Shell” app supported by the box?

A: Yes, the "Northern&Shell" app is supported by the M12 platform and can be found on the "Demo Applications" dashboard.



Look for this tile on the dashboard. You can also find this Smart Solution in the IDE: Northern&Shell

Filter: M40 Smart Solutions Smart TV Alliance Web Browser runtime

M40Q: Is the “AccuWeather” app supported by the box?

A: Yes, the "AccuWeather" app is supported by the M12 platform and can be found on the "Demo Applications" dashboard.



Look for this tile on the dashboard. You can also find this Smart Solution in the IDE: AccuWeather

Filter: M40 Smart Solutions Smart TV Alliance Web Browser runtime

M40Q: Is the “Baeble Music” app supported by the box?

A: Yes, the "Baeble Music" app is supported by the M40 platform and can be found on the "Demo Applications" dashboard.



Look for this tile on the dashboard. You can also find this Smart Solution in the IDE: Baeble Music

Filter: M40 Smart Solutions Smart TV Alliance Web Browser runtime

M40Q: Is there a compliance to apps using the “Smart TV Alliance” standard?

A: Yes, there is a compliance to the "Smart TV Alliance" for the M40 platform. Please find the supported apps in the IDE or in "Demo Applications" on your Smart STB's dashboard.

Filter: M40 Smart Solutions Smart TV Alliance Web Browser runtime

M40Q: Is “Panorama TV” supported by the box?

A: Yes, "Panorama TV" is supported and can be found in "Demo Applications" located on your dashboard.



Look for this tile in the "Demo Applications" app. You can also find this Smart Solution in the IDE: Panorama TV

Filter: M40 Smart Solutions Web Browser runtime

M40Q: Is the “Panoramabilder” app supported by the box?

A: Yes, the "Panoramabilder" app is supported and can be found in "Demo Applications" located on your dashboard.



Look for this tile in the "Demo Applications" app. You can also find this Smart Solution in the IDE: Panoramabilder

Filter: M40 Smart Solutions Web Browser runtime

M40Q: Is “Nuna.tv” supported by the box?

A: Yes, "Nuna.tv" is supported and can be found in "Demo Applications" located on your dashboard.



Look for this tile in the "Demo Applications" app. You can also find this Smart Solution in the IDE: Nuna.tv

Filter: M40 Smart Solutions Web Browser runtime

M40Q: Is the “ARD Text” app supported by the box?

A: Yes, the "ARD Text" app is supported.



Find it under Smart Solution in the IDE: ARD Text

Filter: M40 Smart Solutions Web Browser runtime

M40Q: Is the “kicker.de” app supported by the box?

A: Yes, the "kicker.de" app is supported.



You can find this Smart Solution in the IDE: kicker.de

Filter: M40 Smart Solutions Web Browser runtime

M40Q: Is the “SWR Mediathek” supported by the box?

A: Yes, the "SWR Mediathek" is supported.



You can find this Smart Solution in the IDE: SWR Mediathek

Filter: M40 Smart Solutions Web Browser runtime

M40Q: Is the “MDR Mediathek” supported by the box?

A: Yes, the "MDR Mediathek" is supported.



Look for this tile in the "Demo Applications" app. You can also find this Smart Solution in the IDE: MDR Mediathek

Filter: M40 Smart Solutions Web Browser runtime

M40Q: Is the “NDR Mediathek” supported by the box?

A: Yes, the "NDR Mediathek" is supported.



You can find this Smart Solution in the IDE: NDR Mediathek

Filter: M40 Smart Solutions Web Browser runtime

M40Q: Is the “ARD Angebote” app supported by the box?

A: Yes, the "ARD Angebote" app is supported.



Look for this tile in the "Demo Applications" app. You can also find this Smart Solution in the IDE: ARD Angebote

Filter: M40 Smart Solutions Web Browser runtime

M40Q: Is the “KabelEins Videocenter” supported by the box?

A: Yes, the "KabelEins Videocenter" is supported.



Look for this tile in the "Demo Applications" app. You can also find this Smart Solution in the IDE: KabelEins Videocenter

Filter: M40 Smart Solutions Web Browser runtime

M40Q: Is the “Sat.1 Videocenter” supported by the box?

A: Yes, the "Sat.1 Videocenter" is supported.



You can find this Smart Solution in the IDE: Sat.1 Videocenter

Filter: M40 Smart Solutions Web Browser runtime

M40Q: Is the KiKA+ application supported by the platform?

A: Yes, the KiKA+ application is supported by the platform. Please visit the Smart Solutions - Web Browser runtime page to launch the application on your Smart STB.

Filter: M40 Smart Solutions Web Browser runtime

M40Q: What is the easiest way to test my media content on the box?

A: The easiest way to test your media content is to use the functionality provided by My Own Video – Media Player runtime.

Filter: M40 Media Player runtime

M40Q: Where can I get more information about the specifications of ABOX42 Smart STBs?

A: Please visit this page to get further information about the different Smart STBs offered by ABOX42.

Filter: ABOX42 Platforms M40

M40Q: Is the “Pro7 Videocenter” supported by the box?

A: Yes, the "Pro7 Videocenter" is supported and can be found in "Demo Applications" located on your dashboard.



Find this Smart Solution in the IDE: Pro7 Videocenter

Filter: M40 Smart Solutions Web Browser runtime

M40Q: Is the “Tagesschau” app supported by the box?

A: Yes, the "Tagesschau" app is supported and can be found in "Demo Applications" located on your dashboard.



Look for this tile in the "Demo Applications" app. You can also find this Smart Solution in the IDE: Tagesschau

Filter: M40 Smart Solutions Web Browser runtime

M40Q: Is the “ARTE Mediathek” supported by the box?

A: Yes, the "ARTE Mediathek" is supported and can be found in "Demo Applications" located on your dashboard.



Look for this tile in the "Demo Applications" app. You can also find this Smart Solution in the IDE: Arte Mediathek

Filter: M40 Smart Solutions Web Browser runtime

M40Q: Is the “RTS+” app supported by the box?

A: Yes, the "RTS" app is supported and can be found in "Demo Applications" located on your dashboard.



Look for this tile in the "Demo Applications" app. You can also find this Smart Solution in the IDE: RTS+

Filter: M40 Smart Solutions Web Browser runtime

M40Q: Is the “ZDF Mediathek” supported by the box?

A: Yes, the "ZDF Mediathek" is supported and can be found in "Demo Applications" located on your dashboard.



Look for this tile in the "Demo Applications" app. You can also find this Smart Solution in the IDE: ZDF Mediathek

Filter: M40 Smart Solutions Web Browser runtime

M40Q: Is the “ARD Mediathek” supported by the box?

A: Yes, the "ARD Mediathek" is supported and can be found in "Demo Applications" located on your dashboard.



Find this Smart Solution in the IDE: ARD Mediathek

Filter: M40 Smart Solutions Web Browser runtime

M40Q: Is there a compliance to the specifications of the “SMART TV Alliance”?

A: Yes, the M20 platform is compliant to the specifications of the "SMART TV Alliance", to which ABOX42 is a member. Take a look at the 3rd party application examples in Smart Solutions - Web Browser runtime.

Filter: M40 Smart Solutions Smart TV Alliance Web Browser runtime

M40Q: How do I install an application locally?

A: How to install an application locally is explained in "Step 4 - Your technical evaluation" of our Step by Step introduction.

Filter: M40 runtime Web Server runtime

M40Q: How do I preload helloworld.png?

A: Take a look at Chapter III - Part 7 to get an answer to your question.

Filter: ABOX42 Showcases Hello World HTML/CSS M40

M40Q: How do I add links with onclick media events?

A: We prepared an example for this question - Chapter III - Part 6 provides an answer to your question.

Filter: ABOX42 Showcases Hello World JS-API M40

M40Q: How do I use HTML5 to play a video inside the transparent area?

A: To complete Chapter II a HTML5 video object will be displayed inside the transparent area. See "Part 5" for details.

Filter: ABOX42 Showcases Hello World HTML5 M40

M40Q: How do I create a safe area around the “Hello World” app?

A: The answer to this question is part of Chapter II. Go ahead and take a look at "Part 2".

Filter: ABOX42 Showcases Hello World HTML/CSS M40

M40Q: How can I create a simple “Hello World” app?

A: "Chapter II - Hello World with HTML5 video object" provides an answer to this question. A simple instruction for your first application. In "Chapter III - Hello World with JS-API video object" you learn how to use the JavaScript API to play videos instead of the HTML5 video object.

Filter: ABOX42 Showcases Hello World HTML5 JS-API M40

M40Q: Where can I find the examples for the Mobile Workbench?

A: There are examples within the Mobile Workbench. Simply start the Mobile Workbench as described here and take a look at the first page you see - you will see the examples as indicated on the picture below:

Filter: M40 Mobile Toolkit Smart RCU Smart Solutions

M40Q: Are there examples for the usage of the ABOX42 Mobile App and where can I find them?

A: We have an instruction on how to use the ABOX42 Mobile App. You can find it here - Please follow the instructions and note that you need an Android device (on which the ABOX42 Mobile App is installed) and it has to be in the same network as the box.

Filter: ABOX42 Mobile App M40

M40Q: What is the easiest way to call a URL on the box?

A: The easiest way to call a URL on the box is to use the IDE. Either visit the market proven section or click on "Validate your own application" in the header. You will find a command line you can paste your URL and launch it on the box.

There are several ways to call a URL on the box - suit yourself: "Step by Step: Step 4 - Your technical evaluation"

Filter: IPTV M40 OTT runtime Web Browser runtime

M40Q: Is there a way to set the audio track or audio PID of my stream manually?

A: Yes, therefore we have a call in our JS-API called "setConfig" which allows you to set different parameter for the playout of your stream.

Filter: JS-API M40

M40Q: How can I set (or retrieve) the parameters for the playout of my stream?

A: You can either set the parameters with the JS-API "play" call directly or you can use the "setConfig" call for further parameters. Please visit the individual call in the Developer IDE. When you want to retrieve the parameters set, you can do so using "getConfig".

Filter: JS-API M40 media class API

M40Q: How do I use the Mobile Workbench?

A: Please find information on how to use the Mobile Workbench in "Chapter XV - Part I". Feel free to play around with the API-References and some application examples.

We will be steadily working on the Mobile Workbench - some REST-API calls might still be disabled (marked grey) at this point.

Filter: companion device M40 Mobile Toolkit Second Screen

M40Q: Can I work with media queries for my layout?

A: Yes, you can. The browser gives an output of 720p (1280x720px) to the screen.

So you can add "@media only screen and (width: 1280px) and (height: 720px){[...]}" to your other queries in the CSS file and define special layout options for the box. See also Chapter I - Part 5.

Filter: ABOX42 Showcases M40

M40Q: Can I use the HTML5 canvas functionality on the box?

A: Yes, HTML5 canvas is supported as specified in the HTML5 standard. See also Chapter I - Part 4

Filter: ABOX42 Showcases HTML5 M40

M40Q: What is the Developer App and how does it work?

A: The developer app is your central tool to run your service(s) on the Smart STB. It is essential to your development on the Smart STB and is pre-installed on it's dashboard.

developer-tiles-developer-1

You can find detailed information how to run your services in "Step by Step". "Step 4 - Your technical evalution" holds all the information you need.

Filter: M40 Smart STB Web Browser runtime Web Server runtime

M40Q: Where can I find demo applications?

A: Simply start all the application filed under "Market Proven" in the Developer IDE, directly on the box. Make sure to enter your network settings correctly in the IDE.

screenshot IDE network settings 1-1

Filter: ABOX42 Showcases M40 Smart Solutions

M40Q: Where can I get the ABOX42 Mobile App?

A: The ABOX42 Mobile App is available for download. Please visit the Developer IDE and see the "Resources" on the summary page of "Chapter XV - Mobile Toolkit".

Filter: ABOX42 Mobile App M40 Mobile Toolkit

M40Q: Can I create my own app which shows media files on the box?

A: Yes. We already created a branded app for displaying content from a mobile on the box - please contact us for details.

Filter: ABOX42 Mobile App M40

M40Q: What is the difference of the commands inside the Mobile Workbench and those commands presented in the section “JS-API” on the ABOX42 developer website?

A: There should be no differences regarding the way the functions work. Using the REST API is similar to calling the commands from the Javascript API, with the difference that you can call these javascript commands from a remote device now.

Filter: ABOX42 Mobile App JS-API M40 Mobile Toolkit REST-API

M40Q: How are the files transfered to the box?

A: The Javascript API can make use of a dlna object, which handles playing videos automatically for us. Events which get executed when a video gets played can get caught. The way MP3 files and images are played and displayed can be adjusted by the programmer using javsacript inside the application. When images are to be shown, an event handler retrieves the URL of the image on the mobile and displays it using the img tag. See here for more details.

Filter: ABOX42 Mobile App M40 Mobile Toolkit

M40Q: The video is stuttering. What can I do?

A: For a playback without stuttering you need a normal router with a transfer capacity of 45MBit/s. In order to transfer the video to the box, it is getting sent from the smartphone to the router, and from the router back to the box. Therefore you need a fast WLAN with a good reception. One help can be to connect the box to the router using a LAN-cable, then there is one transmission path less. Some mobile devices don't have enough computing power to display a video without stuttering.

Filter: ABOX42 Mobile App M40 Mobile Toolkit

M40Q: The media content is not displayed on the screen. What can I do?

A: Check if you are connected to your box using the same network. Images with more than 20 Megapixels currently cannot get displayed.

Filter: ABOX42 Mobile App M40 Mobile Toolkit

M40Q: Using media.play does not work, what am I doing wrong?

A: Before you can use media.play you will have to initialize the media and display object, using the following functions:



It might be that you have a non-transparent background. Please set the background to transparent. It might also be that the screen is hidden by a HTML object. You can set the opacity to 0.5 for these objects. For example, you can set the the opacity of the body tag to opacity:0.5:



so the video will shine through. Then you will be able to find out if the video is really played on the device. If it is, you will have to change something about your HTML. Otherwise, try to find out why media.play does not work.

Filter: ABOX42 Showcases JS-API M40 media class API

M40Q: I am getting javascript errors in my browser, but on the abox everything’s working fine. What could be the reason for this ?

A: When you initialize the media and display object (using new tv2_stb_media(); and new tv2_stb_display();) you will have to make sure that these objects are defined, because they do not exist in the scope of a normal browser. However, they exist when running the script on the device. So make sure that you check if the types of tv2_stb_display and tv2_stb_media are not undefined. Moreover, every call to media should either be caught using a try catch block or before making a call to media or stb_display, make sure that the object exists, otherwise the browser will error.

Filter: ABOX42 Showcases M40 Web Browser runtime

M40Q: I am trying to request a URL on our server using an ajax function (XMLHttpRequestObject), but all I get is an error. Why ?

A: You can only create requests to the server where the javascript for the ajax request is located. In order to create requests to a different domain, use CURL, which you can then call by your ajax function in order to retrieve the content which is located on a different server:



(replace the ajax function through your own)

Filter: ABOX42 Showcases M40 Web Development

M40Q: What is “gridJS”?

A: "gridJS" is a javascript library which makes it easy to setup horizontal and vertical navigations for HTML lists, solving the difficulties a regular browser might have with cursor key navigation in HTML. It provides hooks for different use cases. Take a look at Chapter IV - Part 1 to see an introduction to gridJS.

Filter: ABOX42 Showcases JS-API M40

M40Q: What is the best way to learn about the gridJS library that you are offering?

A: The "gridJS" library is located in "ceScript", but if you have not used it before, we recommend to take a look at the RSS Channel Template. It contains a simplified version of the grid, called "demogrid.js". It is completely commented and does not contain any heavy math.

M40: RSS Channel Template

In Addition, we offer more information and an introduction to gridJS as well as it's extended functionality in Chapter IV - Part 1. Please pay attention to the different tabs of this part.

Filter: ABOX42 Showcases JS-API M40 Resources summary

M40Q: The gridJS library is very large – what are the functions that I am going to need to use ?

A: You do not need to use the library to its full extent. These are the functions which are mainly used:

init – you must call this, and in the callback handler mostly calls to “gridJS.element” are made (and calls for selection)

element – make one call for every <ul> element you want to create a grid on

use – select a different <ul> element

sel – select a different <li> element

navigate – use this from your handleKeyCode function to forward cursor up, down, left and right presses to the grid

Filter: ABOX42 Showcases M40 Web Development

M40Q: What is the difference between sel and forceSel ?

A: forceSel allows you to select a different <ul> element and making a <li> selection of the newly selected element, while sel keeps the selection on the current <ul> element active and only selects a different <li> element.

Filter: ABOX42 Showcases M40

M40Q: What is the difference between gridJS.use and gridJS.sel ?

A: "gridJS.use" is for selecting different elements (<ul> items). You can call "gridJS.use" with the id of the <ul> element, or use "gridJS.use(0)" to select the first element, "gridJSu.use(1)" to select the second etc., whereby the order is the order in which  the elements got initialized. Whereas "gridJS.use" is used for the <ul> elements, you can call "gridJS.sel" to change the selection of the <li> elements, which are contained inside the currently selected <ul> element. For example, to select the second <li> element simply call gridJS.sel(1); (and to select the first <ul> element with the id “navigation” use gridJS.forceSel(“navigation”, 0);

Filter: ABOX42 Showcases M40 Web Development

M40Q: Do I always have to call the grid with the same id and name?

For example you are using this to call the grid:

A: No. Although we recommend it for simplicity, the first 'mainmenu' is the id of the <ul> element you want to call the grid on.  This id must exist. The second appearance is used in connection with calling "gridJS.use" and can be any name you like - as long as you use it for "gridJS.use ..." for example, you cannot use "gridJS.element("mainmenu")" when you have given it a different name (the name must be the same - use "gridJS.use("mainmenu")" when you have given it the name "mainmenu").

Filter: ABOX42 Showcases M40

M40Q: At what position does the index start when using gridJS.use(number) instead of gridJS.use(ul_id) ?

A: Besides calling gridJS.use("id_of_ul_element") it is also possible to call "gridJS.use" with an integer index. The index is the order in which "gridJS.element" got called - the first initialized element has the index 0.

Filter: ABOX42 Showcases M40

M40Q: What parameters and subfunctionality will be used when initializing the grid using gridJS.element ?



gridJS.use('different_panel'): You can have several HTML <ul> boxes with different <li> elements. Selects a different <ul> element. Have a look at the question "What do the parameters mean which get used when calling gridJS.element?" for details on this.

gridJS.doit('action'): Executes the action tag of the currently selected list element. This makes it possible to scroll over different list elements and when the user presses OK ("VK_ENTER"), different functionality can get called depending on what list item is currently selected.

gridJS.doitHover('hoveraction', 1): Makes it possible to call something right when a list item (<li>) gets selected. After 1ms (immediately), evaluates the javascript in the "hoveraction" attribute of the newly selected list item.

Filter: ABOX42 Showcases JS-API M40

M40Q: What do the parameters mean which get used when calling gridJS.element ?

"name"
Provide a name you would like to use when calling gridJS.use

"type"
Provide the direction of the selection (so the up/down/left/right cursor keys have different actions): vertical or horizontal

"is_moveable"
If enabled, the element is scrollable, otherwise the selection goes out of range and is not displayed (when there are too many items in the element)

"border"
Different action depending on the direction which is provided here. Gets called when the currently selected item is the first or last item in the selection. In this case, the element "scroll_panel" gets selected when the last item was selected and the user presses cursor right. There must be no further item inside this element which could get selected. If the direction was "LEFT", you could specify the action for when the first item inside the element was selected and the user presses the cursor left button.

"key"
Here you can specify special keys which get called when the user presses that button. In this case, the function doit gets called, which evaluates the action attribute of the currently selected <li> element. Keys which you define here must be forwarded from your keycode handler (i.e. function handleKeyCode):



"enterlastitem"
Different from what its name might suggest, enterlastitem defines if the previously selected item should get selected again (after an element was previously focused, lost its focus and gets focused again). If set to false, when the selection appears, always the first <li> item is selected (except if you give it a different selection using gridJS.sel).

"callback"
Called after element has finished

Filter: ABOX42 Showcases JS-API M40

M40Q: How do I use the “getNetworkInterfaceIP” call? The code returns an empty string.

A: That's because the device has multiple network interface (lo, eth0, wifi is ra0 (optional)) you must first detect which interface is currently active.  It may happen multiple interfaces are active.  In this case we return the first active Interface (LAN or Wifi).

Example code:

screenshot getActiveIP

Filter: common class API JS-API M40

M40Q: Is there a browser? How can I call a URL on the box?

A: Of course there is a browser and there are several ways to call a URL on the box. For instructions please see "Step by Step" in the Developer IDE and click on the tab "Step 4: Your technical evaluation".

Filter: M40 Mobile Toolkit Web Browser runtime

M40Q: Is there an SDK?

A: Yes, the ABOX42 Smart SDK is a comprehensive SDK based on the latest web standards and ready to use development platform to build TV Applications and Services.

Filter: M40 Smart SDK

M40Q: How can I become a developer?

A: Simply register here - we’ll be happy to hear from you and get back to you shortly.

Filter: IDE M40 Smart SDK

M40Q: How do I create an index page?

Build your own index page: If you have multiple apps or you want to access multiple URLs, you can set up a simple index page linking to those apps or URLs. Find detailed instructions on our Step by Step page. Click on the tab labeled "Step 4: Your technical evaluation" and scroll down to "Create your own index page".

Filter: ABOX42 Showcases M40 Web Browser runtime Web Server runtime

M40Q: How are Cookies handled on the box?

A: Take a look at our example in the IDE to see how to handle cookies correctly. In addition, you can take a look at the documentation of this example filed under Chapter XI - Storage.

Filter: ABOX42 Showcases M40 Storage

M40Q: How do I store something locally using a database?

A: We suggest to use a database called with the PHP API for read / write actions to avoid system damage. Especially the risk of damaging the flash memory will be decreased by that approach. For the the control of the maximum sizing, the application is responsible itself, so without a careful handling of (especially writing) persistence data, an application can run the system in a deadlock situation as it could be possible with a "regular PC".

Regarding the interaction with the browser, it is necessary to read / write the data in the following way:

a. php with database as "server" - locally running with localhost.

b. Ajax calls against the localhost, so the application in the browser has a fully supported persistent layer on the box.

Local Storage Example...

Filter: ABOX42 Showcases M40 Storage Web Server runtime

M40Q: How can I store data on the box?

A: There are several possibilities:

Cookies are best when you want to store litte data (e.g. session keys).

Storage via HTML5 LocalStorage is also available.

- Storage via local SQLite database is another possibility you should look at.

Filter: ABOX42 Showcases HTML5 M40 Storage Web Browser runtime Web Server runtime

M40Q: Can I use HTML5 local storage?

A: Yes, this feature is supported by the browser. Take a look at our IDE example and read the documentation filed under Chapter XI - Storage.

Filter: ABOX42 Showcases M40 Storage

M40Q: How can I run multiple applications of any kind at the same time?

A: The easiest way to run multiple applications of any kind at the same time is to create an index file. Find detailed instructions on our Step by Step page. Click on the tab labeled "Step 4: Your technical evaluation" and scroll down to "Run applications on the Smart STB".

Filter: M40 Web Browser runtime Web Server runtime

M40Q: Can I control the Smart STB from within the Developer IDE?

A: Yes, with our new "Soft RCU" feature, which makes use of the REST-API, you can call a virtual RCU that let's you control the Smart STB. The button layout is identical to the one of the Mini RCU that comes with every Smart STB, so it will be familiar and easy to use.

soft rcu screenshot

Simply press on the the button next to the "Settings" gear wheal and the Soft RCU will come up.

Filter: M40 REST-API Smart RCU

M40Q: How do I get the latest news around the development on ABOX42 platforms?

A: You can always find the latest news around the development on ABOX42 platforms on our news page. Get an overview for all platforms available or simply choose the one you are currently working with to get a more detailed view. But don't worry in case you have not enough time on your hands, because we'll make sure you won't miss anything. A round-up newsletter is going to keep you in the loop every other week. ABOX42 Developer News

Filter: ABOX42 Platforms M40

M40Q: Does the box support HLS (HTTP Live Streaming)?

A: Yes, the box does supports HLS. We prepared an example called "TV Channelswitcher" for this reason. You can find it on the "Smart Solutions" page in the "Market proven" category of the Developer IDE.

Note: In case the streams won't start playing, you might be blocked due to geo-IP check-up.

Filter: ABOX42 Showcases HLS M40

M40Q: How does ABOX42 handle support requests?

A: We have a contact form which you can use to easily contact us. Please make sure you address your issue as precisely - it helps us to provide the best support possible.

Filter: M40

M40Q: Is there a key code test for the Keyboard RCU?

A: Yes, there is a key code test available for the Keyboard RCU. Please see Chapter XVII in the Developer IDE.

Filter: ABOX42 Platforms M40 Smart STB

M40Q: Is there a quick way to test the Multicast capabilities of the platform?

A: To quickly test the Multicast capabilities of the platform, here is a possibility. Please visit the referring IDE entry or follow these instructions:

Download this example file: UPD-Multicast-Test-Stream-ABOX42

Use VLC Player

In VLC Player:

  • Start Streaming / Export Assistant via VLC menu
  • Select attached test file as source
  • Select UDP-Multicast (e. g. 239.255.0.1:4567)
  • No Transcoding
  • Format: MPEG-TS
  • Additional streaming options: None

On STB: Call udp://239.255.0.1:4567

Note: Playing the stream can be accomplished by coding a small app that uses the play command to start "udp://239.255.0.1:4567". You can find examples for player apps in the IDE. Make also sure not to use the port ":1234" because this port is pre-occupied for the Verimatrix settings.

Troubleshooting: In case you don't see the video but hear the audio, try to set the AlphaLevel to "0".

Filter: M40 Media Player runtime

M40Q: Does the Smart SDK cover media player capabilities?

A: Yes, the Smart SDK provides media player capabilities. For further details please visit "Media Player runtime" category of the IDE and the "Compliance - Media Player runtime" page.

Filter: M40 Media Player runtime

M40Q: Can the browser on the Smart STB handle multiple tabs?

A: Yes, the browser on the Smart STB supports multi tabbing. Regarding this topic, we prepared some examples in "Chapter XVIII - Browser control" - please take a look.

Filter: browser class API M40 Smart STB

M40Q: Where can I find information on how to use multiple tabs in the browser?

A: There is a chapter in the Developer IDE which handels the browser controls. Go ahead and take a look at Chapter XVIII - Browser control.

Filter: browser class API M40

M40Q: How do I load a red button application into a tab?

A: Yes, it is possible to load a red button application into a tab. Please see Chapter XVIII - Part 5 for details.

Filter: browser class API M40

M40Q: Is the Smart STB compatible with iOS streams?

A: Yes, the box is compatible with iOS streams. The format used is called HLS (HTTP Live Streaming) and you can find sample streams in Compliance: Media Player runtime.

Filter: HLS M40 Media Player runtime

M40Q: Is there an example for a screensaver?

A: You are probably familiar with the screensaver used for the "Developer Standard" brand already. In case you are looking for something visually more attractive, take a look at this example screensaver we offer.

Filter: ABOX42 Showcases M40 Web Browser runtime

M40Q: Can I launch the Updater application from within the IDE?

A: Yes, you can launch the Updater application on your Smart STB from within the IDE. Please visit this page to do so. Remember to set your box's IP address correctly in the IDE.

Filter: ABOX42 Showcases M40 Web Server runtime

M40Q: How does remote debugging work for the M40 platform?

A: You can accomplish remote debugging for ABOX42 platforms by using the Safari browser (Version 5.1.7 or higher) on a Windows computer. Please follow these instructions:

- Start your Safari browser
- Look up the IP address of your Smart STB
- Enter the IP address followed by ":9222" (e.g.: http://192.168.121.34:9222)
- Safari will automatically start the debugging console

In case you see an error message with the setup above, we recommend to switch to the Safari browser (latest version) on an Apple computer. The steps you have to execute stay the same (see above).

Note: This feature is only enabled in development FSI (Developers Standard) versions.

There is also a documentation about remote debugging available in the Developer IDE, Chapter I - Part 2 (click on the "Remote Debugging" tab).

Filter: ABOX42 Platforms M40 Smart STB

M40Q: Where can I get detailed information on the PHP specifications of the platform?

A: The easiest way to get the most detailed information is to do as follows:

- Download this info.php file
- Get the IP address of your Smart STB and connect via an FTP client
- Transfer the file via FTP to the developer folder on the box
- Call the file in your computer browser
- For example: "http://192.168.121.34/developer/info.php"
- You will see a page that holds all necessary information regarding PHP

Filter: ABOX42 Platforms M40 Web Server runtime

M40Q: What kind of font type is used on the Smart STB?

A: The font type used on the Smart STB is "WenQuanYi Micro Hei". It can be changed when reaching a certain project status where an individual firmware and a matching professional services agreement are in place. The modification will affect all runtimes and platform components like DLNA and qt. However, the font type can not be changed for the first installation wizard (SSI). Additional information about the font type are available at http://wenq.org/en/. Direct download URL for version 0.2.0: http://sourceforge.net/projects/wqy/files/wqy-microhei/0.2.0-beta/wqy-microhei-0.2.0-beta.tar.gz/download

Filter: M40 Smart STB

M40Q: Where can I find an overview of the UI Elements?

A: Here is an overview of the UI Elements and other templates used in our examples and "Smart Solutions": UI Elements Index

Filter: ABOX42 Showcases HTML/CSS HTML5/CSS3 JS-API M40 UI Elements Web Technology

M40Q: How can I switch the audio channel when my stream offers more than one?

A: We prepared an example that shows you how to use the JS-API to switch between audio channels of video streams. Take a closer look at the code used to see exactly how this can be done.

Filter: JS-API M40 media class API Smart STB

M40Q: Where can I find a changelog for the firmware updates?

A: You can find the firmware changelog filed under "Features & Roadmap". Simply click on this link and it will take you there.

Filter: ABOX42 Platforms M40 Smart STB

M40Q: Is it possible to disable the screensaver?

A: Yes, you can use the JS-API call "enableScreensaver()" to "turn off" the screensaver. There is an example code available in the API documentation which is best used in your own application. This makes sure the screensaver won't get activated while your application is running.

Filter: ABOX42 Showcases common class API JS-API M40

M40Q: Is there a possibility to upload files to the box via the IDE?

A: Yes, there is a possibility to do so - please find it here: My Own Application - Web Server runtime

Please read the instructions carefully. We will extend the range of functionalities provided step by step.

Filter: M40 Smart SDK Smart Solutions Web Server runtime

M40Q: Is the player able to extract the service id from the PlayReady license acquisition request?

A: Yes, the service id from the PlayReady license acquisition gets extracted by the player. Please take a look at the sample streams we provide in "Compliance: Media Player runtime", both for video and audio.

Filter: IPTV M40 Media Player runtime OTT runtime

M40Q: Is there an example for a full IPTV application including features like teletext, EPG and HbbTV?

A: Yes, in Chapter XX of the Developer IDE you can find an example with the following features:

- HTML5 UI
- Window Manager supporting native windows and web views overlay
- Parser capabilities for transport streams coming by transcoded standard DVB source
- Support of transcoded HLS with Verimatrix DRM mixed with channels based on Smooth Streaming and Playready
- AIT (HbbTV) signaling support by channel configuration mapping (Application Manager and OIPF configuration)
- DVB standard teletext
- HbbTV teletext
- HbbTV EPG
- HbbTV Mediathek
- ABOX42 Hybrid EPG Service with extended information including images
- Example of a settings component

There are also screencasts available that will help you understand the code.

Filter: HLS IPTV M40 Media Player runtime tsstack1 class API Web Technology

M40Q: Does the box support teletext?

A: Yes, the box support standard DVB teletext. Please see "Chapter XXI - IPTV package 1" for more details.

Filter: IPTV M40 tsstack1 class API

M40Q: How do I use the Mobile Viewer?

A: In Chapter XV - Part 3 you can find a description how to use the Mobile Viewer with the ABOX42 Mobile RCU. In case you want to use a third party application with the Mobile Viewer, please proceed to Part 4 in the same chapter.

Filter: ABOX42 Mobile App companion device JS-API M40 Mobile Toolkit REST-API Second Screen

M40Q: Which characters are allowed for the WiFi password in the First Run Wizard of the Smart STB?

Pre-shared key mode (PSK, also known as Personal mode) is designed for home and small office networks that don't require the complexity of an 802.1X authentication server. Each wireless network device encrypts the network traffic using a 256 bit key. This key may be entered either as a string of 64 hexadecimal digits, or as a passphrase of 8 to 63 printable ASCII characters. If ASCII characters are used, the 256 bit key is calculated by applying the PBKDF2 key derivation function to the passphrase, using the SSID as the salt and 4096 iterations of HMAC-SHA1.

Characters that are not supported: " : ^ ~ "

Special German characters: " ä, ö, ü, Ä, Ö, Ü "

Filter: ABOX42 Platforms M40 Smart STB

M40Q: Have you ever wondered what “FSI” means when updating your Smart STB?

A: "FSI" describes a software image including a defined set of software components which can be categorized as:

- kernel
- root fs
- applications

This software image usually is changed by the "Updater" process provided on the dashboard behind the tile "Updater". The FSI can also contain functionalities which are typically offered by the service operator towards the customers. The frequency of the update depends usually on the improvements for the platform software components and the functions that the service operator wants to offer.
In a very first step while the devices are manufactured a dedicated software image comes to the Smart STB especially to support the first time setup, also called "First Installation Wizard". We name this software image "SSI".

Filter: M40 Smart SAAS Smart SDK Smart STB

M40Q: Are teletext subtitles supported by the platform?

A: Yes, teletext subtitles are supported by the platform. Please take a look at Chapter XXI - IPTV package 1 and view this example on the box. When the teletext is shown, please enter 888 on your RCU to show teletext subtitles for the running stream.

Filter: ABOX42 Showcases IPTV JS-API M40 tsstack1 class API

M40Q: There is no audio – what can I do?

A: First of all you need to be clear about the source. Meaning you should know whether it's an analogue or stereo signal or whether it's Dolby Surround. When this is clear, please open the settings app on your box and navigate to "Audio&Video" and check what is selected as "Audio Output". For regular content, please choose "PCM", for Dolby Surround content please select "Passthrough" when using an audio receiver. Please note that when "Passthrough" is selected, the volume can only get adjusted on your audio receiver itself, not on the box anymore.

NOTE: The audio signal is forwarded to the TV or A/V receiver "untouched" and the device has to decode the signal then because the Smart STB itself is not capable of doing so. Be aware that the decoding capabilities of your TV or A/V receiver for passthrough signals is not always identifiable in the fact sheet. Please reassure yourself that the required feature is supported.

Filter: ABOX42 Platforms IPTV M40 Smart STB

M40Q: Is there a possibility to skin/customize the ABOX42 system applications like the updater or speed check?

A: Most system applications can be skinned to a certain extent. The only exception is the Speed Check application. Please note that you need to have a certain project status where you receive your own branded firmware in which the adjustments can be made. For further details please contact us.

Filter: ABOX42 Platforms M40 Smart Solutions

M40Q: How do I initialize ul elements with $.fn.grid.element when using gridJS?

A: You will find an introduction including a screencast (video tutorial) that shows you how to initialize ul elements with $.fn.grid.element in Chapter IV - Part 2.

Filter: ABOX42 Showcases M40 UI Elements Web Technology

M40Q: How can I start my service over a TV channel like Red Button does?

A: Take a look at how to load a web app from a remote server while your video stream is running - similar to the Red Button you might already know from conventional TV.

Filter: ABOX42 Showcases IPTV JS-API M40 Web Technology

M40Q: How does the Soft RCU in the Developer IDE work?

A: The Soft RCU is working with the Rest-API provided by the ABOX42 Smart SDK. You can also find another application working in the same way in Chapter XIV - How the Smart SDK enables the Cloud Connection. The Smart RCU in Part 1 of this chapter enables you to control the box with, for example, your smartphone. Further information regarding this topic can also be found in Chapter XV - Mobile Toolkit.

Filter: ABOX42 Showcases companion device IDE M40 Mobile Toolkit REST-API Second Screen Smart RCU Smart SDK Web Browser runtime

M40Q: How can I create my own Speed Check application?

A: On every developer unit you will find the ABOX42 Speed Check. In case you are looking for your own, branded speed check, take a look at what we have to offer on our Smart Solutions - Web Server Runtime page. Choose "My Own Speed Check" and download the zip file provided there. Upload it to your Smart STB and test it right away. With some adjustments you can easily brand this application according to your product/corporate identity.

In addition, there is a complete description of the speed check app's code in Chapter XXV - Speed Check. You can either run this application locally or in the cloud.

Filter: ABOX42 Showcases common class API HTML/CSS JS-API M40 Smart Solutions Web Server runtime

M40Q: How can I retrieve the current URL in the Smart STB’s browser?

A: On "My Own Application - Web Browser runtime" you can now retrieve the URL the browser is currently showing. We have made the experience, that this is quite helpful for Q&A as well as R&D. Whenever the STB is connected to the IDE, you can easily retrieve the current URL by the press of a button. The URL will be displayed as a link. Either save the URL or directly click on it.

Filter: IDE M40 REST-API Smart SDK Smart STB Web Technology

M40Q: What is the maximum graphic rendering resolution of the browser on the M20 platform?

A: Apart from the video resolution used for the play out of your content, the maximum graphic rendering solution of the browser is 1280x720 pixels. What is referred to as "720p". For further question, please contact us.

Filter: ABOX42 Platforms M40 Smart STB

M40Q: Does the M20 platform support Flash?

A: The ABOX42 platforms do not support Flash in general. There are several reasons for that, for example the announcement by Adobe to discontinue the support of Flash in the future or the fact that other technologies are being established on the OTT and IPTV market. Please take a look at the Media Player Formats overview table in the Developer IDE. In case you need further information, please contact us.

Filter: ABOX42 Platforms M40 Media Player runtime Smart SDK Smart STB Web Technology

M40Q: How can I check the browser user agent on the Smart STB?

A: You can easily check the browser user agent with a simple php call that echos the server like this: echo $_SERVER['HTTP_USER_AGENT'];

The string you get in return should be: Mozilla/5.0 (Embedded; Linux) AppleWebKit/534.34 (KHTML, like Gecko;(tv2next;ABox42-M12;1.0.0;1.0;); en) Safari/534.34

Filter: M40 Smart SDK Smart STB Web Browser runtime

M40Q: How can I change the browser user agent?

A: In case you want to change the browser user agent, you will need an own branded firmware. This is not possible with the "Developers Standard" firmware. Please contact our Sales Department for further information or Professional Services in case you have an own firmware in place already.

Filter: M40 Smart SDK Smart STB Web Browser runtime

M40Q: How can I create my own settings app?

A: We've recently received several requests asking whether it is possible to create an own settings application. Therefore, we have created Chapter XXIII in the Developer IDE that shows you how our settings app was built and thereby provides you the information needed to create your very own.

We split up the different tabs like "System information", "Audio & Video", "Network" and so forth into individual parts which should make it easier for you to find your way along. The chapter is not fully completed yet, but we'll take care of that within the next two weeks. Nevertheless, the full application is already available for download in the "Resources" section of the summary page.

Filter: ABOX42 Showcases JS-API M40 Smart SDK

M40Q: How can I set the time zone on the Smart STB?

A: A: There is an extension in the JS-API that handles the timezone topic. Take a closer look at the common class API and look for these calls:

- getSupportedTimezone
- getTimezone
- getTimezoneOffset
- setTimezone

Filter: common class API JS-API M40 Smart SDK

M40Q: How does the initialization work when creating my own settings app?

A: The first part of Chapter XXIII gives you an introduction and explains the very basics of the settings application. We recommend to take this step in order to get the full picture and as a preparation for the following parts.

Filter: ABOX42 Showcases JS-API M40 Smart SDK

M40Q: How do I distinguish between keys that use the same key code?

A: There are several keys that share a key code. We prepared a key code test for you to test it. The main difference though is the event triggered by the "fn" button beforehand. Monitor this event to prevent difficulties.

Launch the following URL on the box (via the IDE): http://m20-webkit.workbench.abox42.com/showcases/shared_key_codes/

Filter: ABOX42 Showcases M40 Smart STB

M40Q: How do I setup the System Information in my settings app?

A: In Chapter XXIII - Part 2 we explain how the "System Information" tab is built up and what it takes to make it work correctly. Feel free to explore the information given in the code tab of this part.

Filter: ABOX42 Showcases JS-API M40 Smart SDK Smart STB

M40Q: How do I setup the Time & Language tab in my settings app?

A: In Chapter XXIII - Part 3 we explain how the "Time & Language" tab is built up and what it takes to make it work correctly. Feel free to explore the information given in the code tab of this part.

Filter: ABOX42 Showcases JS-API M40 Smart SDK Smart STB

M40Q: How do I setup the Audio & Video tab in my settings app?

A: In Chapter XXIII - Part 4 we explain how the "Audio & Video" tab is built up and what it takes to make it work correctly. Feel free to explore the information given in the code tab of this part.

Filter: ABOX42 Showcases JS-API M40 Smart SDK Smart STB

M40Q: How do I setup the Network tab in my settings app?

A: In Chapter XXIII - Part 5 we explain how the "Network" tab is built up and what it takes to make it work correctly. Feel free to explore the information given in the code tab of this part.

Filter: ABOX42 Showcases JS-API M40 Smart SDK Smart STB

M40Q: How do I setup the Reset tab in my settings app?

A: In Chapter XXIII - Part 6 we explain how the "Reset" tab is built up and what it takes to make it work correctly. Feel free to explore the information given in the code tab of this part.

Filter: ABOX42 Showcases JS-API M40 Smart SDK Smart STB

M40Q: Do I have to update the Smart STB’s firmware (FSI/SSI) manually or does it update automatically?

A: You will have to update your Smart STB manually. Please launch the "Updater" app on your box. The first thing you will see is the FSI update (firmware) and when a new version is available, this info is indicated on the screen.

Pressing the red button on the RCU in the Updater app will switch the view to the SSI update (systemupdate) which also indicates when there is a new SSI available.

In both cases, you will have to trigger the process manually.

Filter: M40 Smart SDK Smart STB Web Technology

M40Q: Is multi-audio supported by the platform?

A: Yes, the platform supports multi-audio. Please see Chapter XXII - IPTV package 2 for details and a sample application where you can insert your own multi-audio stream URL.

Filter: ABOX42 Showcases IPTV JS-API M40 Smart SDK

M40Q: How does the .m3u8 playlist has to look like for HLS streams with multiple audio tracks?

A: There is an example for an .m3u8 playlist on the summary page of Chapter XXII. Please take a closer look at it to get an idea how it is built up.

Filter: ABOX42 Showcases HLS IPTV M40 Web Technology

M40Q: There is no stream running when I start the example from Chapter 22 – IPTV package 2. What do I have to do to make it work?

A: As you might have noticed when looking at the IPTV application we offer in Chapter 22 - IPTV package 2, the first channel in the list is "My Channel". This is where your own stream should be running, all other channels work. There is a description available in Chapter 22 - Part 1 which shows you where to put your stream URL in order to make it work.

Filter: ABOX42 Showcases IPTV M40 Web Technology

M40Q: I noticed delays in my application while the focus gets drawn. How can I enhance the performance here?

A: After adding a text-shadow or box-shadow element, which gets it's visual focus via the background color, you will experience noticeable delays while drawing. Therefore, it is recommended to avoid shadows in general. So please check if you are using any of the following CSS3 properties and if so, set them to "none":

code performance shadow

Filter: HTML5/CSS3 M40 Web Technology

M40Q: I am using fading elements in my application and the performance is not satisfying. How can I enhance it?

A: The most performant solution to fade elements is using the opacity value. Display or even visibility are way slower. Therefore, it is recommended to create a class (e.g. op0) which is added to the DOM element when fading in and removed when fading out.

Especially the use of CSS classes has to proved to be significantly faster compared to adding the value to the DOM element directly.

Here is an example:
index-fading-performance.html

code performance fading elements

Filter: HTML5/CSS3 M40 Web Technology

M40Q: How do I create a speed check application in the cloud?

A: We already explained how the speed check application that runs locally on the Smart STB works. In Chapter XXV - Speed Check you will find an application that you can also run in the cloud. This provides the possibility to fully customize and brand your speed check application.

Filter: ABOX42 Showcases JS-API M40 Web Browser runtime Web Technology

M40Q: Is there a detailed description of the template used for the speed check app?

A: In case you need a detailed description of the template which is used for the Speed Check application in the cloud, take a look at Chapter XXV - Part 1, you will find all you need to know.

Filter: ABOX42 Showcases JS-API M40 Web Browser runtime Web Technology

M40Q: What do I have to do to carry through a ping test in the speed check app?

A: Go to Chapter XXV - Part 2 to see how to carry through a ping test in your speed check application in the cloud.

Filter: ABOX42 Showcases JS-API M40 Web Browser runtime Web Technology

M40Q: What do I have to do to measure the download speed of a file in the speed check app?

A: In Chapter XXV - Part 3 we explain how to measure the download speed of a file in the speed check application in details. Go ahead and take a look at it now.

Filter: ABOX42 Showcases JS-API M40 Web Browser runtime Web Technology

M40Q: How do I create a proper result message in the speed check app?

A: When the speed check app actually has some result to display, you will have to create a proper result message. In the last part of Chapter XXV (Part 4) you will find an example of how we do it.

Filter: ABOX42 Showcases JS-API M40 Web Browser runtime Web Technology

M40Q: When does the media player runtime switch the quality of the currently playing stream?

A: There are several cases in which the player will switch the bandwidth:

1. Normally, the player calculates the currently available bitrate it receives. After downloading a couple of chunks it comes up with the total download time and data size accordingly. If the calculated bitrate is much lower than the selected bandwidth, it will decide to switch to a lower quality.

2. When the player tries to download a chunk and does not receive any data anymore (meaning that it may not receive the whole chunk or the forecast that downloads the next chunk - this might cause A/V stuttering), the player will stop to download the current chunk and automatically switches to the lower quality.

3. Let's say the current bandwidth is ok, but there is something wrong with the segment/playlist. In this case the player will switch to another quality to avoid a dead lock. For example, the current bandwidth is 5M/bit and there is a playlist for it, but the playlist is unreachable due to an encoder error. The player then tries to load this playlist first and in case it fails it will automatically switch to the lower quality.

Go to My Own Video – Media Player runtime to start your stream on the box and get the bitrate information and other meta data now.

Filter: ABOX42 Showcases HLS IPTV M40 Media Player runtime

M40Q: How can I create a screencapture from what I am currently looking at?

A: There is an API call that you can use to trigger a screenshot. The image will get saved in the "Developer" folder on the box which you can easily access via FTP. You can also use the Mobile Workbench to do so.

Filter: JS-API M40 Mobile Toolkit

M40Q: Which standards are supported by the platform in regards to multiple audio streams?

A: The platform supports multi audio for HLS and transport streams. In transport streams the audio is changed by setting the audio PID via the JS-API. The available pids can be retrieved with getAudioPIDs(). In the JS-API you will find the right calls to set or get the audio PID(s) of your transport stream. We prepared an example for this case which you can run directly on your Smart STB from within the IDE.

For HLS it's slightly different. The .m3u8 playlist provides the info on the audio settings available. It has to be built in a certain way which we explain in Chapter 22 - Part 1. The media player runtime then provides the functionality to switch the audio via the play() call of the JS-API in combination with set/getConfig. In the case of HLS with multi audio, we also offer an IPTV example in the Developer IDE that shows you how the .m3u8 playlist has to look like and beyond provides a fully working IPTV application example.

Filter: ABOX42 Showcases HLS IPTV M40 Media Player runtime

M40Q: How do I get the exact device model of my Smart STB?

A: The JS-API offers ways to retrieve the exact device model of your Smart STB. In the common class API calls you will find getDeviceModel() which returns the model group, for example "M12". The call getBrandkey then provides the brandkey (e.g. Developer Standard) which holds the information to which sub-model (e.g. M12WM) it is linked.

Filter: common class API JS-API M40

M40Q: Is the n-tv application supported by the platform?

A: Yes, the n-tv Smart TV application is supported by all ABOX42 platforms. Please take a closer look at it by launching it directly on your box via the IDE.

Filter: M40 Smart Solutions Web Browser runtime

M40Q: Is the PC WELT application supported by the platform?

A: Yes, the PC WELT Smart TV application is supported by all ABOX42 platforms. Please take a closer look at it by launching it directly on your box via the IDE.

Filter: M40 Smart Solutions Web Browser runtime

M40Q: Is the stern TV application supported by the platform?

A: Yes, the stern TV Smart TV application is supported by all ABOX42 platforms. Please take a closer look at it by launching it directly on your box via the IDE.

Filter: M40 Smart Solutions Web Browser runtime

M40Q: Is the HbbTV application “heute journal plus” supported by the platform?

A: Yes, the HbbTV application "heute journal plus" is available on our "Smart Solutions - Web Browser runtime" page in the Developer IDE.

Filter: HbbTV M40 Smart Solutions Web Browser runtime

M40Q: Does the platform support DVB subtitles?

A: Yes, the platform supports DVB subtitles. The tsstack3 class API calls handle all related functionality, Chapter XXVI - IPTV package 3 holds the referring example. For detailed information on the API calls please take a look at the documentation.

Filter: IPTV JS-API M40 tsstack3 class API

M40Q: Is there a description of the functionality contained in the “IPTV Example in 3 days”?

A: Yes, we prepared several screencasts for that cause - one for each part. They are available in the Developer IDE, Chapter XX - IPTV Example in 3 days or directly on our YouTube channel.

Filter: ABOX42 Showcases HbbTV IPTV JS-API M40 tsstack1 class API Web Technology

M40Q: How can I find out the URL of the media currently shown on the box?

A: In "Market Proven" you will find "My Own Video - Media Player runtime" where you can play any video URL. In case you want to find out the URL of a video that is currently playing, use the "Get current URL" feature to retrieve the URL you are looking for.

Filter: ABOX42 Showcases JS-API M40 Media Player runtime REST-API

M40Q: I have installed ABOX42 MobileRCU on my Android Mobile and configured the device serial number correctly, but when i select a video file available in the DLNA tab, it shows “No DRM selected”. Can you please let me know how to rectify this error?

A: Did you make sure that the „Mobile Viewer“ was running on the M40 as well?
If not, please try again with the „Mobile Viewer“ running simultaneously on the Smart STB while selecting content in the MobileRCU app. For more details please see Chapter XV in the Developer IDE.

Filter: ABOX42 Mobile App DLNA/UPnP M40 Mobile Toolkit

M40Q: Is Dolby Digital supported by the platform?

A: Yes, the platform is prepared to support Dolby Digital up to 5.1. This feature is enabled for testing in the "Developers Standard" brand but requires a separate license clearing for your own brand. Please take a look at our compliance page to find a dolby sample stream. In case you have further questions, please contact our ABOX42 Sales Department.

Filter: M40 Media Player runtime

M40Q: Is there any rule which disables the keydown/keyup/keypress events when a button is held down continuously?

A: Yes, there is a possibility to kill all further keypress events but the initial one when a button on the RCU is pressed continuously. Take a look at the code below:

key blocker

Filter: HTML/CSS M40 Web Technology

M40Q: Is there any way to enable continuous input on a button, for example holding down the OK button?

A: Yes, there is a possibility to track when a button is held continuously and to assign a functionality to it. Here is some example code for that case:

key hold functionality

Filter: HTML/CSS M40 Web Technology

M40Q: What does the “Fullscreen” aspect ratio do in the ABOX42 settings app?

A: Fullscreen mode just scales the video to the full screen. 4:3 mode changes the video output regarding "width:height" to 4:3. For example, if the stream's original aspect ratio is 4:3, and the setting is 4:3, nothing will happen. In case the setting is 16:9, the video will be scaled accordingly. Because we usually have a 16:9 screen for output, most of the time nothing will happen when switching to fullscreen in the settings app. Only if the content played is not 16:9, it will get scaled. And if the output screen is 4:3, everything else but 4:3 content will get scaled in fullscreen mode. Take a look at our Compliance - Media Player runtime or check out how to create your own settings application in the Developer IDE.

Filter: M40 Media Player runtime

M40Q: How does the Network error page application work?

When redirecting to a different page, there is the possibility that a 404 error occurs. In Chapter XXVII we show you how the application works which handles such use cases.

Filter: ABOX42 Showcases M40 Web Development Web Server runtime

M40Q: How does the IPTV package 3 work and what are the main features?

A: The main feature of IPTV package 3 is the support of DVB subtitles. You can launch or download the application on the summary page of Chapter XXVI. The main differences to the other IPTV packages are described in Part 1.

Filter: ABOX42 Showcases HTML5/CSS3 IPTV JS-API M40 tsstack3 class API

M40Q: I can’t access the Developer IDE with my credentials and the reset password function doesn’t work either what should I do?

A: In case you can't access the Developer IDE with your credentials as usual, please try to reset your password by clicking on "Register Lost Password". In case you don't receive an email, please contact us.

Filter: M40 Web Technology

M40Q: How do I use the browser tabs to achieve a DVB-like Red Button experience?

A: In Chapter XXVIII - Red Button, we show you how to use the browser tabs to achieve a DVB-like experience. You can download the source code on the summary page, Part 1 shows you how it works.

Filter: ABOX42 Showcases HbbTV IPTV latest M40 Web Browser runtime

M40Q: How do I start the original stream when the user returns from a red button app?

A: Whenever the user exits the red button application or the content running in the red button application ends and the user returns to the main page, the video URL carrying the channel's stream needs to get restarted. In part 2 of chapter 28 we give you an insight on this functionality.

Filter: HbbTV IPTV M40 Web Browser runtime

M40Q: Where does showRedButton() get called and how does it work?

A: This is explained in part 3 of Chapter 28 - Red Button. It teaches you how to open a red button app inside a tab in detail.

Filter: ABOX42 Showcases HbbTV IPTV M40 Web Browser runtime

M40Q: How do I check if stopping a video and returning from the red button really restarts the original video?

A: This question rounds up chapter 28 and helps you complete the last step towards your red button application in a browser tab. Take a look at Part 4 now.

Filter: ABOX42 Showcases HbbTV IPTV M40 Web Browser runtime

M40Q: How can I update my local application without needing a new firmware?

A: When running a local application on the Smart STB, you always face the challenge of how to provide updates. Normally, to update the local application, you need a new firmware. But since we all know how much effort that means, we should look into alternative methods. Chapter XXIV - App Installer shows you how create an application that takes care of the updates for your local application.

Filter: M40 Web Server runtime

M40Q: How do I install the app installer for my local application?

A: In Chapter XXIV - Part 1 we show you how you can download an application from a server to the root folder of your application, which can both carry through the initial download from the server or update to a newer version (if a newer version exists).

Filter: M40 Web Browser runtime

M40Q: How does the local updater application example from Chapter 24 work?

A: We provide an example application which automatically updates itself, when running locally on your ABOX42 Smart STB. Please find all details and documented code in the Developer IDE, Chapter XXIV - Part 2.

Filter: M40 Web Browser runtime

M40Q: What are the test controllers for the app installer in Chapter 24?

A: There are 2 test controllers available in Chapter XXIV - Part 3, the client test controller and the server test controller. You can simply launch them by pressing the "View On Box" button in the Developer IDE. Their role and functions are explained in details as well.

Filter: M40 Web Browser runtime

M40Q: How do I copy a select box to the top of the page?

A: In Chapter VI - Part 2 you can find an instruction on how to copy select boxes. Go ahead and take a look at the tutorial video now.

Filter: ABOX42 Showcases M40 UI Elements

M40Q: Is sliding window supported by the platform?

A: Yes, the sliding window feature is supported by the platform. There is a separate chapter in the IDE which handles the topic of the sliding window and also provides an example for you to download.

Filter: ABOX42 Showcases JS-API M40 Media Player runtime

M40Q: What is the basic idea of the sliding window application and what are the variables used in the example?

A: In Chapter XXIX - Sliding Window you can find all the information you need and in Part 1, the basic idea and the variables are explained in details.

Filter: ABOX42 Showcases JS-API M40 Media Player runtime

M40Q: How can I disable the back button?

A: In case you want to disable the back button or any other button, you will have to interrupt the default event with the JavaScript method "event.PreventDefault()" which is widely used.

Filter: JS-API M40 Web Browser runtime Web Development

M40Q: How can ABOX42 help us to launch the Smart STB directly into our application?

A: ABOX42 will assist you in the following way to get your application running right after the booting process:

- You will have provide access for us via port forwarding on PORT 22
- We log onto your box via SSH
- We change the start URL for your Smart STB
- ...and you're good to go


Note: In case you perform a reset of the Smart STB, the settings will be changed back to default.

Best practice: Use a redirect server so you can change the URL on your side without needing our assistance.

Filter: M40 Smart STB Web Development

M40Q: How do I synchronize the time of my Smart STB right after booting?

When the Smart STB is booting, it will try to connect to the NTP server in order to set the system time correctly. However, your application might need the time to actually start at all. We prepared an example that shows you how to cover exactly this use case in Chapter XXXI. It then makes no difference whether the initial time setting is done by via NTP or within your application.

Filter: M40 Smart STB

M40Q: Are the media states also available for HTML5 video objects?

There are different media states you can work with when making use of ABOX42's JS-API. These media states are not available for HTML5 video objects, because they are decoupled from the media stb object.

Filter: HTML5 M40 Media Player runtime

M40Q: How do I copy a button to the middle of the page?

In Chapter VI - Part 3 we show you how to copy a button to the middle of the page when working with UI Elements. There is a screencast available on YouTube for this part now. Go check it out.

Filter: ABOX42 Showcases HTML/CSS M40 UI Elements

M40Q: Can I start Live TV HLS playback with a custom offset segment?

A: The "setconfig" JS-API call lets you specify different settings for your play out. For example, you can set the offset segment for live TV HLS playback. For demonstration, we prepared a small sample application so you can test this feature of the platform in the JS-API documentation in the Developer IDE.

Filter: HLS JS-API M40

M40Q: Where can I find an example for the QoS (Quality of Service) JS-API calls?

A: We prepared a separate Chapter for the Quality of Service calls. As you can find the full API documentation in the Web Browser API. A nice example with some visual animation for the fullscreen transition is filed in Chapter XXXII - QoS.

Filter: JS-API latest M40 qos class API

M40Q: How can I display the quality information of the current stream?

A: You can use QoS calls to get the number of stalls, the amount of transferred data, the download and media bitrate. In Chapter XXXII - Part 1 you can find a detailed instruction.

Filter: JS-API latest M40 qos class API

M40Q: How can I turn the HDMI output on and off?

A: There are JS-API calls which let you control the HDMI port. In the API documentation, you will find a code sample for the enableHDMIOutput call.

Filter: JS-API M40 qos class API

M40Q: How can I check the HDMI output state?

A: There is a JS-API call which lets you check the HDMI output state. In the API documentation, you will find a code sample which shows you how to use this call - look for IsHDMIOutputEnabled.

Filter: JS-API M40 qos class API

M40Q: Is it possible to change the behavior of the Home button?

A: In case you want to disable the home button or any other button, you will have to interrupt the default event with the JavaScript method "event.PreventDefault()" which is widely used. If you want to change the behavior, you will have to query the home button and according to the query execute another action.

Filter: JS-API M40 Web Development

M40Q: How can I achieve a split screen for the TV stream and the teletext?

A: For most users, it is standard usage to have the teletext and the actual TV image in a split screen. When combining standard teletext and an IPTV stream in an application on the Smart STB, this functionality needs to get implemented. Chapter XXXIV - Splitscreen for Teletext shows you how to do exactly that - as usual with a documentation and code sample for you to download or you can start it on your Smart STB from within the IDE in the well known manner.

Filter: ABOX42 Showcases HTML/CSS IPTV M40

M40Q: What commands are unique for changing the video dimensions in a TV/Teletext split screen?

A: The second part of Chapter XXXIV - Splitscreen for Teletext gives you a detailed description what commands are needed to achieve a split screen view. As usual, Part 2 also includes a code documentation and a code sample for you to download. This part is needed to complete chapter 34.

Filter: ABOX42 Showcases HTML/CSS IPTV M40

M40Q: How do I start an HLS stream with a specific bitrate?

A: If your use case demands that you need to start your HLS stream with a specific bitrate, there is a property available for the "media.play" call that lets you set the minimum or maximum bandwidth. As usual, we provide an example application for this topic. Please see Chapter XXXV - Testing differnt bitrates for details, download and documentation.

Filter: HLS HTML/CSS JS-API latest M40 Media Player runtime

M40Q: How can I change the streams and bitrates in the example of chapter 35?

A: In Chapter XXXV - Testing different bitrates we show you how to set and test different bitrates for your HLS playout. In case you want to modify the streams and bitrates in the example application, take a look at Part 2 - How can I change the video URLs and the bitrates?.

Filter: HLS HTML/CSS JS-API latest M40 Media Player runtime

M40Q: How can I control the color of the LED lights of the Smart STB?

A: You can control the LEDs of the front panel with the help of our JS-API in the Developer IDE. In the common class API you will find 2 calls: getLedStatus and setLedStatus

Filter: JS-API M40 Smart STB

M40Q: Is the „KiKA Videos“ app supported by the platform?

A: The well known German TV channel for kids "KiKA" redesigned their "KiKA Videos" application. The latest version of it is available through our "Smart Solutions - Web Browser runtime" page where you can find different OTT applications which you can launch on your Smart STB from within the Developer IDE.

Filter: M40 OTT Smart Solutions

M40Q: How does the Mobile RCU in Chapter 37 exactly work?

A: The functionality of the Mobile RCU in Chapter XXXVII is, of course, described in detail in the different parts included in the chapter. Go ahead and take a closer look at Chapter XXXVII - Part 2 to get started.

Filter: latest M40 Mobile Toolkit REST-API Smart RCU

M40Q: How do I use the Mobile RCU in Chapter 37?

A: In Chapter XXXVII - Mobile RCU we show you to create a fancy tool that lets you control your Smart STB. Run it on a web server or locally on the Smart STB. In Chapter XXXVII - Part 1 we show you how to use it.

Filter: M40 Mobile Toolkit REST-API Smart RCU

M40Q: How does the horizontal navigation in the IPTV example work?

A: Please take a look at Chapter XX - Part 5 to see how the horizontal navigation works. We also provide a hands-on screencast that shows you how to do it.

Filter: ABOX42 Showcases HTML/CSS IPTV M40

M40Q: How does dvb_use_channellist in the IPTV Example work?

A: Please take a look at Chapter XX - Part 6 to see how to use dvb_use_channellist. We also provide a hands-on screencast that shows you how to do it.

Filter: ABOX42 Showcases HTML/CSS IPTV M40

M40Q: How does the localization in the IPTV Example work?

A: A: Please take a look at Chapter XX - Part 7 to see how the localization works. We also provide a hands-on screencast that shows you how to do it.

Filter: ABOX42 Showcases HTML/CSS IPTV M40

M40Q: What do the key handlers and variable names in the IPTV Example mean?

A: A: Please take a look at Chapter XX - Part 8 to see what the key handlers and variable names mean. We also provide a hands-on screencast that shows you how to do it.

Filter: ABOX42 Showcases HTML/CSS IPTV M40

M40Q: How do I play and record video streams on an external storage device?

A: In Chapter XXXVI - PVR we show you how to play and record video streams on an external storage device, for example a USB stick. Chapter 36, Part 1 is the one you want to start with. Go ahead and take a closer look.

Filter: ABOX42 Showcases M40 Recording class API Storage class API

M40Q: Does the platform support recordings to an external storage device?

A: "Chapter XXXVI - PVR" in the Developer IDE will show you how to record a real-time playing stream to an external USB storage device. In addition, we'll show you how to add a player bar with percentage indication when playing the recorded video. As usual, the resources are available on the chapter's summary page.

Filter: ABOX42 Showcases M40 Recording class API Storage class API

M40Q: What are storage class API calls and where can I find them?

A: The storage class API calls take care of the storage capabilities of the Smart STB, as the name already indicates. To see all available API calls, please visit the Developer IDE and take a look at the "Storage class API extension".

Filter: JS-API M40 Storage class API

M40Q: What are recording class API calls and where can I find them?

A: The recording class API calls take care of the recording capabilities of the Smart STB, as the name already indicates. To see all available API calls, please visit the Developer IDE and take a look at the "Recording class API extension".

Filter: JS-API M40 Recording class API

M40Q: What are PVR class API calls and where can I find them?

A: The PVR class API calls take care of the PVR capabilities of the Smart STB, as the name already indicates. To see all available API calls, please visit the Developer IDE and take a look at the "PVR class API extension".

Filter: JS-API M40 PVR class API

M40Q: What are Timeshift class API calls and where can I find them?

A: The timeshift class API calls take care of the timeshift capabilities of the Smart STB, as the name already indicates. To see all available API calls, please visit the Developer IDE and take a look at the "Timeshift class API extension".

Filter: JS-API M40 Timeshift class API

M40Q: How can I setup and use a Charles HTTP Proxy?

A: In Chapter 38 we show you how to set up and use a Charles HTTP Proxy in details. This is very helpful when debugging, for example. Please visit the Developer IDE and see the summary page for further details.

Filter: M40 Smart STB summary Web Development

M40Q: Is there a key code test for the X15 RCU?

A: Yes, there is a key code test available for the X15 RCU. Please see Chapter XVII in the Developer IDE.

Filter: ABOX42 Platforms latest M40 Smart STB

M40Q: Is it possible to set the DRM type of my stream with the setconfig() call?

A: The setconfig() call provided by the ABOX42 JS-API provides several possibilities to manipulate the playout. For example, you can set the DRM type to enable the streaming of your encrypted content. Take a look at the JS-API documentation in the Developer IDE.

Filter: ABOX42 Showcases HLS JS-API latest M40 media class API Media Player runtime

M40Q: How do I check if installing a new version really works in the App Installer?

A: In Chapter XXIV - App Installer, Part 5 you will find an instruction that shows you how to check whether installing a new version actually works by comparing the files that got installed with the existing ones.

Filter: ABOX42 Showcases JS-API latest M40 Web Browser runtime Web Server runtime

M40Q: What are the 2 different update modes in the App Installer?

A: In Chapter XXIV - App Installer, Part 6 you can learn about the two different update modes of the App Installer application. This part concludes Chapter XXIV - App Installer.

Filter: ABOX42 Showcases JS-API latest M40 Web Browser runtime Web Server runtime

M40Q: What can I use the setConfig() call of the JS-API for?

A: The media class API holds the setConfig() call. In combination with media.play() you can easily manipulate the playout of your stream. For example you can set the maximum bitrate or the DRM type. Check out more details in the Developer IDE.

Filter: JS-API latest M40 Web Technology

M40Q: I see an error while trying to install the firmware, what does it mean?

A: There are several error events that might occur during the installation process of the Smart STB.

[errors]

# download errors
900=Download failed (E900)
901=Download failed (E901)
902=Download failed (E902)
903=Download failed (E903)
904=Download failed (E904)
905=Download failed (E905)
906=Download failed (E906)
907=Download failed (E907)
908=Download failed (E908)
910=Decryption failed (E910)
911=Decryption failed (E911)
912=Decryption failed (E912)
913=Download failed (E913)
914=Download failed (E914)
915=Download failed (E915)
916=Download failed (E916)
917=Decryption failed (E917)

# verify errors
920=Verification failed (E920)
921=Verification failed (E921)
922=Verification failed (E922)

# version list errors
940=Error loading list of versions (E940)
941=Error loading list of versions (E941)
942=Error loading list of versions (E942)
943=Error loading list of versions (E943)
944=Error loading list of versions (E944)
4455=There is no update package available (E4455)

Filter: ABOX42 Platforms latest M40 Smart SDK Smart STB

M40Q: Is the WeatherNation TV app supported by the platform?

A: Yes, the WeatherNation TV application is supported and provides local weather forecasts tailored for you. This free and easy to use award-winning app streams live weather newscasts from certified meteorologists, provides your local weather data, local weather alerts (U.S. only) from NWS (National Weather Service) and more.
It’s weather 24/7/365. Get started and get weather aware. Get the only Weather app with live streaming and weather news stories.

The latest version of it is available through our "Smart Solutions - Web Browser runtime" page where you can find different OTT applications which you can launch on your Smart STB from within the Developer IDE.

Filter: latest M40 OTT Smart Solutions

M40Q: Why doesn’t the event handler process the first event when the screensaver is active?

A: Please be aware that when the screensaver is active, the first key event is not processed by the eventhandler because it deactivates the screensaver first. You can find more info about the screensaver related API calls here.

Filter: ABOX42 Showcases latest M40 Web Browser runtime

M40Q: How do I show the HTML of a tab so a video plays in the background?

A: From the navigation between tabs you’re just a few steps away from showing different videos in different tabs. These videos can have a small size, or they can be large. Take a look at Chapter XVIII - Part 2 to see how to display a video in different tabs.

Filter: browser class API latest M40 Web Browser runtime