In this article, we will be discussing about the list of to-dos that the developer should have in mind when developing video applications for the smart TV platform. This list of things, when maintained, provides a seamless video application experience to the user. Samsung smart TV supports various streaming containers and decoders for audio and video right out of the box. When it comes to video MP4 and ASF formats are supported. The latest TV models provide support for much more video formats. There is also support for HAS (HTTP Adaptive Streaming) for networks with a slower connection. With all these inbuilt formats, the developer can develop applications that provide streaming video support for a wide variety of formats.
The following section lists out the points that the developer has to keep in mind when developing video applications for the Samsung smart TV platform.
Video tag in configuration
The application configuration file (config.xml) is the most import file in a smart TV application. The application manager parses this file and understands about the application and acts accordingly. This is the place where the developer provides info to the application manager that the current application is a video application. The developer can mark the application as a video application by marking the following tags
- fullwidget – y
- type – user
- movie – y
The above three values indicate the tag names and their corresponding values at the right. These three tags should be set to the above corresponding values. On parsing these values, the application manager can understand that it is a video application. Most of these values will be created by default when we create a new project. If there are any values mussing, we have to create them manually in the configuration file.
Setting screensaver off when playing video
The smart TV has a screen saver feature, which comes into effect when the TV is not being used for a certain amount of time. This time interval or the timeout interval can be configured by the TV user. When playing a video application, the user interaction will not be there (to the maximum level). Most of the time the actions that take place during the playing of a video file is adjusting the volume, changing effects etc, assuming that the user is not changing the video or exiting the application. So when the user is viewing video, assuming there is no interaction, the screensaver shows up. This will hinder the user experience. The developer has to make sure that, the screensaver is disabled, when the video contents are playing on the screen.
Absolute paths for remote video URL
While playing a video file in an application, it is required to provide the path of the video file to the player to download the contents and play. The Player (AVPlayer) needs the absolute path of the video sources to stream contents from them. This is needed because, instead of the browser environment, a native plugin will decode the video URL. If the video file is from within the application, then the developer can go with providing the relative path names.
Seamless video experience
The video application should be able to provide a seamless video experience. The basic video functions like play, pause, stop, skip etc should be accessible in a single click. Accessing the video functions when the video application is running either in the windowed mode or full screen mode. The application should also minimize to the background in a smooth fashion, when the user wants to and regain back when it is reopened. The user should also be able to navigate between various video files in a seamless manner.
Showing video metadata
The video application also should be able to show the metadata information related to the currently playing video file. This means that the user has got a clear idea on which media file is playing currently. The information should be displayed in a way that is not disturbing the user. The user should also have the choice to hide or show the metadata like information, sub titles etc.
The above given points are the common points that the developer should keep in mind for video applications. The requirements may increase based on the type of domain the video application is applied to. The above given points apply to general purpose video applications. If the above requirements are met, the user will feel a standard seamless video experience in a smart TV. In the next article we will be discussing about how to set the screen saver on and off based on the developer commands. We will discuss it based on the context of a video application.