pdfencryptor.encrypt itextsharp c# : Extract data from pdf file application software tool html azure web page online http_live_streaming0-part1146

A Review of HTTP Live Streaming
Andrew Fecheyr-Lippens
(andrew@fecheyr.be)
Abstract
TODO: write abstract
January 2010
Extract data from pdf file - extract form data from PDF in C#.net, ASP.NET, MVC, Ajax, WPF
Help to Read and Extract Field Data from PDF with a Convenient C# Solution
how to fill in a pdf form in reader; pdf data extraction
Extract data from pdf file - VB.NET PDF Form Data Read library: extract form data from PDF in vb.net, ASP.NET, MVC, Ajax, WPF
Convenient VB.NET Solution to Read and Extract Field Data from PDF
extract data from pdf form to excel; how to fill pdf form in reader
Table of Contents
1. Introduction to streaming media
3
On-demand vs live streaming
3
2. Popular solutions
5
RTP/RTSP
5
Adobe Flash Media Streaming Server
5
3. Apple’s HTTP Live Streaming
7
HTTP Streaming Architecture
7
Server Components
9
Media Segment Files
10
Distribution Components
11
Client Component
11
Using HTTP Live Streaming
12
Session Types
12
Content Protection
13
Caching and Delivery Protocols
14
Stream Alternatives
14
Failover Protection
15
4. Critical Comparison
16
Ease of Setup
16
HTTP Live Streaming - Apple tools
17
HTTP Live Streaming - Open Source tools
17
RTP/RTSP - Darwin Streaming Server
18
Compatibility
19
Features
20
Ease of Distribution
21
Cost
22
5. Conclusion
23
6. Appendices
25
Appendix 1 - Index file generated by Apple tool
25
Appendix 2 - Configuration file for the O.S. toolchain
26
Appendix 3 - Index files generated by O.S. toolchain
27
Appendix 4 - Web server access log
28
Appendix 5 - Akamai HD for iPhone architecture
29
7. References
30
A Review of HTTP Live Streaming!
Andrew Fecheyr-Lippens
2
C# PDF Text Extract Library: extract text content from PDF file in
Able to extract and get all and partial text content from PDF file. How to C#: Extract Text Content from PDF File. Add necessary references:
extracting data from pdf forms to excel; extracting data from pdf forms
VB.NET PDF Text Extract Library: extract text content from PDF
Extract and get partial and all text content from PDF file. Extract highlighted text out of PDF document. Extract Text Content from PDF File in VB.NET.
extract data from pdf to excel online; saving pdf forms in acrobat reader
1.Introduction to streaming media
In the early 1990s consumer-grade personal computers became powerful enough to display video 
and playback audio. These early forms of computer media were usually delivered over non-streaming 
channels, by playing it back from CD-ROMs or by downloading a digital file from a remote web server 
and saving it to a local hard drive on the end user's computer. The latter can be referred to as 
“download-and-then-play” (Kurose & Ross 
[1]
). Back then the main challenge for network delivery of 
media was the conflict between media size and bandwidth limit of the network.
During the early 2000s the internet saw a booming increase in network bandwidth. Together with 
better media compression algorithms and more powerful personal computer systems streaming 
delivery of media had become possible. The term streaming is used to describe a method of relaying 
data over a computer network as a steady continuous stream, allowing playback to proceed while 
subsequent data is being received. This is in contrast with download-and-then-play, where playback 
starts after the data has completely been downloaded. Instant playback is the main advantage of 
streaming delivery as the user no longer has to wait until the download is completed, which can take 
hours over slow connections. 
On-demand vs live streaming
There are two classes of streaming media: on-demand streaming and live streaming. In the former 
case the media has been previously recorded and compressed. The media files are stored at the 
server and delivered to one or multiple receivers when requested (on-demand). Thousands of sites 
provide streaming of stored audio and video today, including Microsoft Video, YouTube, Vimeo and 
CNN. With live streaming on the other hand the media is captured, compressed and transmitted on 
the fly. Live streaming requires a significant amount of computing resources and often specific 
hardware support. 
Streaming media offers the client the same functionality as a traditional VCR: pause, rewind, fast 
forwarding and indexing through the content. Of course fast-forwarding is only possible when 
streaming stored media.
A Review of HTTP Live Streaming!
Andrew Fecheyr-Lippens
3
VB.NET PDF File Compress Library: Compress reduce PDF size in vb.
External cross references. Private data of other applications. Flatten visible layers. VB.NET Demo Code to Optimize An Exist PDF File in Visual C#.NET Project.
how to fill out pdf forms in reader; pdf data extractor
VB.NET PDF File Merge Library: Merge, append PDF files in vb.net
Microsoft Office Word, Excel and PowerPoint data to PDF form. Merge PDF with byte array, fields. Merge PDF without size limitation. Append one PDF file to the end
extract data from pdf form to excel; how to fill pdf form in reader
Fig 1. On-demand streaming (stored video)
Fig 2. Live streaming
Figure 1 depicts the streaming of stored video. The vertical axis is the cumulative data transferred 
while the horizontal axis represents elapsed time. The leftmost stepped line represents the 
transmission in a constant bitrate. Due to network jitter (variations in network delay) the transmitted 
packets (or stream fragments) arrive at the client unevenly. To diminish these effects of network-
induced jitter, a buffer is used and playback is delayed. 
The diagram for live streaming (figure 2) adds an extra stepped line, which represents the 
capturing and recording of the live event. This audio/video input needs to be compressed on the fly 
and transmitted to listening clients. A compression buffer is used in order to achieve this, causing a 
transmission delay. The following steps and delay types are equal to those for streaming stored video.
Elapsed Time >
Cumulative Data >
Variable
Network
Delay
Playback
Delay
Constant 
bitrate 
transmission
Receiving 
stream
fragments
Video 
playout
at client
Playback
Bu!er
Elapsed Time >
Cumulative Data >
Transmission
Delay
Variable
Network
Delay
Playback
Delay
Live 
media
recording
Constant 
bitrate 
transmission
Receiving 
stream
fragments
Video 
playout
at client
Playback
Bu!er
Compression
Bu!er
A Review of HTTP Live Streaming!
Andrew Fecheyr-Lippens
4
C# PDF File Merge Library: Merge, append PDF files in C#.net, ASP.
Merge Microsoft Office Word, Excel and PowerPoint data to PDF form. Append one PDF file to the end of another and save to a single PDF file.
pdf data extraction tool; extract data from pdf form fields
C# PDF File Compress Library: Compress reduce PDF size in C#.net
All object data. File attachment. External cross references. Private data of other applications. Flatten visible layers. C#.NET DLLs: Compress PDF Document.
extract table data from pdf; using pdf forms to collect data
2.Popular solutions
Two solutions that are heavily deployed in the marketplace today are RTP/RTSP and the Adobe 
Flash Media Streaming Server. We introduce both only briefly as a more thorough discussion of the 
underlying technologies is out of the scope of this paper. 
RTP/RTSP
The Real Time Streaming Protocol (RTSP), originally developed by Netscape and Real in the late 
'90s, is a network control protocol used to control streaming media servers. The protocol is used to 
establish and control media sessions between end points. Clients of media servers issue VCR-like 
commands, such as play and pause, to facilitate real-time control of playback of media files from the 
server. RTSP was published as RFC 2326 in 1998
[5]
.
The transmission of streaming data itself is not a task of the RTSP protocol. Most RTSP servers 
use the Real-time Transport Protocol (RTP) for media stream delivery, however some vendors 
implement proprietary transport protocols. The RTSP server from RealNetworks, for example, also 
features RealNetworks' proprietary RDT stream transport."
One of the drawbacks of RTSP is that by default it runs on a port (554) which is often blocked by 
firewalls. This problem is especially common with home Internet gateways.
Adobe Flash Media Streaming Server
Flash Media Server (FMS) is a proprietary data and media server from Adobe Systems (originally 
a Macromedia product). It can be use to stream video-on-demand and live video. The world’s largest 
video website, YouTube, uses it to stream videos on demand. 
The Flash Media Server works as a central hub with Flash based applications connecting to it 
using the Real Time Messaging Protocol (RTMP). The server can send and receive data to and from 
the connected users who have the Flash Player installed. 
A Review of HTTP Live Streaming!
Andrew Fecheyr-Lippens
5
VB.NET PDF Image Extract Library: Select, copy, paste PDF images
By using RsterEdge XDoc PDF SDK for .NET, VB.NET users are able to extract image from PDF page or file and specified region on PDF page, then get image
sign pdf form reader; exporting data from pdf to excel
C# PDF Image Extract Library: Select, copy, paste PDF images in C#
Page, a Region on a Page, and PDF Document. C#.NET extract image from multiple page adobe PDF file library for Visual Studio .NET.
export pdf data to excel; extract data from pdf table
There are a few downsides to using this solution: 
The Flash Media Streaming Server is proprietary and costs $995
[7]
.
Users need to have the Flash Player installed. The impact of this problem has been reduced as the 
majority of internet users have downloaded the player over time.
The Flash Player suffers from bad implementations on some platforms. Especially Linux and Mac 
OS have buggy implementations that causes high CPU load and thus drain batteries faster. This 
was the reason for Apple to exclude the Flash Player in it’s mobile iPhone and iPod Touch devices.
A Review of HTTP Live Streaming!
Andrew Fecheyr-Lippens
6
3.Apple’s HTTP Live Streaming
Apple originally developed HTTP Live Streaming to allow content providers to send live or 
prerecorded audio and video to Apple’s iPhone and/or iPod Touch using an ordinary Web server. They 
later included the same playback functionality in their QuickTime desktop media player. Playback 
requires iPhoneOS3.0 or later on iPhone or iPod touch and QuickTime X on the desktop. The 
HTTP Live Streaming specification is an IETF Internet-Draft. The third version of the IETF Internet-
Draft can be found online at tools.ietf.org
1
.
This chapter will introduce the HTTP Streaming Architecture: how the technology works, what 
formats are supported, what you need on the server, and what clients are available. Afterwards 
another section will describe how to set up live broadcast or video on demand sessions, how to 
implement encryption and authentication, and how to set up alternate bandwidth streams. This 
chapter borrows heavily from Apple’s documentation
[2]
.
HTTP Streaming Architecture
Conceptually, HTTP Live Streaming consists of three parts: the server component, the distribution 
component, and the client software. 
The server component is responsible for taking input streams of media and encoding them 
digitally, encapsulating them in a format suitable for delivery, and preparing the encapsulated media 
for distribution.
The distribution component consists of standard web servers. They are responsible for accepting 
client requests and delivering prepared media and associated resources to the client. For large-
scale distribution, edge networks or other content delivery networks can also be used.
The client software is responsible for determining the appropriate media to request, 
downloading those resources, and then reassembling them so that the media can be presented to 
the user in a continuous stream.
The iPhone includes built-in client software: the media player, which is automatically launched 
when Safari encounters an 
<OBJECT>
or 
<VIDEO>
tag with a URL whose MIME type is one that the 
A Review of HTTP Live Streaming!
Andrew Fecheyr-Lippens
7
1
http://tools.ietf.org/html/draft-pantos-http-live-streaming-02
media player supports. The media player can also be launched from custom iPhone applications using 
the media player framework.
QuickTime X can also play HTTP Live Streams, enabling playback on the desktop. Developers can 
use the QuickTime framework to create desktop applications that play HTTP Live Streams. The 
QuickTime plug-in allows you to embedded streams in websites for playback through a browser 
without writing any application code.
In a typical configuration, a hardware encoder takes audio-video input and turns it into an 
MPEG-2 Transport Stream, which is then broken into a series of short media files by a software 
stream segmenter. These files are placed on a web server.
The segmenter also creates and maintains an index file containing a list of the media files. The 
URL of the index file is published on the web server. Client software reads the index, then requests 
the listed media files in order and displays them without any pauses or gaps between segments.
An example of a simple HTTP streaming configuration is shown in Figure 3.
Fig 3. The HTTP Live Streaming Architecture
Input can be live or from a prerecorded source. It is typically encoded into an MPEG-2 Transport 
Stream by off-the-shelf hardware. The MPEG2 stream is then broken into segments and saved as a 
A/V input
MPEG 2
transport stream
Server
Client
media 
encoder
stream 
segmenter
Distribution
.ts
Index 
file
HTTP
A Review of HTTP Live Streaming!
Andrew Fecheyr-Lippens
8
series of one or more 
.ts
media files. This is typically accomplished using a software tool such as the 
Apple stream segmenter.
Audio-only streams can be a series of MPEG elementary audio files formatted as either AAC with 
ADTS headers or MP3.
The segmenter also creates an index file. The index file contains a list of media files and metadata. 
The index file is in 
.M3U8
format. The URL of the index file is accessed by clients, which then request 
the indexed 
.ts
files in sequence.
Server Components
The server requires a media encoder, which can be off-the-shelf hardware, and a way to break the 
encoded media into segments and save them as files, which can be software such as the media stream 
segmenter provided by Apple (available in beta for download from the Apple Developer Connection 
member download site
2
).
Media Encoder
The media encoder takes a real-time signal from an audio-video device, encodes the media, and 
encapsulates it for delivery. Currently, the supported format is MPEG-2 Transport Streams for audio-
video, or MPEG elementary streams for audio. The encoder delivers an MPEG-2 Transport Stream 
over the local network to the stream segmenter.
The protocol specification is capable of accommodating other formats, but only MPEG-2 video 
streams (with H.264 video and AAC audio) or MPEG elementary audio streams (in AAC format with 
HTDS headers or in MP3 format) are supported at this time. It is important to note that the video 
encoder should not change stream settings — such as video dimensions or codec type — in the 
midst of encoding a stream.
Stream Segmenter
The stream segmenter is a process — typically software — that reads the Transport Stream from 
the local network and divides it into a series of small media files of equal duration. Even though each 
segment is in a separate file, video files are made from a continuous stream which can be 
reconstructed seamlessly.
A Review of HTTP Live Streaming!
Andrew Fecheyr-Lippens
9
2
https://connect.apple.com/cgi-bin/WebObjects/MemberSite.woa/wa/getSoftware?bundleID=20389
The segmenter also creates an index file containing references to the individual media files. Each 
time the segmenter completes a new media file, the index file is updated. The index is used to track 
the availability and location of the media files. The segmenter may also encrypt each media segment 
and create a key file as part of the process.
Media segments are saved as 
.ts
files (MPEG-2 streams) and index files are saved as 
.M3U8
files, an extension of the 
.m3u
format used for MP3 playlists. Because the index file format is an 
extension of the 
.m3u
file format, and because the system also supports 
.mp3
audio media files, the 
client software may also be compatible with typical MP3 playlists used for streaming Internet radio.
Here is a very simple example of an 
.M3U8
file a segmenter might produce if the entire stream 
were contained in three unencrypted 10-second media files:
The index file may also contain URLs for encryption key files or alternate index files for different 
bandwidths. For details of the index file format, see the IETF Internet-Draft of the HTTP Live 
Streaming specification
[3]
.
Media Segment Files
The media segment files are normally produced by the stream segmenter, based on input from 
the encoder, and consist of a series of 
.ts
files containing segments of an MPEG-2 Transport Stream. 
For an audio-only broadcast, the segmenter can produce MPEG elementary audio streams containing 
either AAC audio with ADTS headers or MP3 audio.
Alternatively, it is possible to create the 
.M3U8
file and the media segment files independently, 
provided they conform the published specification. For audio-only broadcasts, for example, you could 
create an 
.M38U
file using a text editor, listing a series of existing 
.MP3
files.
#EXTM3U
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-TARGETDURATION:10
#EXTINF:10,
http://media.example.com/segment1.ts
#EXTINF:10,
http://media.example.com/segment2.ts
#EXTINF:10,
http://media.example.com/segment3.ts
#EXT-X-ENDLIST
A Review of HTTP Live Streaming!
Andrew Fecheyr-Lippens
10
Documents you may be interested
Documents you may be interested