The document provides an introduction to MPEG transport streams (MPEG-TS) and related standards. It discusses key concepts such as:
- MPEG-TS structure including packets, sections, tables, and elementary streams.
- Digital Video Broadcasting (DVB) SimulCrypt which allows for multiple conditional access systems to encrypt the same content on a single multiplex.
- Scrambling synchronization and use of control words for encryption within a transport stream.
This document provides an introduction to digital television. It discusses analog TV standards and the conversion to digital with ITU-BT.601 and BT.709 defining digital video formats. It describes MPEG-2 transport streams and tables for encoding digital TV signals. Standards for digital terrestrial, satellite and cable broadcasting networks are also summarized.
The document discusses the Program Specific Information (PSI) and Service Information (SI) tables that are used in DVB systems to provide information needed to decrypt channels, display electronic programming guides, and manage conditional access. It describes the various tables like PAT, PMT, CAT, SDT and EIT and how they are structured and mapped into transport stream packets. Errors in SI tables can negatively impact the user experience and revenue for service providers by making it difficult to discover and purchase content.
The document discusses MPEG-2 transport streams, including their structure, semantics, and how they are used to multiplex packetized elementary streams. Transport stream packets have a fixed 188-byte size and contain synchronization and multiplexing information. Program specific information in the transport stream allows synchronized presentation of elementary streams within a program.
The document discusses MPEG-2 transport streams, which allow multiplexing of audio, video and other data into a single format suitable for transmission and storage. It describes the two multiplexing methods - program streams designed for error-free applications, and transport streams using fixed size packets for lossy applications. Transport streams carry multiple programs using packet identification and program mapping tables to associate elementary streams.
Mpeg 101 demyst analysis & picture symptoms 20110808 opthexiay
The document discusses MPEG transport streams and the metadata used to identify and associate different types of data within the streams. It explains that MPEG transport streams contain multiple interleaved elementary streams of audio, video, and data identified by packet identifiers (PIDs). Program specific information (PSI) tables and program and system information protocol (PSIP) tables contain metadata that tells decoders which PIDs belong to each program and elementary stream. This allows the decoder to demultiplex and extract the appropriate audio, video, and data from the transport stream for each channel.
This document provides an overview of Apple's HTTP Live Streaming (HLS) protocol for dynamically adapting video streaming to network conditions. It describes the basics of HLS including how content is prepared and served, how clients play the stream by obtaining playlist files that list available media segments, and new tags defined by the HLS protocol such as EXT-X-TARGETDURATION and EXT-X-MEDIA-SEQUENCE. It also compares HLS to other adaptive streaming protocols and shows examples of analyzing an HLS stream with Wireshark.
Track 5 session 5 - st dev con 2016 - stm32 hands on seminar - cloud connec...ST_World
The document provides an agenda and overview for a seminar on getting started with STM32 IoT development kits. The agenda includes presentations on STM32 portfolio overview, STM32L475 discovery board overview, STM32Cube introduction, and labs on basic tasks like blinking LEDs, Bluetooth Low Energy pairing, Wi-Fi configuration, and connecting to AWS IoT. The document describes the tools, software, and steps to install the seminar materials and required development tools like IAR workbench on participant laptops.
RTSP is a protocol for controlling streaming media. It uses RTP for data delivery and allows VCR-like controls like play, pause, etc. RTSP sits on top of RTP and handles session setup and control, while RTP handles actual media data transport. RTSP messages are similar to HTTP but maintain state between requests and responses unlike stateless HTTP. RTSP enables streaming media playback by requesting media from a server and receiving it as a continuous stream.
This document provides an introduction to digital television. It discusses analog TV standards and the conversion to digital with ITU-BT.601 and BT.709 defining digital video formats. It describes MPEG-2 transport streams and tables for encoding digital TV signals. Standards for digital terrestrial, satellite and cable broadcasting networks are also summarized.
The document discusses the Program Specific Information (PSI) and Service Information (SI) tables that are used in DVB systems to provide information needed to decrypt channels, display electronic programming guides, and manage conditional access. It describes the various tables like PAT, PMT, CAT, SDT and EIT and how they are structured and mapped into transport stream packets. Errors in SI tables can negatively impact the user experience and revenue for service providers by making it difficult to discover and purchase content.
The document discusses MPEG-2 transport streams, including their structure, semantics, and how they are used to multiplex packetized elementary streams. Transport stream packets have a fixed 188-byte size and contain synchronization and multiplexing information. Program specific information in the transport stream allows synchronized presentation of elementary streams within a program.
The document discusses MPEG-2 transport streams, which allow multiplexing of audio, video and other data into a single format suitable for transmission and storage. It describes the two multiplexing methods - program streams designed for error-free applications, and transport streams using fixed size packets for lossy applications. Transport streams carry multiple programs using packet identification and program mapping tables to associate elementary streams.
Mpeg 101 demyst analysis & picture symptoms 20110808 opthexiay
The document discusses MPEG transport streams and the metadata used to identify and associate different types of data within the streams. It explains that MPEG transport streams contain multiple interleaved elementary streams of audio, video, and data identified by packet identifiers (PIDs). Program specific information (PSI) tables and program and system information protocol (PSIP) tables contain metadata that tells decoders which PIDs belong to each program and elementary stream. This allows the decoder to demultiplex and extract the appropriate audio, video, and data from the transport stream for each channel.
This document provides an overview of Apple's HTTP Live Streaming (HLS) protocol for dynamically adapting video streaming to network conditions. It describes the basics of HLS including how content is prepared and served, how clients play the stream by obtaining playlist files that list available media segments, and new tags defined by the HLS protocol such as EXT-X-TARGETDURATION and EXT-X-MEDIA-SEQUENCE. It also compares HLS to other adaptive streaming protocols and shows examples of analyzing an HLS stream with Wireshark.
Track 5 session 5 - st dev con 2016 - stm32 hands on seminar - cloud connec...ST_World
The document provides an agenda and overview for a seminar on getting started with STM32 IoT development kits. The agenda includes presentations on STM32 portfolio overview, STM32L475 discovery board overview, STM32Cube introduction, and labs on basic tasks like blinking LEDs, Bluetooth Low Energy pairing, Wi-Fi configuration, and connecting to AWS IoT. The document describes the tools, software, and steps to install the seminar materials and required development tools like IAR workbench on participant laptops.
RTSP is a protocol for controlling streaming media. It uses RTP for data delivery and allows VCR-like controls like play, pause, etc. RTSP sits on top of RTP and handles session setup and control, while RTP handles actual media data transport. RTSP messages are similar to HTTP but maintain state between requests and responses unlike stateless HTTP. RTSP enables streaming media playback by requesting media from a server and receiving it as a continuous stream.
This document provides an overview of audio and video streaming. It discusses audio and video file formats, streaming concepts and architectures, popular streaming software like Windows Media Technologies and RealNetworks, and demonstrations of using software to stream and play audio and video files. Key topics covered include audio/video compression, streaming advantages, applications, and products for streaming audio and video over the internet and networks.
The document discusses the boot process of Linux operating systems. When a computer with Linux is turned on, the boot code in ROM loads and starts the kernel. The kernel then probes the system hardware and spawns the system init process. The Linux system can boot automatically or manually. In automatic mode, the complete boot procedure occurs without input, while manual mode involves operator intervention at a certain point before initialization scripts run. The typical Linux boot process involves loading and initializing the kernel, detecting and configuring devices, creating kernel threads, optional operator intervention, running system startup scripts, and achieving multiuser operation.
The document discusses several standard and proprietary streaming media protocols. It introduces Real-Time Transport Protocol (RTP) and Real-Time Control Protocol (RTCP) which transport streaming media and provide quality of service reports. It also describes Real Time Streaming Protocol (RTSP) which provides playback controls. Synchronized Multimedia Integration Language (SMIL) is mentioned as an XML language for multimedia content. Major companies like Real, Microsoft, and Apple are noted to use similar but proprietary protocols instead of the standards.
BeagleBone Black: Platform Bring-Up with Upstream ComponentsGlobalLogic Ukraine
This document is intended to give the user overall instructions on how to obtain, build and flash upstream software to the BeagleBone Black board, with detailed explanation of all related features and components.
Please find the additional details in this deck: https://www.slideshare.net/GlobalLogicUkraine/beaglebone-black-with-upstream-software
The respective workshop was held by Victoriia Taraniuk (Associate Manager, Quality Assurance, Consultant, GlobalLogic) at GlobalLogic Mykolaiv Embedded TechTalk #1 on May 25, 2018.
In this talk Elad Raz from Mellanox Technologies talks about his effort to open source switch development and transition from proprietary SDKs to a standard, in-kernel solution.
DVB-T2 Lite for Digital Radio by Kenneth WenzelYOZZO
At Thailand’s Engineering Expo 2014, Kenneth Wenzel from Open Channel in Denmark, shared the experiences gained, from being the world’s first to deploy and trial digital radio based on the new DVB-T2 profile T2-Base-Lite. The presentation proved the superiority and robustness of T2 Lite for digital radio, instead of DAB+
HEVC/H.265 is a video compression standard that provides around 50% better compression over H.264/AVC for the same level of video quality. It was finalized in 2013 by the joint collaboration of MPEG and ITU-T. Key features of HEVC include support for higher resolutions like 4K and 8K, improved parallel processing abilities, increased coding efficiency through larger block sizes and an expanded set of prediction modes.
The document discusses board bringup and the startup process. It explains that on power on, the processor executes initial startup code which loads a stage 1 bootloader. The stage 1 bootloader then loads a stage 2 bootloader which loads the operating system. The operating system then starts the init application, which starts other applications and daemons. It also discusses understanding the target board hardware, restoring it to a factory default state, and using vendor-provided utilities.
LCU14-107: OP-TEE on ARMv8
---------------------------------------------------
Speaker: Jens Wiklander
Date: September 15, 2014
---------------------------------------------------
★ Session Summary ★
SWG is porting OP-TEE to ARMv8 using Fixed Virtual Platform. Initially OP-TEE is running secure world in aarch32 mode, but with the normal world code running in aarch64 mode. Since ARMv8 uses ARM Trusted Firmware we have patched it with an OP-TEE dispatcher to be able to communicate between secure and normal world.
---------------------------------------------------
★ Resources ★
Zerista: http://lcu14.zerista.com/event/member/137710
Google Event: https://plus.google.com/u/0/events/c0ef114n77bhgbns9vb85g9n6ak
Presentation: http://www.slideshare.net/linaroorg/lcu14-107-optee-on-ar-mv8
Video: https://www.youtube.com/watch?v=JViplz-ah9M&list=UUIVqQKxCyQLJS6xvSmfndLA
Etherpad: http://pad.linaro.org/p/lcu14-107
---------------------------------------------------
★ Event Details ★
Linaro Connect USA - #LCU14
September 15-19th, 2014
Hyatt Regency San Francisco Airport
---------------------------------------------------
http://www.linaro.org
http://connect.linaro.org
This document discusses platform device drivers in Linux. It describes the components of platform device drivers, including platform drivers and platform devices. It explains how to register a platform driver, register a platform device, bind a driver to a device, specify platform resources and data. It also discusses using device tree bindings with platform drivers and summarizes the key topics covered.
The document discusses using GPIO pins on a TMS320C6745 processor to interface with LEDs and switches. It describes the GPIO peripheral features, how to connect an LED to the GPIO pins, the GPIO registers used to configure the pins as inputs or outputs and read/write values. It provides code to blink an LED by writing values to the output data register and read the state of switches by reading the input data register.
H.261 is a video coding standard published in 1990 by ITU-T for videoconferencing over ISDN networks. It uses techniques like DCT, motion compensation, and entropy coding to achieve compression ratios over 100:1 for video calling. H.261 remains widely used in applications like Windows NetMeeting and video conferencing standards H.320, H.323, and H.324.
This presentation covers the general concepts about real-time systems, how Linux kernel works for preemption, the latency in Linux, rt-preempt, and Xenomai, the real-time extension as the dual kernel approach.
The document discusses Linux porting and Linux support packages (LSPs). It covers the basics of Linux porting, including the 5 W's of porting and 5 M's of an operating system. It describes the architecture and components of LSPs, including placement in the kernel tree and design/layout rules. It also discusses the connections between LSPs and board bringup.
This document discusses SR-IOV (Single Root I/O Virtualization) in ACRN. It begins with an introduction to SR-IOV, describing how it allows PCIe devices to be isolated and have near bare-metal performance through the use of Physical Functions (PFs) and Virtual Functions (VFs). It then outlines the SR-IOV architecture in ACRN, including how it detects and initializes SR-IOV devices, assigns VFs to VMs, and manages the lifecycle of VFs. Finally, it provides an agenda for an SR-IOV demo using an Intel 82576 NIC and concludes with a Q&A section.
This document provides an overview and comparison of the H.264 and HEVC video coding standards. It describes the key features and innovations that allow each standard to compress video more efficiently than previous standards. H.264 introduced features like adaptive block sizes, multi-frame prediction, quarter-pixel motion compensation and loop filtering that improved compression performance over prior standards. HEVC aims to further increase compression efficiency through innovations such as larger coding tree blocks, additional intra-prediction modes, and improved entropy coding. The document analyzes these standards to understand how their new coding tools enable significantly higher compression ratios and support for new applications like higher resolution video.
The document discusses Linux network drivers and provides information about:
- The Linux network subsystem and protocol stack, typically using TCP/IP.
- Network interface card (NIC) drivers which provide a uniform interface for the network layer to access physical network cards.
- Key data structures like struct sk_buff and struct net_device that network drivers interact with for packet handling and device operations.
- Functions for network device registration, open/close, interrupt handling, and flow control.
- Examples of simple network drivers and how to write one for a Realtek NIC.
The document provides housekeeping notes for a Cisco Connect Toronto 2015 session. It reminds attendees to silence electronic devices, provides information on how to provide feedback and enter a prize drawing, and advertises the Cisco dCloud platform and Cisco Spark collaboration app. It also includes an agenda for the session on access network evolution, next generation EPN architecture, network services evolution, and SDN evolution.
This document provides an introduction to Linux drivers. It discusses the ecosystem of Linux drivers, types of Linux drivers, driver layering, related commands and configurations. It also guides the reader in creating their first Linux driver, covering basics like the module constructor, destructor, printk function and building the driver module.
Video Compression, Part 3-Section 2, Some Standard Video CodecsDr. Mohieddin Moradi
This document discusses MPEG-2 Transport Streams and Packetized Elementary Streams. It describes how MPEG-2 Transport Streams use fixed length 188 byte packets containing compressed video, audio or data from one or more programs identified by Packet IDs. These packets can contain Packetized Elementary Stream packets which contain compressed elementary streams with timestamps for synchronization. The document also discusses how Transport Streams allow for synchronous multiplexing of multiple programs from independent time bases into a single stream.
RTP and RTCP are protocols used for delivering audio and video over IP networks. RTP carries the media streams, while RTCP monitors transmission quality and aids synchronization. RTCP sends periodic reports containing statistics like packet loss to allow senders to adapt transmission rates. While TCP is not suitable due to retransmissions causing delay, RTP supports features needed for real-time multimedia like sequencing, timestamps, error concealment, and quality of service feedback.
This document provides an overview of audio and video streaming. It discusses audio and video file formats, streaming concepts and architectures, popular streaming software like Windows Media Technologies and RealNetworks, and demonstrations of using software to stream and play audio and video files. Key topics covered include audio/video compression, streaming advantages, applications, and products for streaming audio and video over the internet and networks.
The document discusses the boot process of Linux operating systems. When a computer with Linux is turned on, the boot code in ROM loads and starts the kernel. The kernel then probes the system hardware and spawns the system init process. The Linux system can boot automatically or manually. In automatic mode, the complete boot procedure occurs without input, while manual mode involves operator intervention at a certain point before initialization scripts run. The typical Linux boot process involves loading and initializing the kernel, detecting and configuring devices, creating kernel threads, optional operator intervention, running system startup scripts, and achieving multiuser operation.
The document discusses several standard and proprietary streaming media protocols. It introduces Real-Time Transport Protocol (RTP) and Real-Time Control Protocol (RTCP) which transport streaming media and provide quality of service reports. It also describes Real Time Streaming Protocol (RTSP) which provides playback controls. Synchronized Multimedia Integration Language (SMIL) is mentioned as an XML language for multimedia content. Major companies like Real, Microsoft, and Apple are noted to use similar but proprietary protocols instead of the standards.
BeagleBone Black: Platform Bring-Up with Upstream ComponentsGlobalLogic Ukraine
This document is intended to give the user overall instructions on how to obtain, build and flash upstream software to the BeagleBone Black board, with detailed explanation of all related features and components.
Please find the additional details in this deck: https://www.slideshare.net/GlobalLogicUkraine/beaglebone-black-with-upstream-software
The respective workshop was held by Victoriia Taraniuk (Associate Manager, Quality Assurance, Consultant, GlobalLogic) at GlobalLogic Mykolaiv Embedded TechTalk #1 on May 25, 2018.
In this talk Elad Raz from Mellanox Technologies talks about his effort to open source switch development and transition from proprietary SDKs to a standard, in-kernel solution.
DVB-T2 Lite for Digital Radio by Kenneth WenzelYOZZO
At Thailand’s Engineering Expo 2014, Kenneth Wenzel from Open Channel in Denmark, shared the experiences gained, from being the world’s first to deploy and trial digital radio based on the new DVB-T2 profile T2-Base-Lite. The presentation proved the superiority and robustness of T2 Lite for digital radio, instead of DAB+
HEVC/H.265 is a video compression standard that provides around 50% better compression over H.264/AVC for the same level of video quality. It was finalized in 2013 by the joint collaboration of MPEG and ITU-T. Key features of HEVC include support for higher resolutions like 4K and 8K, improved parallel processing abilities, increased coding efficiency through larger block sizes and an expanded set of prediction modes.
The document discusses board bringup and the startup process. It explains that on power on, the processor executes initial startup code which loads a stage 1 bootloader. The stage 1 bootloader then loads a stage 2 bootloader which loads the operating system. The operating system then starts the init application, which starts other applications and daemons. It also discusses understanding the target board hardware, restoring it to a factory default state, and using vendor-provided utilities.
LCU14-107: OP-TEE on ARMv8
---------------------------------------------------
Speaker: Jens Wiklander
Date: September 15, 2014
---------------------------------------------------
★ Session Summary ★
SWG is porting OP-TEE to ARMv8 using Fixed Virtual Platform. Initially OP-TEE is running secure world in aarch32 mode, but with the normal world code running in aarch64 mode. Since ARMv8 uses ARM Trusted Firmware we have patched it with an OP-TEE dispatcher to be able to communicate between secure and normal world.
---------------------------------------------------
★ Resources ★
Zerista: http://lcu14.zerista.com/event/member/137710
Google Event: https://plus.google.com/u/0/events/c0ef114n77bhgbns9vb85g9n6ak
Presentation: http://www.slideshare.net/linaroorg/lcu14-107-optee-on-ar-mv8
Video: https://www.youtube.com/watch?v=JViplz-ah9M&list=UUIVqQKxCyQLJS6xvSmfndLA
Etherpad: http://pad.linaro.org/p/lcu14-107
---------------------------------------------------
★ Event Details ★
Linaro Connect USA - #LCU14
September 15-19th, 2014
Hyatt Regency San Francisco Airport
---------------------------------------------------
http://www.linaro.org
http://connect.linaro.org
This document discusses platform device drivers in Linux. It describes the components of platform device drivers, including platform drivers and platform devices. It explains how to register a platform driver, register a platform device, bind a driver to a device, specify platform resources and data. It also discusses using device tree bindings with platform drivers and summarizes the key topics covered.
The document discusses using GPIO pins on a TMS320C6745 processor to interface with LEDs and switches. It describes the GPIO peripheral features, how to connect an LED to the GPIO pins, the GPIO registers used to configure the pins as inputs or outputs and read/write values. It provides code to blink an LED by writing values to the output data register and read the state of switches by reading the input data register.
H.261 is a video coding standard published in 1990 by ITU-T for videoconferencing over ISDN networks. It uses techniques like DCT, motion compensation, and entropy coding to achieve compression ratios over 100:1 for video calling. H.261 remains widely used in applications like Windows NetMeeting and video conferencing standards H.320, H.323, and H.324.
This presentation covers the general concepts about real-time systems, how Linux kernel works for preemption, the latency in Linux, rt-preempt, and Xenomai, the real-time extension as the dual kernel approach.
The document discusses Linux porting and Linux support packages (LSPs). It covers the basics of Linux porting, including the 5 W's of porting and 5 M's of an operating system. It describes the architecture and components of LSPs, including placement in the kernel tree and design/layout rules. It also discusses the connections between LSPs and board bringup.
This document discusses SR-IOV (Single Root I/O Virtualization) in ACRN. It begins with an introduction to SR-IOV, describing how it allows PCIe devices to be isolated and have near bare-metal performance through the use of Physical Functions (PFs) and Virtual Functions (VFs). It then outlines the SR-IOV architecture in ACRN, including how it detects and initializes SR-IOV devices, assigns VFs to VMs, and manages the lifecycle of VFs. Finally, it provides an agenda for an SR-IOV demo using an Intel 82576 NIC and concludes with a Q&A section.
This document provides an overview and comparison of the H.264 and HEVC video coding standards. It describes the key features and innovations that allow each standard to compress video more efficiently than previous standards. H.264 introduced features like adaptive block sizes, multi-frame prediction, quarter-pixel motion compensation and loop filtering that improved compression performance over prior standards. HEVC aims to further increase compression efficiency through innovations such as larger coding tree blocks, additional intra-prediction modes, and improved entropy coding. The document analyzes these standards to understand how their new coding tools enable significantly higher compression ratios and support for new applications like higher resolution video.
The document discusses Linux network drivers and provides information about:
- The Linux network subsystem and protocol stack, typically using TCP/IP.
- Network interface card (NIC) drivers which provide a uniform interface for the network layer to access physical network cards.
- Key data structures like struct sk_buff and struct net_device that network drivers interact with for packet handling and device operations.
- Functions for network device registration, open/close, interrupt handling, and flow control.
- Examples of simple network drivers and how to write one for a Realtek NIC.
The document provides housekeeping notes for a Cisco Connect Toronto 2015 session. It reminds attendees to silence electronic devices, provides information on how to provide feedback and enter a prize drawing, and advertises the Cisco dCloud platform and Cisco Spark collaboration app. It also includes an agenda for the session on access network evolution, next generation EPN architecture, network services evolution, and SDN evolution.
This document provides an introduction to Linux drivers. It discusses the ecosystem of Linux drivers, types of Linux drivers, driver layering, related commands and configurations. It also guides the reader in creating their first Linux driver, covering basics like the module constructor, destructor, printk function and building the driver module.
Video Compression, Part 3-Section 2, Some Standard Video CodecsDr. Mohieddin Moradi
This document discusses MPEG-2 Transport Streams and Packetized Elementary Streams. It describes how MPEG-2 Transport Streams use fixed length 188 byte packets containing compressed video, audio or data from one or more programs identified by Packet IDs. These packets can contain Packetized Elementary Stream packets which contain compressed elementary streams with timestamps for synchronization. The document also discusses how Transport Streams allow for synchronous multiplexing of multiple programs from independent time bases into a single stream.
RTP and RTCP are protocols used for delivering audio and video over IP networks. RTP carries the media streams, while RTCP monitors transmission quality and aids synchronization. RTCP sends periodic reports containing statistics like packet loss to allow senders to adapt transmission rates. While TCP is not suitable due to retransmissions causing delay, RTP supports features needed for real-time multimedia like sequencing, timestamps, error concealment, and quality of service feedback.
This document discusses quality of service (QoS) for communications networks. It covers topics like interactive multimedia applications requiring low delay, QoS parameters like packet delay and loss, protocols like RTP and SIP used for real-time applications, and QoS mechanisms in TCP/IP networks including classification, scheduling, dropping policies, and traffic shaping that can provide differentiated service for different traffic classes. References are made to textbooks on computer networking and data communications.
RTP is a protocol for delivering audio and video content over IP networks. It was developed by the IETF and first published in 1996. RTP is used widely for real-time applications like VoIP and video conferencing. The RTP header contains fields for payload type, sequence number, timestamp, and identifiers to support delivery of timed content from multiple sources.
This is a presentation of tool for Traffic analyzer of Multicast-TS created with php, mongo-DB and Mysql, powerfull for analyzer on real time how is the behavior of IPTV network from specific multicast stream.
any comment or question please feel free to send me an email.
Protected Addressing Mode allows the operating system to use virtual memory, paging, and multi-tasking features to increase control over applications. It enables access to memory above 1MB by changing from a segment+offset scheme to logical to physical address translation using descriptor tables and paging. Paging organizes physical memory into pages of 4KB each that are mapped to linear addresses using page directories and page tables controlled by CPU registers like CR3 for the page directory base address.
The document discusses SONET/SDH and related technologies. It begins by explaining T1/E1 standards which involve digitizing analog voice signals into time division multiplexed digital signals. It then covers the SONET/SDH hierarchy including standards like OC-1, OC-3, etc. and how they allow multiplexing lower rate signals. The frame structure of STS-1 is described along with its section, line, and path overheads. Virtual tributaries and how data like ATM cells and IP packets can be transported are also summarized.
The document discusses the Real-Time Transport Protocol (RTP) which provides end-to-end delivery services for delivering audio and video over IP networks. RTP is used with the RTCP to monitor transmission quality. RTP allows synchronization of multiple streams through timestamping and sequencing of packets. It uses UDP for multiplexing and includes fields for payload type, sequence number, timestamp and SSRC for stream identification. Mixers and translators are used to combine or modify RTP streams while maintaining synchronization between sources.
RTP provides end-to-end delivery services for real-time audio and video traffic over UDP. It includes payload identification, sequence numbering, timestamping and delivery monitoring. RTP runs on top of UDP and is designed to support multimedia conferences using IP multicast. RTCP monitors quality of service and conveys information about participants. Profiles and payload formats can customize RTP to support specific applications.
IP is the principal communications protocol in the Internet protocol suite for relaying datagrams across network boundaries. It is a connectionless, best-effort protocol that does not guarantee delivery. IP packets can be fragmented into smaller units if their size exceeds the maximum transmission unit of the network. Fragmentation involves splitting the packet into multiple fragments that contain the same identification field but varying fragment offset and total length fields. The fragments are reassembled into the original packet at the destination.
Universal Serial Bus (USB) is an industry standard developed in the mid-1990s that defines the cables, connectors and communications protocols used in a bus for connection, communication, and power supply between computers and electronic devices
The document discusses point-to-point interconnect and PCI Express. It provides details on Intel's Quick Path Interconnect which uses a point-to-point architecture with multiple direct connections and a layered protocol. It also discusses the physical, data link and transaction layers of the PCI Express protocol and how packets are processed at each layer to ensure reliable transmission across the PCIe link.
The document discusses the four levels of addressing used in TCP/IP:
1. Physical address - identifies network interfaces or devices
2. Logical address - IP addresses that identify devices on the network
3. Port address - identifies applications/processes on devices using port numbers
4. Application-specific address - some applications use their own addressing schemes above the port level.
RTP is used for real-time multimedia streaming applications that require timely delivery over UDP. It provides timestamps, sequence numbers, and payload format identification to enable synchronization and detection of packet loss or reordering. The companion protocol RTCP is used for quality of service feedback and synchronization between media streams. Common uses of RTP include simple multicast audio conferences where each participant's audio is sent in chunks with RTP headers, and audio/video conferences where separate RTP sessions are used for each medium.
The document discusses Real-Time Transport Protocol (RTP) which is an Internet standard for delivering audio and video over IP networks. RTP is designed for real-time streaming applications that require low latency. It provides mechanisms for synchronization, transport of timing information and mechanisms to detect packet loss for media transport. The document outlines the fundamental design philosophies, standard elements and packet format of RTP as well as its companion protocol, RTCP, which is used for quality of service feedback.
RTP is a protocol for transporting real-time multimedia data like audio and video over IP networks. It works with RTCP for feedback on data delivery. RTP packet headers include fields for payload type identification, sequence numbering, timestamps, and SSRC for stream source identification. SIP establishes and manages multimedia sessions and calls over IP, allowing participants to negotiate media encodings and manage calls through actions like adding streams, changing encoding, or inviting others. SIP messages are ASCII text sent over UDP or TCP and it requires message acknowledgment.
Slides supporting the "Computer Networking: Principles, Protocols and Practice" ebook. The slides can be freely reused to teach an undergraduate computer networking class using the open-source ebook.
TCP/IP is a set of protocols that allows networks to interconnect and exchange data. It uses IP for addressing devices and routing packets between networks, while higher level protocols like TCP and UDP provide reliability and port addressing for specific applications. TCP provides reliable, ordered connections, while UDP is simpler and used for applications like streaming media that can tolerate packet loss. Networks are connected via routers that route packets between IP networks using IP addressing.
Title Slide:
Title: Introduction to TCP/IP Networking
Subtitle: Understanding the Backbone of the Internet
Slide 1: Introduction to TCP/IP:
Brief overview of TCP/IP.
Explanation of its importance as the fundamental protocol suite of the Internet.
Slide 2: TCP/IP Layers:
Explanation of the four layers of the TCP/IP model: Link, Internet, Transport, and Application.
Briefly describe the purpose of each layer.
Slide 3: IP Addressing:
Explanation of IP addresses and their role in uniquely identifying devices on a network.
Differentiation between IPv4 and IPv6.
Slide 4: Subnetting:
Introduction to subnetting in TCP/IP networks.
Purpose and benefits of subnetting.
Slide 5: TCP (Transmission Control Protocol):
Overview of TCP and its role as a reliable, connection-oriented protocol.
Explanation of features like error checking, flow control, and sequencing.
Slide 6: UDP (User Datagram Protocol):
Overview of UDP and its role as a connectionless, lightweight protocol.
Comparison with TCP.
Slide 7: Ports and Sockets:
Explanation of ports and sockets in TCP/IP.
Role in enabling communication between applications.
Slide 8: DNS (Domain Name System):
Overview of DNS and its role in translating human-readable domain names into IP addresses.
Importance of DNS in Internet communication.
Slide 9: DHCP (Dynamic Host Configuration Protocol):
Explanation of DHCP and its role in dynamically assigning IP addresses to devices on a network.
Benefits of DHCP.
Slide 10: Routing and Routers:
Overview of routing in TCP/IP networks.
Role of routers in directing data between networks.
Slide 11: Security in TCP/IP:
Introduction to security considerations in TCP/IP networks.
Briefly cover topics like firewalls, VPNs, and encryption.
Slide 12: Future Trends:
Brief discussion on emerging technologies and trends in TCP/IP.
Topics like IoT (Internet of Things) and 5G.
Slide 13: Conclusion:
Summary of key points.
Emphasis on the ubiquity and importance of TCP/IP in modern networking.
Dandelion Hashtable: beyond billion requests per second on a commodity serverAntonios Katsarakis
This slide deck presents DLHT, a concurrent in-memory hashtable. Despite efforts to optimize hashtables, that go as far as sacrificing core functionality, state-of-the-art designs still incur multiple memory accesses per request and block request processing in three cases. First, most hashtables block while waiting for data to be retrieved from memory. Second, open-addressing designs, which represent the current state-of-the-art, either cannot free index slots on deletes or must block all requests to do so. Third, index resizes block every request until all objects are copied to the new index. Defying folklore wisdom, DLHT forgoes open-addressing and adopts a fully-featured and memory-aware closed-addressing design based on bounded cache-line-chaining. This design offers lock-free index operations and deletes that free slots instantly, (2) completes most requests with a single memory access, (3) utilizes software prefetching to hide memory latencies, and (4) employs a novel non-blocking and parallel resizing. In a commodity server and a memory-resident workload, DLHT surpasses 1.6B requests per second and provides 3.5x (12x) the throughput of the state-of-the-art closed-addressing (open-addressing) resizable hashtable on Gets (Deletes).
ScyllaDB is making a major architecture shift. We’re moving from vNode replication to tablets – fragments of tables that are distributed independently, enabling dynamic data distribution and extreme elasticity. In this keynote, ScyllaDB co-founder and CTO Avi Kivity explains the reason for this shift, provides a look at the implementation and roadmap, and shares how this shift benefits ScyllaDB users.
What is an RPA CoE? Session 1 – CoE VisionDianaGray10
In the first session, we will review the organization's vision and how this has an impact on the COE Structure.
Topics covered:
• The role of a steering committee
• How do the organization’s priorities determine CoE Structure?
Speaker:
Chris Bolin, Senior Intelligent Automation Architect Anika Systems
Discover top-tier mobile app development services, offering innovative solutions for iOS and Android. Enhance your business with custom, user-friendly mobile applications.
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyScyllaDB
Freshworks creates AI-boosted business software that helps employees work more efficiently and effectively. Managing data across multiple RDBMS and NoSQL databases was already a challenge at their current scale. To prepare for 10X growth, they knew it was time to rethink their database strategy. Learn how they architected a solution that would simplify scaling while keeping costs under control.
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor IvaniukFwdays
At this talk we will discuss DDoS protection tools and best practices, discuss network architectures and what AWS has to offer. Also, we will look into one of the largest DDoS attacks on Ukrainian infrastructure that happened in February 2022. We'll see, what techniques helped to keep the web resources available for Ukrainians and how AWS improved DDoS protection for all customers based on Ukraine experience
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving
What began over 115 years ago as a supplier of precision gauges to the automotive industry has evolved into being an industry leader in the manufacture of product branding, automotive cockpit trim and decorative appliance trim. Value-added services include in-house Design, Engineering, Program Management, Test Lab and Tool Shops.
Session 1 - Intro to Robotic Process Automation.pdfUiPathCommunity
👉 Check out our full 'Africa Series - Automation Student Developers (EN)' page to register for the full program:
https://bit.ly/Automation_Student_Kickstart
In this session, we shall introduce you to the world of automation, the UiPath Platform, and guide you on how to install and setup UiPath Studio on your Windows PC.
📕 Detailed agenda:
What is RPA? Benefits of RPA?
RPA Applications
The UiPath End-to-End Automation Platform
UiPath Studio CE Installation and Setup
💻 Extra training through UiPath Academy:
Introduction to Automation
UiPath Business Automation Platform
Explore automation development with UiPath Studio
👉 Register here for our upcoming Session 2 on June 20: Introduction to UiPath Studio Fundamentals: https://community.uipath.com/events/details/uipath-lagos-presents-session-2-introduction-to-uipath-studio-fundamentals/
Must Know Postgres Extension for DBA and Developer during MigrationMydbops
Mydbops Opensource Database Meetup 16
Topic: Must-Know PostgreSQL Extensions for Developers and DBAs During Migration
Speaker: Deepak Mahto, Founder of DataCloudGaze Consulting
Date & Time: 8th June | 10 AM - 1 PM IST
Venue: Bangalore International Centre, Bangalore
Abstract: Discover how PostgreSQL extensions can be your secret weapon! This talk explores how key extensions enhance database capabilities and streamline the migration process for users moving from other relational databases like Oracle.
Key Takeaways:
* Learn about crucial extensions like oracle_fdw, pgtt, and pg_audit that ease migration complexities.
* Gain valuable strategies for implementing these extensions in PostgreSQL to achieve license freedom.
* Discover how these key extensions can empower both developers and DBAs during the migration process.
* Don't miss this chance to gain practical knowledge from an industry expert and stay updated on the latest open-source database trends.
Mydbops Managed Services specializes in taking the pain out of database management while optimizing performance. Since 2015, we have been providing top-notch support and assistance for the top three open-source databases: MySQL, MongoDB, and PostgreSQL.
Our team offers a wide range of services, including assistance, support, consulting, 24/7 operations, and expertise in all relevant technologies. We help organizations improve their database's performance, scalability, efficiency, and availability.
Contact us: info@mydbops.com
Visit: https://www.mydbops.com/
Follow us on LinkedIn: https://in.linkedin.com/company/mydbops
For more details and updates, please follow up the below links.
Meetup Page : https://www.meetup.com/mydbops-databa...
Twitter: https://twitter.com/mydbopsofficial
Blogs: https://www.mydbops.com/blog/
Facebook(Meta): https://www.facebook.com/mydbops/
Introduction of Cybersecurity with OSS at Code Europe 2024Hiroshi SHIBATA
I develop the Ruby programming language, RubyGems, and Bundler, which are package managers for Ruby. Today, I will introduce how to enhance the security of your application using open-source software (OSS) examples from Ruby and RubyGems.
The first topic is CVE (Common Vulnerabilities and Exposures). I have published CVEs many times. But what exactly is a CVE? I'll provide a basic understanding of CVEs and explain how to detect and handle vulnerabilities in OSS.
Next, let's discuss package managers. Package managers play a critical role in the OSS ecosystem. I'll explain how to manage library dependencies in your application.
I'll share insights into how the Ruby and RubyGems core team works to keep our ecosystem safe. By the end of this talk, you'll have a better understanding of how to safeguard your code.
How information systems are built or acquired puts information, which is what they should be about, in a secondary place. Our language adapted accordingly, and we no longer talk about information systems but applications. Applications evolved in a way to break data into diverse fragments, tightly coupled with applications and expensive to integrate. The result is technical debt, which is re-paid by taking even bigger "loans", resulting in an ever-increasing technical debt. Software engineering and procurement practices work in sync with market forces to maintain this trend. This talk demonstrates how natural this situation is. The question is: can something be done to reverse the trend?
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...Jason Yip
The typical problem in product engineering is not bad strategy, so much as “no strategy”. This leads to confusion, lack of motivation, and incoherent action. The next time you look for a strategy and find an empty space, instead of waiting for it to be filled, I will show you how to fill it in yourself. If you’re wrong, it forces a correction. If you’re right, it helps create focus. I’ll share how I’ve approached this in the past, both what works and lessons for what didn’t work so well.
High performance Serverless Java on AWS- GoTo Amsterdam 2024Vadym Kazulkin
Java is for many years one of the most popular programming languages, but it used to have hard times in the Serverless community. Java is known for its high cold start times and high memory footprint, comparing to other programming languages like Node.js and Python. In this talk I'll look at the general best practices and techniques we can use to decrease memory consumption, cold start times for Java Serverless development on AWS including GraalVM (Native Image) and AWS own offering SnapStart based on Firecracker microVM snapshot and restore and CRaC (Coordinated Restore at Checkpoint) runtime hooks. I'll also provide a lot of benchmarking on Lambda functions trying out various deployment package sizes, Lambda memory settings, Java compilation options and HTTP (a)synchronous clients and measure their impact on cold and warm start times.
"Scaling RAG Applications to serve millions of users", Kevin GoedeckeFwdays
How we managed to grow and scale a RAG application from zero to thousands of users in 7 months. Lessons from technical challenges around managing high load for LLMs, RAGs and Vector databases.
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfChart Kalyan
A Mix Chart displays historical data of numbers in a graphical or tabular form. The Kalyan Rajdhani Mix Chart specifically shows the results of a sequence of numbers over different periods.
4. 4
Standard key terms
• Service / Program
• DVB term : service
• MPEG term : program
• TV channel (video and / or audio)
• data service (software download, application data)
• Transport stream
• aka. « TS », « multiplex », « transponder »
• continuous bitstream
• modulated and transmitted using one given frequency
• aggregate several services
• Signalization
• set of data structures in a transport stream
• describes the structure of transport streams and services
5. 5
MPEG-2 transport stream
• Structure of MPEG-2 TS defined in ISO/IEC 13818-1
• One operator uses several TS
• TS = synchronous stream of 188-byte TS packets
• 4-byte header
• optional « adaptation field », a kind of extended header
• payload, up to 184 bytes
• Multiplex of up to 8192 independent elementary streams (ES)
• each ES is identified by a Packet Identifier (PID)
• each TS packet belongs to a PID, 13-bit PID in packet header
• smooth muxing is complex, demuxing is trivial
• Two types of ES content
• PES, Packetized Elementary Stream : audio, video, subtitles, teletext
• sections : data structures
6. 6
Multiplex of elementary streams
• A transport stream is a multiplex of elementary streams
• elementary stream = sequence of TS packets with same PID value in header
• one set of elementary streams for global signalization
describe the TS, the network, the operator, the services, the events, EMM’s, etc.
• one set of elementary streams per service
a service is typically a TV channel
global signalization streams
service 2 streams
service 1 streams
PMT
video
audio 1
audio 2
subtitles 1
subtitles 2
ECM 1
ECM 2
transport stream
7. 7
TS packet
47
header : 4 bytes payload = 184 bytes
4-byte header includes :
• Sync byte = 0x47
• PID : 13 bits
• Continuity counter : 4 bits
• Payload Unit Start Indicator (PUSI) : 1 bit
• Transport scrambling control : 2 bits
• Adaptation field presence : 1 bit
• Payload presence : 1 bit
• More…
47
header : 4 bytes payload < 184 bytes
adaptation field
TS packet without adaptation field
TS packet with adaptation field
adaptation field size
Adaptation field may include :
• Program Clock Reference (PCR / OPCR)
• Private data
• Stuffing (for PES stream padding)
• More…
AF = 1
AF = 0
8. 8
Multiplexing and demultiplexing
• Elementary stream = concatenation of all payloads of all TS packets with same PID
• Elementary stream transport
• packetization = cutting ES into packets payloads with same PID
setting Payload Unit Start Indicator (PUSI) in TS header on « unit » boundary
• multiplexing = mixing with packets from other PID’s to build a complete TS
• demultiplexing = extracting all packets with same PID from TS
• depacketization = rebuilding ES from packets payloads with same PID
using PUSI to resynchronize on « unit » boundary
Elementary stream :
Elementary stream :
TS packets :
packetization
depacketization
9. 9
Packetized Elementary Stream (PES)
• A stream of PES packets
• up to 65536 bytes per PES packet
• start of PES packet identified by PUSI bit in TS header
• PES packets can contain
• video : MPEG-2 (H.262), AVC (H.264), HEVC (H.265), etc.
• audio : MPEG-2 Layer 2, AAC, HE-AAC, AC-3, DTS, DTS-HD, etc.
• DVB subtitles (text or bitmap)
• teletext (deprecated but still used)
• One elementary stream contains one single type of content
• video
• audio for one language (with or without « audio description »)
multi-channel audio (stereo, 5+1, etc.) within same PID
• subtitles for one language (with or without « for hard of hearing »)
• exception : one teletext stream is a multiplex of several text streams (« pages »)
10. 10
Typical PES packetization
47
header payload = 184 bytes
47
header payload < 184 bytes
stuffing
adaptation field
PUSI = 1
47
header payload < 184 bytes
PCR
adaptation field
(optional but typical)
PUSI = 0
PUSI = 0
00 00 01 …
PES packet start code prefix
First TS packet for PES packet
As many intermediate TS packets as required for current PES packet
(multiplexed with TS packets from others PID’s)
Last TS packet for PES packet fill adaptation field with enough stuffing so that
end of PES packet matches end of TS packet
PID =
nn
PID =
nn
PID =
nn
11. 11
PES streams robustness
• TS packet loss is tolerated in audio and video streams
• video « macro-block » effect
• audio « glitch » effect
• quality of recovery based on decoder implementation
• TS packet loss detection based on continuity_counter
• 4-bit field in TS packet header
• cannot detect loss of an exact multiple of 16 TS packets
• resynchronization on next TS packet with PUSI
• But video / audio decoders can resynchronize within PES packet
• video / audio bitstream formats usually contain synchronization patterns
• example : NAL unit boundary in AVC encoding
12. 12
Sections streams
• Contain data structures named « tables »
• A table is split into one or more « sections »
• section = smallest data unit, up to 4096 bytes
• standard header and type-specific payload
• table type identified by table_id in header
• two types of section syntax : « short » and « long »
based on 1 bit in header
• Each type of table defines its own syntax
• use long or short sections
• payload bitstream syntax
• Descriptor
• standard substructure with standard header and type-specific payload
• most tables use generic « lists of descriptors »
13. 13
Typical section packetization
47
header : 4 bytes payload = 184 bytes
PUSI = 0
TS packet containing the start of section n+1
As many intermediate TS packets as required for section n+1
(multiplexed with TS packets from others PID’s)
Last TS packet for section n+1, start of next section
PID =
nn
47
header : 4 bytes payload = 184 bytes
PUSI =
1
PID =
nn
pointer field (to first start of section)
end of section n
47
header : 4 bytes payload = 184 bytes
PUSI = 1 PID =
nn
pointer field
end of section n+1
continuation of section n+1
section n+2 start of section n+3
start of section n+1
table id section size
table id
table id section size section size
14. 14
Tables with short section
• One section per table
• section and table are equivalent
• Each table brings new information
• CAS EMM / ECM
• date and time information (TDT / TOT)
• No standard integrity check
• except section length in section header
• some table-specific mechanisms
cryptographic integrity in EMM / ECM
CRC32 in TOT
15. 15
Tables with long sections
• Up to 256 sections per table
• need to receive all sections to rebuild the complete table
• Same table repeatedly cycled
• Content change notification
• version number in long section header
• each table is repeatedly broadcast with same version number
• version number changes when table content changes
• STB software sets demux filters to be notified of new tables only
• Integrity check
• CRC32 in each section
• section rejected in case of corruption, can be detected at demux level
• resynchronization on next TS packet with PUSI
16. 16
Signalization: PSI / SI
• PSI : Program Specific
Info.
• MPEG-defined
• ISO / IEC 13818-1
• TS structure: PAT, PMT
• CA : CAT
• SI : Service Information
• DVB-defined
• ETSI EN 300 468
• private sections in MPEG
terms
Extracted from
DVB standard
ETSI EN 300 468
MPEG-2
DVB
(optional)
DVB
(mandatory)
schedule
EIT
Other TS
present / follow
PID 18
EIT
Actual TS
schedule
PID 18
Event
Information
EIT
Actual TS
present / follow
PID 18
TDT
PID 20
TOT
PID 20
Time & date
RST
PID 19
Running
Status
SDT
Actual TS
PID 17
SDT
Other TS
PID 17
Service
Description
BAT
PID 17
Bouquet
Association
NIT
Actual
Network
PID 16
NIT
Other
Network
PID 16
Network
Information
PAT
PID 0
CAT
PID 1
PMT
TSDT
PID 2
17. 17
MPEG-defined PSI
• PAT : Program Association Table
• repeated in PID 0
• list of « services » in the TS, ie. TV channels or data channels
• service id and PMT PID
• PMT : Program Map Table
• technical description of one service
• list of elementary streams in the service
• PID, type (audio, video, etc.), additional info using a list of descriptors
• list of ECM streams for this service
• CAT : Conditional Access Table
• repeated in PID 1
• list of EMM streams on this TS
• CAT not present when no EMM on TS
18. 18
DVB-defined SI (1/2)
• SDT : Service Description Table
• editorial description of the services in a TS
• either in « actual » TS or « other » TS
• service names and ancillary services
• BAT : Bouquet Association Table
• commercial operator description and services
• several commercial operators may sell the same services
• NIT : Network Information Table
• technical description of a network
• either « actual » network or « other » network
• list of TS in this network
usually with frequency and tuning parameters
used for fast network scanning
• list of services in each TS
service ids and « logical channel number »
19. 19
DVB-defined SI (2/2)
• EIT : Event Information Table
• editorial description of events
• either in « actual » TS or « other » TS
• EIT « present / following »
short description of current and next event on each service
used to display information banner on screen
• EIT « schedule »
long description of all events in the forthcoming days
used to display the EPG
optional, depends on operator’s good will and bandwidth availability
complete 7-day EPG for a large operator uses several Mb/s
sparse EIT schedule sections, rarely complete tables
• TDT / TOT : Time and Date Table / Time Offset Table
• current date and time, UTC (TDT) and local offset by region (TOT)
• used to synchronize STB system time
• typically one table every 10 to 30 seconds only
21. 21
Standard key terms
• CAS : Conditional Access System
• CW : Control Word
• content encryption key for video & audio
• EMM : Entitlement Management Message
• CAS-specific message to manage rights, smartcards, subscribers
• sent to some identified set of subscribers, possibly only one
• ECM : Entitlement Control Message
• CAS-specific message to control a scrambled service
• sent to everyone willing to watch the service
22. 22
DVB SimulCrypt
• Enforce coexistence of multiple CAS to protect the same content
• DVB-defined standard
• Use-cases
• one broadcast operator, multiple commercial operators
• transition between CAS generations
• Broadcast
• very simple architecture
• common scrambling
• multiple EMM and ECM streams with standard signalization
• Head-end
• complex architecture
• multiple CAS equipment
• common synchronization
24. 24
DVB SimulCrypt head-end
• Interface between two worlds
• one « MUX system » vendor
yellow components
• multiple CAS vendors
blue components
• DVB SimulCrypt protocols
• specified between components of distinct worlds
• protocols within the same world are not specified
proprietary, vendor specific
• consistent nested tag-length-value (TLV) structures
using logical « channels » and « streams »
except ACG EIS protocol (XML protocol)
• EIS SCS protocol is specified
so that EIS and SCS may in fact come from distinct vendors
• TSDuck plugins
• scrambler interacts with any standard ECMG
• datainject interacts with any standard EMMG or PDG
25. 25
EMM signalization
• Using CA_descriptor in the CAT of the TS
• standard part of CA_descriptor: CA system id, EMM PID
CA_system_id are allocated by DVB
http://www.dvbservices.com/identifiers/ca_system_id
• private part of CA_descriptor: CAS-specific
used by the CA software in the STB
• Number of EMM streams is CAS-specific
• for instance, one EMM stream may contain all EMM’s for
one operator
one EMM type (e.g. individual, group, global)
or any other configuration
when they exist, operator id and EMM types are CAS-specific concepts
they are usually identified in the private part of the CA_descriptor
26. 26
ECM broadcast
• An ECM usually transports a CW pair and access criteria
• specific to one or more audio or video streams
• specific to one CAS
• Each service (i.e. channel) has dedicated ECM streams
• per scrambling group
• per CAS
base mechanism for DVB SimulCrypt
• Scrambling group
• a set of audio or video elementary streams scrambled with the same CW
• subtitles are usually not scrambled in practice (but could be in theory)
• usually, all audio/video streams of a service are in the same scrambling group
• in rare cases, audio and video streams are scrambled with distinct CW
27. 27
ECM signalization
• Using CA_descriptor in the PMT of the service
• standard part of CA_descriptor : CA system id, ECM PID
same as EMM signalization
• private part of CA_descriptor: CAS-specific
used by the CA software in the STB
CA_descriptor private part is usually different in CAT (EMM) and PMT (ECM)
sample content : operator id, public subset of access criteria
• Two possible positions for CA_descriptors in PMT
• at program level
only if one single scrambling group
• at stream level
mandatory if different ES use different CW
take precedence over program level if both are used for same CA_system_id
28. 28
Scrambling synchronization : principles
• During one crypto-period (CP) number N
• typically 10 seconds
• scrambling using same CWN
• ECMN carries CWN and CWN+1
• initial ECM broadcast delayed from start of CP (CAS specific)
• ECMN is repeated several times during CPN (typically 10 ECM/s)
• if first ECMN+1 is missed, the descrambler already knows CWN+1 anyway
• The CA software configures the descrambler with both CWN and CWN+1
• either N or N+1 is « even », the other one is « odd »
• TS packet header contains 2-bit transport_scrambling_control
• used by the descrambler to select the appropriate CW
00 : clear, do not descramble (MPEG-defined: ISO 13818-1)
10 : use even CW (DVB-defined: ETR 289)
11 : use odd CW (DVB-defined: ETR 289)
• Implemented in TSDuck plugin scrambler
29. 29
Scrambling synchronization : head-end view
• Based on crypto-period (CP) number
• CP numbers are sequentially allocated by SCS
• the full CP number stays on head-end
• its parity is used in TS packets and ECM’s
MUX /
Scrambler
ECMG
TS packet
11 transport_scrambling_control
scrambled with « odd » CW
ECM
BB..BB
CW : AA..AA
even odd
message
CP num = 165
CW = AA..AA
CP num = 166
CW = BB..BB
message
parity = odd
CW = AA..AA
CP number is odd
CWG
random stream
AA .. .. AA
BB .. .. BB
SCS
CP number is even
About to start
CP number 165
31. 31
Scrambling synchronization : receiver timeline
• Loose synchronization
• ECM’s may be missed
• CW transition is blurry (video & audio PID’s)
• No explicit synchronization between ECM’s and video/audio crypto-periods
BB..BB AA..AA
even odd
BB..BB CC..CC
even odd
time
AA..AA BB..BB
AA..AA BB..BB
Video PID CW
ECM content
Current CP number 165 (odd) 166 (even)
Audio PID CW
ECM reception
ECM
received
missed
ignored
(redundant)
t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19
delay start (head-end)
ECM processing (smartcard)
BB..BB
even
AA..AA
odd
descrambler setup (chipset) BB..BB
even
CC..CC
odd
ECM 0x80 ECM 0x81
t20
32. 32
TS vs. PES scrambling
• ISO 13818-1 defines two possible levels of scrambling
• TS level
each TS packet is scrambled individually
clear TS header and adaptation field, scrambled TS payload
• PES level
each demuxed PES packet is scrambled individually
TS packet header marked as clear
PES packet header contains similar 2-bit PES_scrambling_control
clear PES header, scrambled PES payload
• In practice, only TS-level scrambling is used
• PES-level scrambling is technically much more difficult
scrambling is performed on multiplexed TS
ETR 289 specifies sub-scrambling of 184-byte super-blocks
PES packet boundaries not aligned on crypto-period boundaries
• PES-level scrambling is never used in practice
33. 33
EMM & ECM tables
• CA-private in DVB-defined range
• ETSI ETR 289 defines the range of private CA table ids
0x80 – 0x81 : ECM
0x82 – 0x8F : « CA private »
• defined as « short sections »
no versioning
each section is an independent new table
• Typical usage
• 0x80 and 0x81 alternating with crypto periods
ECM table id change used as trigger by CA software to submit ECM to smartcard or TEE
ECM table id and CP number do not necessarily have the same parity
• 0x82 – 0x8F used for EMM’s
CAS-specific
typically one table id for each EMM type, easier to filter in STB
34. 34
Access criteria transition
• Use case : restricted event or pay-per-view event transition
• Scenario :
• the ECMG of each CAS had sent its own timing requirements to SCS
• SCS synchronizes the generation of the ECM from each CAS
Extracted from
DVB standard
ETSI TS 103 197
35. 35
Clear-to-scramble transition
• Use case : Pay-TV channel with public periods in the clear
• Scenario :
• the ECMG of each CAS had sent its own timing requirements to SCS
• SCS synchronizes the generation of the ECM from each CAS
Extracted from
DVB standard
ETSI TS 103 197
36. 36
DVB CSA-2
• DVB Common Scrambling Algorithm
• DVB proprietary algorithm
• supposed to be « secret »
• fully described in Wikipedia
• open-source implementations online (libdvbcsa)
• Algorithm
• 64-bit key (also known as « Control Words » or CW)
• first pass : block cipher in reverse-CBC mode
use CW as key
block size : 64 bits
residue ignored
• second pass : stream cipher
use CW as key and first block as seed (last processed block from reverse-CBC)
residue included
• short payloads (1 to 7 bytes) are not encrypted
even if transport_scrambling_control is non-zero
37. 37
DVB CSA-2 entropy reduction
• Entering the twilight zone….
• 64-bit key
• some national regulations from the 90’s prohibited 64-bit entropy
• entropy was artificially reduced to 48 bits
cw[3] = (cw[0] + cw[1] + cw[2]) mod 256
cw[7] = (cw[4] + cw[5] + cw[6]) mod 256
• entropy reduction is no longer required but still often applied
• Operational issues
• hardware scramblers and descramblers use plain 64-bit keys
• CWG internally generates 64 random bits
• where is the entropy reduction applied ?
common chain : CWG? SCS?
scrambling chain : MUX? scrambler?
descrambling chain : ECMG? smartcard? CA software in STB? descrambler?
who knows if entropy reduction must be applied anyway?
39. 39
Essential standards
• MPEG
• ISO 13818-1, MPEG-2 system layer (TS, packetization, PSI)
transport stream broadcast, blu-ray discs
program stream DVD
• DVB / ETSI (Europe and more)
• EN 300 468, DVB service information specifications (signalization)
• TS 103 197, DVB simulcrypt head-end (CAS head-end)
• ATSC (USA), ISDB (Japan, Brazil)
• equivalent features as defined in DVB
40. 40
Obtaining standards documents
• ISO
https://www.iso.org/standards.html
must be purchased
• DVB
http://www.etsi.org/standards
direct search : http://www.etsi.org/standards-search
allocated identifiers : http://www.dvbservices.com/identifiers/
• ITU
http://www.itu.int/ITU-T/recommendations/
H.xxx series : http://www.itu.int/rec/T-REC-H/
• IETF
https://tools.ietf.org/
• NIST
http://csrc.nist.gov/publications/
41. 41
Audio and video standards and nicknames
Origin Type ISO / IEC ITU-T Nicknames
MPEG-1 Video 11172-2 H.261 MPEG-1 video
MPEG-1 Audio 11172-3 MPEG audio layer 1
MPEG-2 Video 13818-2 H.262 MPEG-2 video
MPEG-2 Audio 13818-3 Layer 2: MPEG audio layer 2
Layer 3: MP3
MPEG-2 Audio 13818-7 AAC (Advanced Audio Coding)
Dolby Digital Audio AC-3 (Audio Coding 3)
MPEG-4 Video 14496-2 H.263 DivX, Xvid (codecs)
MPEG-4 Audio 14496-3 HE-AAC, EAAC (High Efficiency, Enhanced AAC)
MPEG-4 Video 14496-10 H.264 AVC (Advanced Video Coding)
MPEG-H Video 23008-2 H.265 HEVC (High Efficiency Video Coding)
Dolby Digital Audio AC-4