1、 f International Telecommunication Union ITU-T J.280TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (03/2013) SERIES J: CABLE NETWORKS AND TRANSMISSION OF TELEVISION, SOUND PROGRAMME AND OTHER MULTIMEDIA SIGNALS Digital transmission of television signals Digital program insertion: Splicing applicati
2、on program interface Recommendation ITU-T J.280 Rec. ITU-T J.280 (03/2013) i Recommendation ITU-T J.280 Digital program insertion: Splicing application program interface Summary The splicing application program interface (API) focuses on the single server, single splicer configuration. This version
3、of the Recommendation increases the value of Revision_Num from 1 to 2. History Edition Recommendation Approval Study Group Unique ID*1.0 ITU-T J.280 2004-03-15 9 11.1002/1000/7204-en 2.0 ITU-T J.280 2005-12-14 9 11.1002/1000/8668-en 3.0 ITU-T J.280 2013-03-01 9 11.1002/1000/11829-en _ *To access the
4、 Recommendation, type the URL http:/handle.itu.int/ in the address field of your web browser, followed by the Recommendations unique ID. For example, http:/handle.itu.int/11.1002/1000/11830-en. ii Rec. ITU-T J.280 (03/2013) FOREWORD The International Telecommunication Union (ITU) is the United Natio
5、ns specialized agency in the field of telecommunications, information and communication technologies (ICTs). The ITU Telecommunication Standardization Sector (ITU-T) is a permanent organ of ITU. ITU-T is responsible for studying technical, operating and tariff questions and issuing Recommendations o
6、n them with a view to standardizing telecommunications on a worldwide basis. The World Telecommunication Standardization Assembly (WTSA), which meets every four years, establishes the topics for study by the ITU-T study groups which, in turn, produce Recommendations on these topics. The approval of
7、ITU-T Recommendations is covered by the procedure laid down in WTSA Resolution 1. In some areas of information technology which fall within ITU-Ts purview, the necessary standards are prepared on a collaborative basis with ISO and IEC. NOTE In this Recommendation, the expression “Administration“ is
8、used for conciseness to indicate both a telecommunication administration and a recognized operating agency. Compliance with this Recommendation is voluntary. However, the Recommendation may contain certain mandatory provisions (to ensure, e.g., interoperability or applicability) and compliance with
9、the Recommendation is achieved when all of these mandatory provisions are met. The words “shall“ or some other obligatory language such as “must“ and the negative equivalents are used to express requirements. The use of such words does not suggest that compliance with the Recommendation is required
10、of any party. INTELLECTUAL PROPERTY RIGHTS ITU draws attention to the possibility that the practice or implementation of this Recommendation may involve the use of a claimed Intellectual Property Right. ITU takes no position concerning the evidence, validity or applicability of claimed Intellectual
11、Property Rights, whether asserted by ITU members or others outside of the Recommendation development process. As of the date of approval of this Recommendation, ITU had not received notice of intellectual property, protected by patents, which may be required to implement this Recommendation. However
12、, implementers are cautioned that this may not represent the latest information and are therefore strongly urged to consult the TSB patent database at http:/www.itu.int/ITU-T/ipr/. ITU 2014 All rights reserved. No part of this publication may be reproduced, by any means whatsoever, without the prior
13、 written permission of ITU. Rec. ITU-T J.280 (03/2013) iii Table of Contents Page 1 Scope 1 2 References. 1 3 Definitions 1 3.1 Terms defined elsewhere 1 3.2 Terms defined in this Recommendation . 1 4 Abbreviations and acronyms 2 5 Conventions 3 6 Requirements 3 6.1 System block diagram 3 6.2 Arbitr
14、ation priorities . 5 6.3 Abnormal terminations . 6 6.4 Splicing requirements . 7 6.5 Communication 7 7 API syntax 7 7.1 Splicing_API_Message syntax . 7 7.2 Conventions and requirements . 9 7.3 Initialization 10 7.4 Embedded cueing messages . 11 7.5 Splice messages 12 7.6 Alive messages . 16 7.7 Exte
15、nded data messages . 17 7.8 Abort messages . 18 7.9 Abort_Request message . 18 7.10 Abort_Response message . 18 7.11 TearDownFeed_Request message 18 7.12 TearDownFeed_Response message . 19 7.13 Requesting configuration settings 19 7.14 General_Response message 19 8 Additional structures . 19 8.1 Ver
16、sion . 19 8.2 Hardware_Config . 20 8.3 splice_elementary_stream( ) . 23 8.4 time( ) field definition 24 8.5 splice_API_descriptor( ) field definition 25 9 Time synchronization . 32 10 System timing . 33 10.1 DPI splice signal flow 33 iv Rec. ITU-T J.280 (03/2013) Page 10.2 DPI splice initiation time
17、line 34 Appendix I Result codes . 36 Appendix II Example use of Logical_Multiplex type 0x0006 and the port_selection_descriptor( ) 39 II.1 Informative example 1 39 II.2 Informative example 2 39 Appendix III Frame rate codes 40 Bibliography. 41 Rec. ITU-T J.280 (03/2013) 1 Recommendation ITU-T J.280
18、Digital program insertion: Splicing application program interface 1 Scope This application program interface (API) creates a standardized method of communication between servers and splicers for the insertion of content into any MPEG-2 output multiplex in the splicer. This API is flexible enough to
19、support one or more servers attached to one or more splicers. Digital program insertion includes content such as spot advertisements of various lengths, program substitution, public service announcements or program material created by splicing portions of the program from a server. 2 References The
20、following ITU-T Recommendations and other references contain provisions which, through reference in this text, constitute provisions of this Recommendation. At the time of publication, the editions indicated were valid. All Recommendations and other references are subject to revision; users of this
21、Recommendation are therefore encouraged to investigate the possibility of applying the most recent edition of the Recommendations and other references listed below. A list of the currently valid ITU-T Recommendations is regularly published. The reference to a document within this Recommendation does
22、 not give it, as a stand-alone document, the status of a Recommendation. ITU-T H.222.0 Recommendation ITU-T H.222.0 (2012) | ISO/IEC 13818-1:2012, Information technology Generic coding of moving pictures and associated audio information: Systems. ITU-T H.262 Recommendation ITU-T H.262 (2012) | ISO/I
23、EC 13818-2:2012, Information technology Generic coding of moving pictures and associated audio information: Video. ANSI/SCTE 35 ANSI/SCTE 35 2012 (2012), Digital Program Insertion Cueing Message for Cable. ANSI/SCTE 54 ANSI/SCTE 54 2009 (2009), Digital Video Service Multiplex and Transport System St
24、andard for Cable Television. ANSI/SCTE 128 ANSI/SCTE 128 2010a (2010), AVC Video Systems and Transport Constraints for Cable Television. 3 Definitions 3.1 Terms defined elsewhere None. 3.2 Terms defined in this Recommendation This Recommendation defines the following terms: 3.2.1 API connection: A T
25、CP/IP socket connection between a server and a splicer for transferring API messages. 3.2.2 back-to-back insertion: Insertion of two or more temporally contiguous sessions without returning to the primary channel between sessions. 3.2.3 channel: A channel is a synonym for a “Service“ in DVB terminol
26、ogy, or a “Program“ in MPEG terminology. 2 Rec. ITU-T J.280 (03/2013) 3.2.4 insertion channel: The insertion multiplex channel(s) that replaces the primary channel in whole or in part of the duration for a splice event. 3.2.5 insertion multiplex: This is the source of the insertion channel. A multip
27、lex produced by a server may under some circumstances exclude program specific information (PSI), thus it is understood that this multiplex may be a non-compliant MPEG-2 transport stream. 3.2.6 multiplex: A multiplex is a collection of one or more channel(s) that may include the associated service i
28、nformation. A multiplex is an MPEG-2 transport stream with the possible exception of an insertion multiplex. 3.2.7 output channel: The channel that is produced at the output of the splicer. 3.2.8 output multiplex: The MPEG-2 transport stream produced by multiplexing one or more output channels. 3.2.
29、9 primary channel: The primary multiplex channel that is replaced in whole or in part. A single primary channel may result in multiple output channels. 3.2.10 primary multiplex: This is the source of the primary channel(s). 3.2.11 server: The device that originates the insertion channel(s) to be spl
30、iced into the primary channel(s). This device communicates with the splicer about when and what to splice. 3.2.12 session: A session is the insertion of content (such as spot advertisements of various lengths, program substitution, public service announcements, or program material created by splicin
31、g portions of the program from a server). Each session is identified by a unique SessionID. 3.2.13 splice-in: The splice at the start of the insertion. This happens at the time specified in the Splice_Request message. 3.2.14 splice-out: The splice at the end of the insertion. The expected insertion
32、end time is calculated by adding the start time and the duration specified in the Splice_Request message; however, this may occur earlier due to error conditions. 3.2.15 splicer: The device that splices the insertion channel(s) into the primary channel(s). It may receive ANSI/SCTE 35 cue messages. T
33、his device also communicates with the server about when and what to splice. 4 Abbreviations and acronyms This Recommendation uses the following abbreviations and acronyms: API Application Program Interface DVB-ASI Digital Video Broadcast Asynchronous Serial Interface ID Identifier MLD Multicast List
34、ener Discovery MPEG Moving Picture Experts Group MPTS Multi-Program Transport Stream NTP Network Time Protocol PAT Program Association Table PCR Program Clock Reference PID Packet Identifier PMT Program Map Table PSI Program Specific Information Rec. ITU-T J.280 (03/2013) 3 SPTS Single Program Trans
35、port Stream tcimsbf twos complement integer, most significant bit first TCP/IP Transport Control Protocol/Internet Protocol uimsbf unsigned integer, most significant bit first UTC Coordinated Universal Time 5 Conventions None. 6 Requirements 6.1 System block diagram This API may be used with many di
36、fferent configurations of server(s) and splicer(s). This API focuses on the single server, single splicer configuration shown in Figure 6-1. However, this can be expanded to the multiple servers, multiple splicers configuration as shown in Figure 6-2. J.280(13)_F6-1Primary Multiplex(with or without
37、embeddedcue message)SplicerPrimaryChannelInsertionChannelTCP/IPsocketOutputChannelInsertion MultiplexOutputMultiplexNetworkconnectionServerFigure 6-1 Single server/Single splicer 4 Rec. ITU-T J.280 (03/2013) J.280(13)_F6-2Primary Multiplex(with or without embeddedcue message)Splicer (K)PrimaryChanne
38、lInsertionChannelInsertionChannelTCP/IPsocketOutputChannelInsertion MultiplexInsertion MultiplexOutputMultiplexPrimary Multiplex(with or without embeddedcue message)Splicer 1PrimaryChannelInsertionChannelInsertionChannelTCP/IPsocketOutputChannelInsertion MultiplexInsertion MultiplexOutputMultiplexNe
39、tworkconnectionServer 1Server (N)Figure 6-2 Multiple servers/Multiple splicers The model referenced in this API has one or more splicers with one or more multiplex inputs. The splicer logically separates the channel(s) in the multiplex(es) and presents these channel(s) to a switch. This switch is ca
40、pable of mapping any input to any output channel. The initial configuration maps primary channel(s) to the output channel(s). The server may then direct the splicer to switch from a primary channel to an insertion channel for a specified duration. It may then direct the splicer to switch to another
41、insertion channel following the initial switch. The splicer may then create an MPEG-2 transport stream produced by multiplexing one or more output channels that shall be compliant with ANSI/SCTE 54. Logically, a splice involves two input channels and one output channel. The splicer is responsible fo
42、r joining the various elementary streams (audio, video and data) together. The optimal splice point may occur at slightly different times for each elementary stream, so the splicer should perform the splice that will supply the best quality output. Splicing may not always be performed from the prima
43、ry channel, i.e., programming network, to the insertion channel, i.e., spot advertisement, and back to the primary channel. The splicer may splice content that is stored solely on the server and arrives over a single input multiplex. It is possible to use this API in a situation where a server has o
44、ne multi-program transport stream (MPTS) output that contains program and interstitial material and uses the splicer to create proper splices between the content. Rec. ITU-T J.280 (03/2013) 5 This API supports all combinations of single and multiple servers communicating with single and multiple spl
45、icers. A separate API connection is associated with each output channel. In some configurations, there can be either multiple servers or multiple channels within the insertion multiplex connected to a splicer. In these cases, the splicer will have multiple API connections associated with an output c
46、hannel. When an ANSI/SCTE 35 cueing message is received in a primary channel, the Cue_Request message must be sent to servers over all of the API connections that were made for the associated output channel(s). It is also possible that more than one API connection will transport a Splice_Request mes
47、sage for the same insertion at the same time for an output channel. 6.2 Arbitration priorities Different levels of access are used to ensure that the correct insertion channel is utilized. There are ten different levels of access, 0 to 9, with 9 being the highest priority which may override any lowe
48、r priority connection. The OverridePlaying flag in the Splice_Request message specifies whether an insertion request is honoured when the splicer is currently queueing or performing an insertion. If the flag is set to 1, then the higher priority insertion can interrupt the same or lower priority cur
49、rently playing insertion. If the flag is set to 0, the splicer will not replace the insertion currently playing, even if the new request is of a higher priority. The Splice_Request message should be sent at least three seconds before the splice time( ) in order to be valid. If the three-second minimum is not met, the outcome of the Splice_Request message is not determined by this API. If multiple servers initiate splice requests for the same time with the same priority, the splicer will prioritize the requests on a fir