IPTV - EPG Building for beginners

Mick

Administrator
Staff member
Administrator
Joined
Jan 19, 1999
Messages
32,154
Reaction score
9,223
I found some more information on the net regarding building the EPG that will deliver content if you was to build your own video server (IPTV server).

This is more of a walkthrough on the EPG module itself rather than a guide on how to do it now.

It makes good reading for those thinking about building an IPTV Server at some stage.

Mick

-----------------------------------------------

Design and Implementation of IPTV systems EPG module

Introduction
IPTV network TV, is an emerging network applications, the use of broadband Internet infrastructure as the main terminal to the home TV, Internet Protocol (IP), including television programs, including a variety of digital media services and its value-added services technology. IPTV biggest advantage is that the "interactive" and "on-demand viewing, completely changed the characteristics of the traditional one-way TV broadcast [1]. It appears great to meet the user (the user is installed IPTV client consumers, customers are IPTV service providers and operators) appreciate the demand for online video.

Very rapid development of IPTV, international, UT Starcom, Microsoft, Siemens, Alcatel, Hewlett-Packard, the domestic Huawei, ZTE and grand, and other manufacturers have put into the development and research of IPTV. Countries have already IPTV commercial operating system, the UK Video Networks as early as 1999 on the launch of IPTV service. The domestic Up to now, the first IPTV has been in Shanghai for commercial application, and China Telecom in five provinces and cities IPTV pilot, IPTV has broad prospects for development in the domestic and international.

In order to provide "interactive" and "on-demand viewing, the system needs to provide interface and user interaction for users to browse the system provides program information and select the program you want to listen to. IPTV system provided by the EPG (Electronic Program Guide electronic program guide) server set interface. EPG is a current and future program information, interactive program schedule, by operating the remote control to navigate [2].The EPG module in the IPTV system is critical, it is the portal of the IPTV system. EPG to provide users with an easy-to-use, friendly interface, you can quickly access a program. Accordingly, users of the IPTV system depends largely on the EPG. The easy-to-use, fast, stable, beautiful interface is the primary objective of the EPG.


IPTV system structure model

Figure 1 is a an IPTV system structure model, this model has practical application in some cities. In this model structure diagram, the IPTV system is divided into two parts: the background section and the user access part. The background of some of the main provider of media content management, user management, server management of the entire system, user authentication and billing management. User access to provide users with video services and other services, according to city size can be divided into multiple regions, each region regional media base station and the EPG server.

User set-top box [3] [4] [5] plus a TV or a PC as a terminal, watch through ADSL or cell broadband system stored programs or live TV programs. Set-top box is a simple function of the computer, CPU, memory, network connection equipment, decoder hardware and operating system and application software, video signal received via the broadband IP network transmission over signal is displayed on the TV after treatment out. Use the set-top box functionality provided by the user through the manipulation of the remote control.

The user is divided into a plurality of regions, each media server deployment of a plurality of regions, respectively, and the EPG server, video services and interactive user interface provided by the media server and the User Area EPG server. This deployment has the characteristics of easy expansion, suitable for large-scale deployment. Increase an area will increase by a regional media base station and the EPG server, the background part and other regions will not be affected. At the same time, most of the data flow of the user are concentrated in Area alleviate the burden on the backbone, and the collapse of the system of a single region does not affect the other regions.

The system works as follows: 1 media source processing into the system through the media processing module defined format, is stored in the main media base station by the background media distribution management module is responsible for how these programs are distributed to each of the following regions The media base stations. (2) At the same time, information on the program is issued to the EPG server for EPG display to the user. The ? user boot after a back-end authentication to log on to the EPG server, get the system program information. (4) When the user to select a program to watch, EPG program information and user information is sent to the background of some of the background of the user management section to determine the user is able to enjoy the show, if you can, the user's set-top box to send to the media base stations in the region the request of the broadcast program. ? finished playing, the set-top box to send a request to deduct the charges in the background, while re-directed to the EPG server, the user can continue to browse the program and enjoy the show.

Taking into account the IPTV in the country is still in the development stage, a region the user is not a lot. System design as an area to support up to 3000 users, the number of users accessing the EPG server at the same time does not exceed 500. When the increase in the number of users, you can use the the EPG server cluster. In Figure 1, each zone deployment of a main EPG server for system stability, also deployed an alternate EPG server.


EPG module design

See from IPTV system in China to deploy applications, EPG module changes in demand in the whole system, the fastest module, and is displayed directly to the customer module, to a large extent determine whether the customer using our system. Module, the main consideration in the design of the overall framework of the following principles:

(1) a clear structure, and rapid development. Changes in customer demand is very fast, in the design, we must first consider the new interface can be developed in accordance with the requirements of customers in the shortest possible time, clearly structured design is conducive to rapid development.

(2) easy maintenance. Allows customers to some code in the EPG or modify some configuration changes in the case of the the EPG code and is not very understanding, without affecting the operation of the EPG.

(3) easy customization. Customers may require production EPG. Therefore, the design should take into account to quickly and simply so that customers understand the EPG of the production process in a relatively short period of time to master production EPG.

(4) performance to meet the design requirements. To meet design performance requirements, the main consideration server optimization, database optimization.

(5) The interface is simple and beautiful, good scalability and openness. Easy to support new business, and is compatible with different manufacturers of set-top boxes.
EPG achieve the main choice, local applications and interactive implementation of the two programs [7]. Domestic and foreign EPG design is basically for digital TV EPG generally use local applications. Local programs require a higher set-top box hardware, and user interaction is not so good. IPTV is a highly user interactive system, the design and implementation of suitable second solution.

This model EPG interactive program, implemented by the EPG server to a set-top box HTML page. The program information stored in the database, the server is retrieved from the database of program information, in the form of HTML pages available to the set-top box, STB parse listing is presented to the user. In this way, for PC users, the client comes with a browser to browse. On the use of set-top box users, set-top box to be able to parse the HTML page.

In this article, focuses on the set-top box EPG design, specific Linux + Apache + MySQL + PHP program framework design thinking based on the MVC pattern.


3.1 MVC design pattern

Model - View - Controller (Model-View-Controller) is a classic software design patterns, it uses the idea of ??partition system is divided into three modules, each module duties, as shown in Figure 2.

(1) model. Responsible for maintaining the data and provide data access methods. Models purely functional interface, that is, a series of public methods. By the open method, you can get all the features of the model.

(2) view. Used to display the data model. Can have multiple views in a MVC model.

(3) controllers. The user can change the state of the model view, this update is accomplished by the controller. The controller is responsible for calling the model change the value of the method to change the state of the model, at the same time, the controller will notify all registered view to refresh the data display.

MVC architecture to achieve a data separation can easily use multiple views to display multiple sets of data, allowing the system to easily support new client types, can express the user interaction. From domestic situation, most customers are not the same on the display interface requirements, a small amount of different processing logic. MVC pattern can easily respond to changes in customer demand, and can easily provide different display interface to allow customers to choose their own.


3.2 concrete realization

Designed and MVC pattern, taking into account the user's terminal equipment for set-top boxes, need some special treatment related to the set-top box on the client, the server processes the request of the implementation process is divided into five levels, as shown in Figure 3.

(1) page presentation layer. Responsible for the system program information display.

(2) the client process layer. Responsible for requesting and request processing before the issue of special treatment after the results are returned. Here to join the client process layer is mainly because the current user's terminal set-top boxes, set-top box is not very strong function of the browser. In user to another page or return to the original page EPG do some processing, such as recording the position of the cursor, to initialize the cursor position.

(3) The request and response layer. Responsible for the request arrives at the server and return the results to the client before processing.

(4) processing logic layer. Is responsible for processing the customer's request.

(5) Data Access Layer. Responsible for providing access to data in the database interface.
To Hot Videos instance the idea of ??using the MVC pattern processing the request process. Processing is displayed the The Hot Videos request process is shown in Figure 4.

The process is as follows:
(1) User Home Click latest film "client control layer processing (Close Home advertisements broadcast video), the request is submitted to the server for processing.

(2) Request and Response layer begins processing the request, save to the previous state, and initializes several variables (such as take data class, save for a listing of all the variable information).

(3) logic layer starting position and number of the popular movie database.

(4) call the data access layer interface is removed from the database inside Hot Videos (Program Name, Price, Profile, posters Image Name).

(5) logic processing layer to get to the data conversion, the converted data is stored in a variable, this variable to be passed to the results page.

(6) request and response layer calls the results page and the control of the client code to generate the HTML code.

(7) set-top boxes resolution passed over the HTML page, initialize the cursor position, the popular movie information displayed to the user.

Development defined in the design documents prior to the predefined the page presentation layer and logic layer, logic layer and data access layer interface. Each part of the development staff need only be concerned about their part, the other layer provides the interface to call the other layers. This part of the development work in parallel, greatly improving the speed of development.

Data access layer and logical processing layer can easily write unit tests to test their own code from other layers of code, to a large extent, improve the quality of the software. The late maintenance is very convenient, if the change in demand, as long as the level where code changes to changes in demand, do not care about the other layers of code if you want to change.

The coding of each page of the EPG module follow this rule. We offer our customers an EPG Reference Manual, is the use of the JavaScript function to take data interface functions, and client processing layer. Customers only need to master the production process and the use of a page manual function call, and has a certain level of programming, you can independently within a very short time to write the EPG.


3.3 EPG Performance Test

EPG performance in order to test whether the original design requirements, using the LoadRunner testing tool EPG server performance testing, test the most important indicator is the different number of concurrent users, transaction response time, it is the most important indicator of server performance.

The test hardware environment: CPU Intel (R) Pentium (R) 4 2.40GHz, 1GB of memory, network card 1GB / s. Software environment: operating systems RedHat 9.0, Apache 2.0.50, MySQL 4.0.21, PHP 4.3.9RC3-dev, Squid 2.5 STABLE1.

LoadRunner simulation tests the number of concurrent users of 220,500 test EPG server's transaction response time and transaction completion. Server response time and transaction completion of the test data as shown in Table 1 and Table 2 above. From the test data, when the number of concurrent users is 500, there is no transaction fails, the average response time of less than 3 seconds. For users, this time is acceptable.

The description of this design approach to the development of EPG server's performance has reached a pre-requirement. Can be seen from the above testing and analysis, using the above mentioned design method development EPG reached the pre-design principles.


Conclusion

This paper describes the design and implementation of an IPTV system model and its EPG module also proved our design method of rapid development and easy maintenance, facilitate the expansion of the EPG is correct and feasible in practical applications. With the development of IPTV and the increase of the number of users, server performance and EPG personalized more in-depth study.

 
Last edited:
Back
Top