Adobe Flash Media Server 5 介绍与入门

Adobe Flash Media Server 5 介绍与入门

2023年6月25日发(作者:)

Adobe® Media Server 5 White Paper

Table of contents

1: Introduction

2: What’s new in

Adobe Media Server

5

3: Adobe Media Server 5

Family

4: MultiProtocol delivery

6: Delivery Methods

7: Video Player

Development

8: Glossary

9: Online Resources

Introducing Adobe® Media Server 5

Secure video experiences consistent across devices

By Lisa Larson-Kelley

The Adobe Media family of products revolutionizes media delivery, with support for secure, consistent

streaming on the widest array of devices—tablets, mobile devices, IPTV, and the desktop. Deliver and nowencrypt a single stream across multiple platforms and protocols, reaching iOS devices as well as platforms

that support Flash technologies—so you can fully monetize your video, reaching the most people with the

least hassle. Adobe Media Server (formerly Flash Media Server) continues to be the industry-leading

solution for integrating streaming video and real-time communication with RTMP, RTMFP (peer-to-peer

networking), HTTP Dynamic Streaming, and SIP support.

New content protection solutions

Providing content protection that is right for the situation, Adobe Media Server now supports enhanced

stream encryption or more sophisticated protection with business rules applied through Adobe Access®.

When simple content protection rules are needed, Protected HTTP Dynamic Streaming (PHDS) for

Flash and AIR-based clients, and Protected HTTP Live Streaming (PHLS) for iOS enable easy, robust

content encryption without an additional DRM license server. For mobile devices, Adobe Access or

protected streaming can be used within AIR applications or native iOS applications.

Enhanced server management and media preparation

With the release of Adobe Media Server 5 software, customers benefit further from new features such as:

 More robust media origin services

 Advanced disk management for HTTP streaming

 Offline stream packaging

 Dynamic copy protection

Real-time data sharing, server-side plug-ins, logging, and monitoring APIs provide developers and IT

teams with the tools they need to develop and administer rich media applications on a massive scale.

Adobe® Media Server 5 software provides a simplified HTTP publishing workflow that allows you to deliver

video to iOS, AIR and Flash Player quickly and easily. Flexible delivery methods can save significant

bandwidth costs and lighten network load. Enhancements in integrated real-time communication open up

new business opportunities, with high quality voice and video capabilities providing access to a universe

of SIP-enabled devices. From user-generated content to movies and television shows to corporate training

and large-scale internal broadcasts, Adobe Media Server offers enterprise-level solutions for delivering

content and communications. Improved performance and quality of service metrics enhance playback

quality, while included prebuilt media players make deployment easier than ever.

This white paper outlines the powerful features of Adobe Media Server 5, explains protection options,

introduces the various editions, and discusses the features available in each and how they can lower your

total cost of delivery and simplify your content preparation workflows. You will learn about the multiple

delivery protocols supported by Adobe Media Server, and gain the knowledge you need to make informed

choices about how to deliver and monetize video and communication services to the largest online

audience.

What’s New in Adobe Media Server 5

Adobe Media Server 5 is a scalable, real-time media origin server that packages and delivers high quality

(up to HD level), on-demand and live audio/video content with great efficiency and superior quality-of-

service (QoS) to reach the largest possible audience, regardless of the client platform. It can deliver

prerecorded video, live video, playlists, music, video blogging, video messaging, multimedia chat

environments,

real-time datacasting, multiuser gaming, and more, via multiple delivery protocols.

Adobe Media Server now streams securely to Apple iOS, Flash Player, and Adobe AIR across platforms,

browsers, and devices, with multiple protocols available. Enhanced real-time communication now features

SIP Gateway support in Flash Player and Adobe AIR, along with RTMP and RTMFP protocols.

Adobe Media Server 5 has many improvements and new features, including:

Expanded media streaming options

 Protected RTMP (pRTMP)

 24/7 live streaming support

 Adobe Access key rotation and output protection (Adobe Access license required)

 Protected HTTP Dynamic Streaming for Adobe Flash and AIR (PHDS)

 Protected HTTP Live Streaming for Apple iOS (PHLS)

 Adaptive bitrate manifest support

 Multi-protocol manifest generator/pre-packaging tools (Flash and iOS)

 Adobe Access 4 DRM ready

 608/708 closed captioning support

Enhanced communication features

 On-demand stream packaging for HTTP (Flash and iOS)

 Audio extraction for HLS (required for Apple App Store approval)

 SIP Gateway support with G711 coding in Flash Player

 High quality audio/video capture support

 Scalable P2P introduction services for Flash

 Multicast ingest and recording

Server platform

 Robust HTTP Media Origin services

 Advanced disk management for HTTP (Flash and iOS)

 Optimized Server configuration for live HDS

 Native 64-bit only

These improvements represent the continued evolution of Adobe Media Server, giving developers the

advanced features they need to create effective rich media applications across platforms and devices. In

addition, OSMF reduces the learning curve and speeds up your time to market.

Adobe Media Server 5 Family

There are four Adobe Media Server 5 editions available:

• Adobe Media Server 5 DevelopmentStarter (free from Adobe)

• Adobe Media Server 5 Standard

• Adobe Media Server 5 Professional

• Adobe Media Server 5 Extended

Adobe Media Server 5 Professional and Adobe Media Server 5 Extended can operate as either an origin

or an edge server to distribute traffic load. Enhanced media origin services allow greater control over

media publishing workflows for HTTP streaming to Adobe AIR, Flash Player and Apple iOS. For more

details on origin and edge configurations, see the “Scaling the server” section of the Adobe Media Server

5 Technical Overview white paper (/go/ams_techguide).

Adobe® Media Server 5 White Paper

2

The following table provides a quick overview of supported features in each edition. Features supported in

all editions are highlighted in bold.

Adobe Media Adobe Media

Feature Server 5 Server 5

Adobe Media Adobe Media

Extended Professional

Server 5 Server 5 Starter

Standard

HD live streaming

24/7 Live streaming support

using DRM key rotation

• • • •

HTTP Live Streaming for iOS

(HLS)

• • • Limited to 30 min

Stream reconnect • • • •

Live stream metadata (data

keyframes)

• • • •

Live adaptive bitrate

streaming (HTTP)

• • • Limited to 30 min

Multicast ingest and

recording

• • •

Live 608/708 closed caption

support

• • • •

High quality video capture • • 1 way only •

Live stream splitting • • •

Live adaptive bitrate Limited to 10

streaming (RTMP) • •

simultaneous

connections

DVR functionality (HTTP) • • Limited to 30 min

DVR functionality (RTMP) • • •

Instant replay (RTMP) • • •

Linear server playlists

(VOD>live)

• • •

IP Multicast • • Limited to 30 min

Application-level multicast • • Limited to 30 min

Multicast fusion (peer assist) • Limited to 30 min

HD on-demand streaming

Standalone offline packaging

utilities (HDS and HLS)

• • • •

Stream reconnect

In-buffering seeking (RTMP)

Fast forward

Available in all versions of Adobe Media Server 5

Slow motion

to enable high quality streaming across the whole product offering

Framestepping

Back buffer for instant replay

VOD adaptive bitrate

streaming (HTTP)

• • • Limited to 30 min

VOD 608/708 closed caption

support

• • • •

VOD adaptive bitrate Limited to 10

streaming (RTMP) • • •

simultaneous

connections

Adobe® Media Server 5 White Paper

3

Adobe Media Adobe Media

Feature Server 5 Server 5

Adobe Media Adobe Media

Extended Professional

Server 5 Server 5 Starter

Standard

Content Protection

Offline packaging and

encryption (HDS and HLS)

• • • •

Protected RTMP (pRTMP)

• • • •

Protected HTTP Dynamic

Streaming for Flash (PHDS) • • Limited to 30 min

Protected HTTP Live

Streaming for iOS (PHLS) • • Limited to 30 min

Adobe Access 4DRM

ready

• • •

Encrypted RTMP (RTMPe) • • •

• SWF verification • • •

• Adobe Access streaming • • •

RTMFP (encrypted)

Limited to 500

Limited to 50

peers

peers

IP multicast (encrypted) • • Limited to 30 min

Server platform and security

64 bit Windows®, Linux only

• • • •

White/Black list domains

• • • •

IPV4, IPV6

• • • •

C++ access

control

• •

Access C++

plug-in only

extensibilityPre-configured HTTP origin

for HTTP Dynamic Streaming

• • • •

LDAP Active Directory

support

• • •

Scalable process scopes

• •

RTMP edge caching

• •

C++ file management

extensibility

• •

Quality of service

Robust logging

• • • •

Enhanced buffer control

• • • •

Bandwidth detection

• • • •

RTMP QoS (DiffServ) Linux only Linux only Linux only Linux only

Enhanced caching

• •

Licensing

Processor (CPU) limits None None None None

Bandwidth limits None None None None

Adobe® Media Server 5 White Paper

4

Adobe Media Adobe Media

Feature Server 5 Server 5

Adobe Media Adobe Media

Extended Professional

Server 5 Server 5

Standard Starter

Connection limits

• 25 SIP

• 5 SIP • 50 simultaneous

connections connections RTMP

• 15,000

(development

connections

simultaneous

only)

• 50 simultaneous

RTMFP peers

• 500

RTMFP peers

simultaneous

• 30 minutes of IP

RTMFP peers

multicast

• 30 minutes of

HDS, HLS, pHDS,

and pHLS

• 5 SIP

connections

Interactive programming

Server-side record

• • •

Shared objects

• • •

Data push

• • •

Socket server ingest

• • •

Server proxy programming

• • •

Peer introduction forwarding

• • •

Peer-assisted networking Limited to 15,000 Limited to 500 Limited to 50

(RTMFP) peers peers peers

Custom server-side

programming

• • •

AMF3 support

• • •

Unified communications

SIP gateway services

Limited to 25 Limited to 5 Limited to 5

simultaneous simultaneous simultaneous

connections connections connections

VoIP

• • •

Webcam chat

• • •

RTMFP unicast

Limited to 500

peers

RTMFP peer introduction Limited to 15,000 Limited to 500 Limited to 50

services peers peers peers

RTMFP object replication

Limited to 50

peers

RTMFP posting/directed

routing

The following sections explore the capabilities of each server to help you select the best solution for your

specific application.

Adobe Media Server 5 Starter

Adobe Media Server 5 Starter enables developers to test and develop using the features of Adobe Media

Server 5 Extended. Full functionality with a few connectivity limitations allows you to test drive features such

as protected HTTP streaming, SIP gateway services, peer assisted networking, multicast fusion streaming,

and new multicast ingest and recording. This free edition is available from /go/

tryadobemediaserver. It can be used in production for anyone who wants to implement basic low-volume

streaming or social communication solutions. It has a capacity limit of 50 simultaneous inbound RTMP

connections, 50 peer introductions, 30 minutes of IP multicast, 5 SIP ports, and 30 minutes of continuous

HLS and HDS protected streaming.

Adobe® Media Server 5 White Paper

5

Adobe Media Server 5 Standard

Adobe Media Server 5 Standard is an economical solution that enables you to start streaming live and on

demand content quickly and easily to a wide variety of platforms and devices, including iOS. It provides all

the features you need to stream video and audio, and works in unison with the Adobe Flash Media Live

Encoder to stream live video. This edition is ideal for:

 Basic video on demand (VOD) and live streaming

 Publishers who wish to simplify their content preparation workflow

 Small to medium-size businesses that want to implement training or broadcast

 Bloggers who want to broadcast live or on-demand streams

 Videographers who need to allow clients to securely view their videos on the web

 Company-wide video messages

 Website owners who want to embed and protect high-quality streaming video

 One-way, secure video streaming

Adobe Media Streaming Server 5 ships with three services that make it easy to start streaming right out of

the box:

Live video streaming—The included live video RTMP streaming application allows you to start publishing

live video right away. It works with the Adobe Flash Media Live Encoder for live stream capture. You can

use Flash Media Playback, Strobe Media Playback, and custom OSMF-based players for to play the

streams.

Video on demand—The standard RTMP VOD application features server-to-client bandwidth detection,

domain-based authentication, full support for Flash Media Playback and custom OSMF-based players.

The server ships with sample media files for testing.

HTTP Live Packager—The HTTP Live Packager (livepkgr) application ingests streams, such as from Flash

Media Live Encoder, packages them into fragments, and delivers the fragments to clients in real-time.

Both the live and VOD applications support the stream data access feature in Flash Media Server 3 and

later (all editions), which allows you to access the bitmap data of a stream. This feature has a myriad of

uses, such as taking snapshots from a webcam feed or creating thumbnails or video previews dynamically.

Adobe Media Server 5 Professional

Take advantage of even greater levels of content protection across more devices with Protected HTTP

streaming – which takes advantage of Adobe Access 4 (a separate server purchase) – and deliver rich

interactive experiences with added peer assisted networking support. Enhance your applications with

custom functionality, record streams, utilize remote shared objects, leverage peer assisted networking,

and access additional scalability features.

Adobe Media Server 5 Professional offers powerful network efficiencies with support for IP multicast,

RTMFP, HTTP Dynamic Streaming for the Flash platform, and HTTP Live Streaming for Apple iOS.

Automated packaging enables delivery to iOS, Flash Player 10.1 enabled browsers and devices, and AIR

with no additional workflow complexity. This edition provides consistent, secure interactive playback

experiences and real-time communication across the broadest range of platforms and devices. It is ideal

for:

 Medium to large businesses that can benefit from flexible delivery methods

 Publishers who wish to simplify their content preparation workflow, with enhanced DRM protection

 Social media companies requiring multiuser experiences

 Companies that need to maximize delivery capacity while minimizing network costs

 Large-scale deployment

 Developing custom video solutions, including stream recording and DVR functionality

 Developing communication experiences

Adobe® Media Server 5 White Paper

6

 Supplementing live or on-demand video streaming services with interactive features

Adobe Media Server Professional lets you include value-added multi-way solutions to help you socialize

your streaming media with advanced real-time communication and collaboration services. It’s the only high-performance and scalable server on the market that supports multi-way applications, including webcam

video chat, recording, VoIP, and online games. Adobe Media Server Professional is the workhorse of the

Adobe Media family, and even features support for peer assisted networking (RTMFP).

Adobe Media Server Professional can also be used to interact with specialty data servers such as LDAP

for authentication, Simple Object Access Protocol (SOAP), or XML, and integrates with Adobe Flash

Media Live Encoder. For even more customization, you can also implement custom server-side

ActionScript and develop plug-ins in C++ that further extend the functionality of the server.

In addition to the features in the Adobe Media Server Standard edition, Adobe Media Server 5 Professional

includes additional streaming and communication features such as:

 Application-level multicast

 IP multicast broadcast

 Multicast Fusion (for more information, see the “Benefits of Each Delivery Method” section later in this

 document)

 Scalable RTMFP peer introduction and routing services for Flash (500 peers)

 Protected HTTP streaming for Apple iOS, Android, Flash Player, and Adobe AIR.

 Scalability with Edge caching

Adobe Media Server 5 Extended

Adobe Media Server 5 Extended provides maximum reach with minimum network load through peer

assisted networking support. Adobe Media Gateway functionality is integrated with this edition enabling

connection between Flash and SIP-enabled devices. Designed to use the network more efficiently for large-scale media delivery and real-time communication, Adobe Media Server 5 Extended is ideal for:

 Large broadcasters who want to reach the widest audiences with protected content, including Apple iOS

 Large enterprises with large global networks

 Massive social media applications

 VoIP services that want to integrate traditional calls with Flash applications

 Companies that need to maximize delivery capacity while minimizing network costs

 Large enterprises with media requirements over multiple locations and networks

 Customer-facing marketing (such as press conferences or product demos)

 Enterprises that want complete control over their media delivery

 Companies that want to reach the widest range of platforms and devices and automate content preparation

In addition to the features in other editions, Adobe Media Server 5 Extended includes advanced streaming

and communication features such as:

 Support for SIP-enabled devices (25 connections)

 Scalable RTMFP peer introduction and routing services for Flash Player and AIR (15,000 peers)

Multiprotocol Delivery

Adobe’s traditional streaming protocol, RTMP, has served and protected millions of hours of video and

enabled revolutionary interactive experiences. Adobe Media Server 5 introduces support for an even

wider range of delivery protocols and formats, providing a consistent, secure playback experience across

platforms and devices.

Adobe® Media Server 5 White Paper

7 Video delivery and consumption is becoming increasingly fragmented and complex, with clients of

differing protocols, screen sizes, and processor capabilities. Delivering video with Adobe Media Server

reduces the complexity of media publishing, offering the publisher a very simple workflow to publish and

encrypt video across Apple iOS, Android, connected TVs, and the desktop. With on demand packaging

that will automatically convert streams for HTTP delivery, you can depend upon consistent codec support,

protection, and a high-quality experience regardless of the device or platform.

The following table outlines supported transport protocols, delivery methods, and associated server versions.

Transport

Adobe Media

Adobe Media

Adobe Media Adobe Media

Protocol

Delivery Method

Server Standard

Server

Professional

Server Extended Server Starter

RTMFP Unicast Limited to 500

• Limited to 50

peers

peers

Native IP

• • Limited to 30 min

multicast

Peer-assisted

• • Limited to 30 min

(application-level

multicast)

Multicast fusion • • Limited to 30 min

Multicast ingest

• • •

and recording

HTTP Progressive

• • • •

download

HTTP Dynamic

• • • Limited to 30 min

Streaming (HDS)

HTTP Live

• • • Limited to 30 min

Streaming for

Apple iOS (HLS)

Protected HTTP

• • Limited to 30 min

Dynamic

Streaming (pHDS)

for Flash Player

and AIR

Protected HTTP

• • Limited to 30 min

Live Streaming

(pHLS) for Apple

iOS

RTMP pRTMP • • • •

RTMP • • • •

RTMPE • • • •

RTMPT • • • •

RTMPS (SSL) • • • •

The Flash Platform for video delivery

Flash Player has evolved along with Adobe Media Server. With Flash Player 10.3 and later, the client

runtime supports an array of new video-related features. Coupled with Adobe Media Server 5, the Flash

Platform now has the ability to stream video and enables communications to more screens than ever

before. You can achieve maximum reach with the ubiquitous Flash Player in the browser, Flash Player

10.1 on select devices, and Adobe AIR on the desktop and devices.

Adobe® Media Server 5 White Paper

8

Introduced in Flash Player 10.3, Media Measurement for Adobe® Flash® allows companies to measure

video usage more easily. Get real-time, aggregated reporting of how video content is distributed, what the

audience reach is, and how much video is played. With Adobe Flash Player 10.3 and Adobe SiteCatalyst®,

powered by Omniture®, developers can implement video analytics for websites with as little as two lines of

code. Analytics solution providers can use a set of new open APIs to easily implement consistent video

analytics regardless of implementation or delivery protocol.

Flash Player 11 and AIR 3 now support major video enhancements, including multi-threaded video

decoding and H.264/AVC video encoding. Multi-threaded video decoding enables improved playback

performance and increased frame rates of high bitrate content, for both live streaming and real-time video

chats on Windows, Mac OS, and Linux. Enjoy higher-quality video capture with H.264/AVC video encoding

right in the browser.

Recent audio enhancements include G.711 audio compression for SIP Gateway communication in Flash

Player 11 and later, and acoustic echo cancelation in the desktop version of Flash Player 10.3 and later.

Support interoperability with legacy phone systems via the Adobe Media Gateway (AMG) and other third-party clients (through the open RTMP protocol) without the need for transcoding. Create real-time

online collaboration experiences with high-quality audio, such as telephony, in-game voice chat, and group

conferencing applications for desktop PCs. Developers can take advantage of acoustic echo cancellation,

noise suppression, voice activity detection, and automatic compensation for various microphone input levels.

End users will be able to experience higher quality audio, facilitating smoother conversation flow, without

using a headset.

Adobe Media Server support for versions of Adobe Flash Player

Features

Versions Versions Version Version Version Version Version

8 and 9 9,0,115,0 10 10.1 10.2 10.3 11

G.711 audio compression for

telephony (SIP Gateway

support)

H.264/AVC software •

encoding for cameras

Multi-threaded video •

decoding

Protected HTTP Dynamic • •

Streaming (pHDS)

Media Measurement • •

(desktop only)

Acoustic echo cancellation • •

(desktop only)

IP Multicast • • • •

HTTP Dynamic Streaming • • • •

RTMFP Groups • • • •

RTMFP • • • • •

Multicast fusion • • • •

Adobe Access Protection • • • •

Stage Video GPU hardware

• • • •

acceleration (including Mac

support)

Adobe® Media Server 5 White Paper

9

Features

Versions Versions Version Version Version Version Version

8 and 9 9,0,115,0 10 10.1 10.2 10.3 11

Stream Reconnect/Buffer

• • • •

access/Trick modes (fast

forward, rewind, back buffer)

Sorenson Video (H.263) with

• • • • • • •

Nellymoser audio—play and

capture

On2 VP6 video codec: play

• • • • • • •

only

H.264 and High Efficiency

• • • • • •

AAC: play only

RTMPE / RTMPTE • • • • • •

SWF Verification • • • • • •

Limited GPU hardware

• • • • • •

acceleration

Multicore support • • • • • •

Smart buffering (in-buffer

• • • • • •

seeking)

RTMP Dynamic

• • • • •

Streaming (Adaptive

Bitrate)

XMP metadata • • • • •

Speed audio codec • • • • •

Flash Player support in versions of Adobe AIR

Flash Player 9 Flash Player 10 Flash Player 10.1 Flash Player 10.3 Flash Player 11

AIR 1.0

AIR 1.5

• •

AIR 2.0

• • •

AIR 2.5

• • •

AIR 2.7

• • • •

AIR 3.0

• • • • •

Adobe AIR (version 1.0 or later) for playback clients

Adobe AIR is a cross-operating system runtime that enables you to use your existing HTML, Ajax, Flex,

or Flash web development skills and tools to build and deploy rich Internet applications (RIAs) across

platforms and devices—including Android™, BlackBerry®, iOS devices, personal computers, and televisions.

Adobe AIR applications support native operating-system integration, including clipboard and drag-and-

drop support, local file input and output, and system notification. AIR applications can connect to Adobe

Media Server to stream audio and video or share data, just as SWF files do. Adobe Access content

protection is supported as well.

Adobe AIR 3 compatibility

Adobe AIR 3

Flash Player 11 features

Open Source Media Framework

(External plug-ins not supported)

Adobe Access 4 Integration

For more information about Adobe AIR visit /products/air/. For details about

supported desktop and mobile operating systems and specifications, see

/products/air/ systemreqs/.

Adobe® Media Server 5 White Paper

10

Delivery Methods

Adobe Media Server 5 supports delivery to Flash Player, AIR, and iOS clients. There are two supported

methods for delivering video over the Internet to iOS:

 HTTP Live Streaming (HLS)

 Protected HTTP Live Streaming for (PHLS)

 There are seven methods for delivering video over the Internet to Adobe Flash Player and AIR clients:

 Embedded video

 HTTP progressive download

 RTMP streaming (pRTMP, RTMPe, RTMPS, RTMPT)

 HTTP Dynamic Streaming (HDS) for the Flash Platform

 Protected HTTP Dynamic Streaming (PHDS)

 Multicast streaming (native IP multicast, application-level multicast, multicast fusion)

Although this section focuses on delivering video files, these same methods can be used to deliver audio-only

experiences.

Embedded video adds video directly to a SWF file and is used for very specialized applications with low-quality, short video clips.

In both progressive download and streaming delivery, the video content is external to the SWF file. To

deploy on-demand video content to the web, the SWF file and the video files are uploaded to a server.

 Keeping the video external and separate from the video player offers a number of benefits over the embedded

video method:

 High quality experiences with multi-bitrate

 Protected experiences

 Reduced client memory usage

 Advanced streaming options that improve the experience, such as live video, enhanced seeking, large

 file support, and alternative delivery such as HTTP Dynamic Streaming

 Improved player performance overall

 Lower SWF size

 Faster playback startup time

Adobe® Media Server 5 White Paper

11 HTTP Progressive download

Progressive download has been supported for video delivery since Flash Player 7 (released in 2004).

This method allows developers to load external video files into a Flash Player or Flex interface and play

them back during runtime. In this approach, the video is downloaded like any other file, and then played

back. This can be accomplished using the ActionScript Video object, OSMF, or by setting parameters of

feature- rich prebuilt players such as Strobe Media Playback, as shown in the following figure.

Adobe Media Server has a built-in Apache server with configurations that can make it very easy to

transition from progressive download to streaming.

Figure 1

Strobe Media Playback is an open-source implementation of the Open Source Media Framework, offering support for set-level manifests and

other OSMF 1.6 features. Configurable via ActionScript or flashvars.

With progressive download, when the video is played, the video file first begins to download to the user’s

hard drive, and playback starts when enough of it has been downloaded for buffering. The video file is

served from a standard web server through an HTTP request, just like a regular web page or any other

downloadable document.

In comparison to streaming video, progressive download has only one consistent benefit: You don’t need

a streaming server to deliver the video. It can be served from any typical web server.

While this can be convenient and potentially cost-effective, there are some potential issues:

 Limited seek and navigation capabilities

 Often the entire video file is downloaded, even if the viewer did not play back the entire file, wasting

 bandwidth

 Viewers can access and repurpose the content on the local hard disk.

Adobe® Media Server 5 White Paper

12

When to choose progressive download

Progressive download is a good choice for hobbyists or websites that have low traffic requirements, if they

don’t mind their content being cached on a user’s computer, they only need to deliver videos less than 3

minutes long, or their visitors cannot receive streaming video for some reason.

You should stream your video if you need to do the following:

 Take advantage of advanced features and control over video delivery

 Display higher quality video

 Deliver videos with long durations (more than 3 minutes)

 Deliver high volume

 Track and report usage or viewing statistics

 Offer viewers the best interactive playback experience.

 Avoid cache-raiding and content repurposing, due to the fact that progressive delivery leaves the video

 file in the browser cache.

 Deliver the highest quality possible with adaptive streaming.

Specific use cases for progressive delivery include:

 Publishers of short video clips, such as video blogs

 Publishers who don’t need real-time content protection (Adobe Access can be used to protect content

 delivered via progressive delivery)

 Individuals or companies that have low-volume media delivery requirements

Streaming delivery also consumes less bandwidth than progressive delivery, because only the portion of

the video that is watched is actually delivered.

RTMP streaming

The ability to stream video and audio was first available with Flash Player 6.

Publishers use video player applications such as Strobe Media Playback to deliver video. Strobe Media

Playback supports RTMP streaming, HTTP Dynamic Streaming, and progressive download. Video files

are stored external to the (Strobe) playback application SWF for these delivery methods. Plug-ins that

enable simple integration with third-party APIs and add features such as in-stream advertising and

analytics are available. Developers can use OSMF to take advantage of the latest Adobe Media Player

features and further customize their player applications with ActionScript commands that extend

functionality.

Flash Player manages streaming video in a similar way to progressive downloaded video. For example,

video data is loaded into a video player application from an external source, is played back using

NetStream class, and can be controlled via ActionScript. However, streaming video over RTMP requires

a persistent connection to the server and cannot operate without a network connection. This connection

provides additional benefits, including better memory management and no resident video files on the

client computer.

This tight connection between the server and the client, and the server’s ability to precisely control and

deliver any portion of a stream as requested, enables the developer to take advantage of some advanced

capabilities.

Large-scale live streaming—Creating webcast live or recorded events where all viewers access the same content

at the same time.

QoS—Measuring and tracking the stream’s quality of delivery and switching to a lower (or higher) bitrate

stream if needed (for example, if network congestion increases).

Dynamic previews—Automatically generating thumbnails or playing short previews of your video clip

without having to create separate images or video clips, and without downloading the entire video in the

background.

Dynamic chapter navigation—Automatically creating “chapters” (with appropriate thumbnails) that can

be used for navigation of longer videos, without having to break the video into smaller files.

Stream swapping—Seamlessly switching midstream from one camera angle or one stream to another.

Adobe® Media Server 5 White Paper

13

On-the-fly editing—Piecing video clips together to create one continuous video for playback. For

example, playing the first 10 seconds of clip 1, followed by the content between the 30- and 40-second

marks of clip 2, followed by the last 20 seconds of clip 3.

Bandwidth detection—Determining the client bandwidth and serving a stream with an appropriate bitrate.

RTMP streaming benefits

RTMP streaming provides the publisher many more options for high-quality video and protected media

delivery and interactive video experiences.

The advantages of streaming video from Adobe Media Server are numerous:

Real-time content protection—Simple workflow to encrypt and protect streams, with options to increase

protection with Adobe Access file encryption.

Faster start—Fastest way to start playing any video on the web.

In-buffer seeking for fast response time—Instant seeking within the buffer with the new buffer access

feature in Flash Player 10.1 and later.

Stream reconnect—Uninterrupted playback experiences when connectivity with the server is lost; play

through the buffer while automatically reconnecting.

Simple content-protection workflows—Protect video with a wide range of solutions from encrypted

RTMP (RTMPe) to Adobe Access encryption.

Low-latency live video—Deliver live video and audio from any connected webcam or DV camera, and

even directly from some video cards, natively in Flash Player.

Advanced video control—Features such as bandwidth detection, QoS monitoring, automatic thumbnail

creation, server-side playlists, and more.

Efficient use of network resources—Customers who pay for their video hosting or bandwidth by the number

of bits that are transferred can reduce costs because only the bits that the client actually views are transferred.

More secure, protected media delivery—Because the media data is not saved to the client’s cache when

streamed, viewers can’t retrieve the video or audio file from their temporary Internet file folder. Additional security

features in Adobe Media Server 5 also prevent stream ripping and other risks.

Minimal use of client resources—Less memory and disk space used because the client doesn’t need to

download and store the entire file.

Tracking, reporting, and logging capabilities—Because progressive download is a simple download of a file,

it’s not easy to log relevant statistics such as how long the video was viewed, if the user navigated forward,

backward, or paused the video, how many times the viewer played the video, if the viewer left the webpage

before the video completed playing, and so on. Streaming enables you to easily capture this important data.

Full seek and navigation—Because viewers can seek to any point in the video and start playing immediately

from that point, streaming is a great solution for longer-playing videos or uses such as video blogging,

classroom lectures, and conference sessions, where viewers want to jump to a specific point rather than being

required to watch from the beginning.

Deep interactivity—Streaming’s precise control lets developers create extensive interaction in their video

applications. For example, the ability to switch camera angles, have one video spawn another video, or

seamlessly switch to alternate endings, are all enabled by streaming.

Video capture and record (Adobe Media Server Professional and Adobe Media Server Extended

only)—Record video either in conjunction with the live stream, such as archiving an event, or on its own,

such as video messaging.

Multiuser capabilities (Adobe Media Server Professional and Adobe Media Server Extended only)—In addition to live one-to-many streaming, Adobe Media Server enables multiuser streaming of audio,

video, and data for the creation of video communication applications.

Adobe® Media Server 5 White Paper

14

RTMP streaming and progressive download delivery methods are very similar to deploy. Streaming just

gives the developer more power to create rich, interactive video applications. Flash Media Playback can

be used for either delivery method. If more customization or the most current playback features are

required, OSMF or Strobe Media Playback can be used.

Video publishers who have high-volume streaming needs, popular content, or critical uptime requirements

but don’t want to build their own infrastructure can get the benefits of streaming video in Flash Player by

utilizing a content delivery network (CDN). These Adobe partners offer load-balanced, redundant

deployment of Adobe Media Server over a reliable content-delivery network. For more information about

cdn partners, visit /go/ams_partners

When to choose RTMP streaming

You can use streaming with Adobe Media Server in situations where you need to do the following:

 Deliver files longer than 3 minutes or larger than 100Kbps

 Protect content in real time with RTMPe and SWF Verification, and PRMTP (with Adobe Media Server 5.1

 Extended).

 Broadcast low-latency live streams

 Provide adaptive bitrate delivery, allowing you to deliver the best quality video for the available hard- ware and

connection speed

 Monitor QoS

 Perform real-time tracking

 Integrate real-time data sharing and interactivity to your video experiences

 Stream live video and audio

 Record video and audio

 Serve more streams with less bandwidth

 Achieve massive scale delivery

If your website or blog relies heavily on video, audio, or real-time data sharing, you can give your user the

best experience by using the features of Adobe Media Server. Examples of typical use cases for RTMP

streaming include:

 Medium to large businesses that could benefit from complex deployment requirements such as edge,

 origin, C++, SSAS, ACL, or LDAP

 Social networks requiring real-time communication, such as video chat, VoIP, multiplayer games, or text

 chat alongside video content

 Educational institutions that want to create a virtual classroom or broadcast live, interactive experiences

 Government agencies that want to implement real-time communication or interactive training

 News broadcasters streaming live programming

 Podcasters who need to accurately measure viewership and interaction

 Sports broadcasters that want to enable DVR functionality

 Anyone seeking scalable, secure streaming with custom server-side application logic

Adobe® Media Server 5 White Paper

15 HTTP Dynamic Streaming (HDS) for the Flash Platform [ENHANCED]

Flash Player 10.1 introduced support for HTTP Dynamic Streaming, enabling an adaptive-bitrate,

protected streaming experience with common HTTP servers, caching devices, and networks. Functionality

and performance are similar to RTMP streaming, but a streaming server is not required. Using a standard

MPEG-4 fragment container format, HTTP Dynamic Streaming supports both live and on-demand media

content that adjusts to the viewer’s connection speed and processing power. It is compatible with standard

HTTP protocol infrastructures that can scale efficiently and affordably.

A key enhancement in Adobe Media Server 5 is in the just-in-time packager, which now provides real-time

packaging of content for HTTP streaming delivery from the same recording application. The Apache

module () efficiently handles the creation of fragments and manifests needed for both HTTP

Dynamic Streaming and HTTP Live Streaming delivery simultaneously, enabling playback across a wide

range of devices with a single media source. For PHDS/PHLS delivery, the fragments are now recorded

unencrypted on disk, and then encrypted dynamically for HDS or HLS.

The following tools to process and deliver content via HTTP Dynamic Streaming are included in the Adobe

Media Server 5 installation:

File Packager for VOD—Creates MP4-fragmented media (F4F) and the manifest file (F4M) from existing

content encoded for Flash technology. The tool also optionally encrypts using Adobe Access. (in amsroot/

tools)

Live Packager—Prebuilt service that converts any RTMP live stream into protected F4F files to create a

streaming experience over HTTP. The tool also optionally encrypts using Adobe Access. (in amsroot/

applications)

HTTP Origin Services built on Apache—The Apache web server has been preconfigured as an

HTTP origin server, making it easy to serve F4F files to content delivery networks (CDNs) or your own

HTTP infrastructure. (in amsroot/Apache2.2/modules)

Set-level F4M/M3U8 Generator (f4mconfig)—SWF file that assists in creating multi-level manifests for both

HDS and HLS delivery. (in amsroot/tools)

Video players that are built using OSMF, such as Flash Media Playback and Strobe Media Playback,

provide the player logic required to parse and play media sets and manifest files, request media, monitor

QoS, and render playback. Strobe Media Playback supports the latest technologies such as multi-level

manifests generated via the f4mconfig tool.

Benefits of HDS

HTTP Dynamic Streaming reproduces much of the functionality of RTMP delivery, providing the publisher

a choice in delivery options. The primary benefit that HTTP offers is its ability to cache content, which is

important for enterprise customers who deploy internal caching systems to optimize network usage to

increase capacity of delivery over the public Internet without increasing cost (with optimized CDN

configuration).

HTTP Dynamic Streaming can enable significant improvements over progressive delivery. Some of the

benefits of HTTP Dynamic Streaming over HTTP progressive download include the following:

 Delivery cost reduction by using the Internet caching infrastructure

 Higher burstable capacity using standard CDN load-balanced networks and HTTP infrastructure caching

 Support for adaptive bitrate, DVR, and integrated content protection powered by Adobe Access on live

 streams

 Content protection throughout the distribution chain, closing some potential vulnerabilities

 Rapid, custom video player development through OSMF, which offers built-in logic and easy integration

 with advertising and analytics

 Bitrate throttling, adapting to available network and hardware capacity

 Saves bandwidth; ensuring that only what is watched is delivered

 More flexible media navigation, including enhanced seeking and start-anywhere

Adobe® Media Server 5 White Paper

16

 HTTP Dynamic Streaming considerations include:

 Flash Player 10.1 or later is required. For Flash Player penetration statistics, visit /

products/player_census/flashplayer/version_.

 The F4F format is only compatible with HDS-compatible players or others that support the MPEG-4 fragment

format. The same files cannot yet be delivered using RTMP streaming or progressive download.

 Additional workflow steps (i.e. real-time or pre-processing of fragments and manifests) are required to

 prepare content.

 Adobe Access 2 or later is required for content protection.

 Live streams experience increased latency when compared with RTMP streaming due to the media

 fragmen¬tation and encryption process before delivery.

When to choose HDS

Examples of use cases for HTTP Dynamic Streaming include the following:

 Adaptive streaming behind restrictive firewalls

 Massive-scale live broadcasting

 Enhanced seeking over standard HTTP connections

 Enterprise streaming on existing network infrastructure

HTTP Live Streaming for Apple iOS (HLS)

Flash Media Server 4.5 introduced support for streaming to Apple iOS devices such as iPhone and iPad

via Apple’s HTTP Live Streaming (HLS). HLS is simple to configure and requires no additional steps in

your workflow. On demand and live streams are packaged when the user requests them, in the proper

format for playback either natively in iOS or through HTML5 in the browser. If you wish to pre-process

your files for HLS playback, a new tool included with Adobe Media Server 5 enables this, creating the

required fragment and manifest files.

To use HLS to serve live streams to clients over HTTP, publish the streams to the HTTP Live Packager

service on Adobe Media Server (rootinstall/applications/livepkgr). The livepkgr service ingests the streams,

then the HLS module (mod_hlshttp) repackages the fragments into MPEG2-TS segments, and delivers

them to iOS clients (via HLS). The Origin module (f4fhttp) delivers F4F fragments to Flash clients (via

HDS). This is all done in real-time.

Benefits of HLS

With devices becoming more and more popular for media consumption, it is important for your content to

be available on every device. Support for HLS packaging in Adobe Media Server 5 now enables you to

reach those viewers using iOS without having to reencode your on demand content or create separate live

streams.

When to choose HLS

Since no additional encoding steps are required, you can now easily deliver HLS streams alongside HDS

and RTMP for full compatibility with every platform and device. Adobe Media Server even helps you

comply with Apple App Store guidelines by producing the required audio-only file for each stream.

The HLS video stream can be played in HTML5 in the browser, or in a native iOS app written in Objective-C, or in AIR on iOS. When playing the streams using an HTML5 player, however, you will lose many

features such as sophisticated interactivity, timed-text captioning, stream encryption, and other

custom aspects you may have built into your Flash-based player application. Some of this interactivity can

be rebuilt using JavaScript and HTML, but compatibility across browsers becomes an issue; for example,

only Safari running on a Mac or on iOS will play HLS streams in HTML5. You can still protect your streams

using file encryption with Protected HTTP Live Streaming (see following section) across all of these

playback methods.

Examples of use cases for HLS include the following:

 Live streaming of events to devices

 On demand streaming to devices

 Adaptive streaming using a set-level variant playlist file

Adobe® Media Server 5 White Paper

17

Protected HTTP streaming [ENHANCED]

Flash Media Server 4.5 introduced Protected HTTP Dynamic Streaming for Flash and AIR, enabling DRM

protection without requiring a license server, and Protected HTTP Live Streaming for Apple iOS, enabling

AES-128 wire protection (but no DRM support). It utilizes limited Adobe Access policies, built right into the

server. Adobe Media Server 5 Professional and Extended now support this level of DRM protection for

both HDS and HLS, for both on-demand and live streams. Protected HTTP streaming is an alternative to

full-featured Adobe Access protection,

In addition to encrypting content for delivery to Flash Player and AIR, PHDS also supports SWF verification

for HTTP Dynamic Streaming.

The real-time packaging process for on-demand and live Protected HTTP Streaming generates a license,

embeds it in the DRM metadata, and delivers it with the media—eliminating the need for communication

between the client and a License Server. This process is initiated when a player client requests the

protected stream over HTTP; Adobe Media Server will then encrypt the fragments as they are sent and

create the required license.

Benefits of Protected HTTP Streaming

What is unique about Adobe Media Server’s approach is that the license is part of the video itself. This is

a very scalable solution, since the keys are delivered and cached over HTTP. Encrypting your content

with Protected HTTP Streaming is a relatively simple process, and it allows you to set specific viewing

windows—even for offline playback and downloaded content. Content preparation tools are included with

Adobe Media Server, giving you a straightforward workflow for delivering scalable protected content over

HTTP to Flash, AIR, and iOS.

When to choose Protected HTTP Streaming

Examples of use cases for Protected HTTP Streaming include the following:

 Content supported by advertising

 Protected live broadcasts on the desktop and devices

 Protected live and on-demand playback on iOS

 Protected live and on-demand playback on the desktop in AIR

 Protected playback on Flash Player-enabled devices supporting Adobe Flash Player 11, or in-app playback in

AIR on devices.

If your content requires more sophisticated DRM rules, you can also use Adobe Access 4 in conjunction

with Adobe Media Server, for both HDS and HLS delivery.

Multicast streaming [ENHANCED]

Multicast streaming, introduced in Flash Player 10.1 and Flash Media Server 4, enables the distribution of

NetStreams across peer-to-peer connections, and powers IP multicast over UDP. The stream can be

audio, video, or even a data stream. Multicast is a network-efficient delivery method that uses existing

multicast- enabled network hardware to deliver large internal broadcasts without overwhelming the

network. The most common use case is live video, but it can be used to deliver on-demand video. Adobe

Media Server ships with a Multicast configurator tool that assists in setting up multicast broadcasts.

Benefits over unicast (RTMP or HTTP)

Multicast can provide huge network efficiencies, dramatically reducing the use of bandwidth and server

resources, resulting in lower total cost of delivery. It can also provide ultra-low latency for sharing video,

audio, and data over networks enabled with multicast support. A major benefit is that RTMFP is an

inherently secure protocol. It uses 128-bit DH keys for all communication and SHA256 hash of the client’s

DH key for peerIDs. For more information about RTMFP security, consult the following references:

 RTMFP FAQ: “How does RTMFP address security and end-user privacy?” /

products/adobe-media-enterprise/

 Best practices for real-time collaboration using Flash Media Server, by Joszef Vass (.

com/devnet/flashmediaserver/articles/)

 RTMFP sections in the Adobe Media Server 5 Developer’s Guide.

Adobe® Media Server 5 White Paper

18 When to choose multicast

Multicast is the obvious delivery solution for enterprise, especially those with networks enabled with

multicast support. It can also be useful for multiplayer gaming, because it provides very low latency.

Ultimately, it is useful for any application where multiple clients want to receive the same media at the

same time, including:

 Inter-office videoconferencing

 Company-wide broadcasts

 Real-time financial or news tickers

 Medium to large companies that need to maximize delivery capacity while minimizing network costs

 Large enterprises with media requirements over multiple locations and networks

Key multicast concepts

Three types of multicast delivery are available:

 Application-level (P2P) multicast

 Native IP multicast

 Multicast fusion (An Adobe innovation that increases the quality, reach, and network efficiency of live video

delivery.)

Application-level multicast, sometimes referred to as P2P multicast, provides an optimized stream

distribution among peers, via RTMFP connections. This approach can be very cost-effective because the

stream payload is distributed among the peers rather than taxing your servers and network. The original

stream can be distributed either from a client or from Adobe Media Server. Application-level multicast can

help reduce bandwidth costs for product marketing, user-generated content, or internal broadcasts. It is

supported in Adobe Media Server Professional and Adobe Media Server Extended.

Native IP multicast enables businesses to use existing multicast-enabled networks to deliver large internal

broadcasts without overwhelming the network. Adobe Media Server supports both SSM (source-specific)

and ASM (any source) multicast. This approach is best for internal, enterprise, VPN, or LAN networks with

multicast-enabled hardware in place.

Multicast fusion is an innovative combination of native IP and application-level multicast. Available in

Adobe Media Server Professional and Adobe Media Server Extended, multicast fusion allows employees

to receive live video via IP multicast and use those clients to help distribute to employees not connected

to a multicast-enabled network. This approach is best for large organizations broadcasting both internally

and externally. Figure 2 illustrates a multicast fusion deployment, where internal clients are receiving the

stream via hardware-based Native IP multicast, and clients outside the network are receiving the stream

via based Application-level multicast. The incoming live stream is published to Adobe Media Server over

RTMP, and all clients are receiving streams over RTMFP. Notice that the clients are also communicating

between each other, helping to share the load.

Adobe® Media Server 5 White Paper

19 Figure 2

Multicast fusion overview

Adobe Media Server 5 ships with a Configurator tool that makes multicast publishing very simple. The tool

lets you create an IP multicast, application-level multicast, or multicast fusion broadcast with the incoming

stream being sent to the server via Flash Media Live Encoder. The Configurator generates a standard

manifest (F4M) file that can be used with Flash Media Playback, Strobe Media Playback, or a custom

OSMF player, so you can get started streaming high-quality video quickly.

Figure 3

Multicast Configurator tool

Adobe® Media Server 5 White Paper

20

RTMFP and peer-assisted networking [ENHANCED]

Adobe Media Server 5 enables peer introductions as well as support for the RTMFP Groups technology in

Flash Player 10.1 and later. This technology reduces the demand for server bandwidth, opening up

possibilities for new types of multiuser applications, such as video chat and other real-time media

applications that may have been previously hindered by bandwidth costs. For more details about RTMFP

Groups, see Peer-assisted networking using RTMFP groups in Flash Player 10.1, by David Hassoun and

Jun Heider: /devnet/flashmediaserver/articles/p2p_rtmfp_.

Peer-to-peer introductions enable Flash Player and AIR clients to establish a connection with other Flash/

AIR clients to start sharing data and media over RTMFP. This introduction service, which had been

available only via the Cirrus service (previously named Stratus), is now a feature of Adobe Media Server

Professional and Adobe Media Server Extended. RTMFP Groups support is also available in both Adobe

Media Server Professional and Adobe Media Server Extended.

Benefits of RTMFP and peer-assisted networking

The most significant benefit of peer-assisted networking is the offloading of network traffic from the server

to the client, which results in significant bandwidth and infrastructure cost savings. While latency might be

slightly higher than with RTMP streaming, it is lower than with HTTP Dynamic Streaming.

RTMFP Groups adds new posting and directed routing features to basic peer-assisted networking,

allowing any client participating in a group to broadcast data to the rest of the group or even target a

specific client. Object replication, another powerful feature of RTMFP Groups, allows all members of a

group to maintain a consistent view of a potentially large set of objects. This provides low-latency data-sharing that can be used for applications such as social media and real-time games. The efficient topology

of RTMFP Groups allows developers to achieve massive scale, because routing through a single peer or

server cluster is not required.

Peer-assisted networking through Flash Player is a secure, managed communication solution. The

client’s peerID is generated as a SHA256 hash of their DH key, and is therefore guaranteed to be unique

and available. For Internet-based applications, a server, such as Adobe Media Server or the Cirrus 2

service, is required to connect and authenticate clients for any communication to take place. After the

clients have been authorized, data can be transmitted between peers via RTMFP, which is a 128-bit

encrypted protocol. For additional security, RTMFP Groups can be configured to require authentication

before allowing data to be posted to the group. Before allowing a P2P connection, Flash Player requests

explicit authorization by the client.

When to use RTMFP and peer-assisted networking

RTMFP is a natural choice for real-time communication and streaming when massive scale is needed. It

eliminates the need for huge server and network infrastructures to share large amounts of data. Examples

of use cases include the following:

 Webcam chat rooms

 VoIP

 Live customer support

 Dating sites

 Company-wide communication

 Swarming file delivery (see /wiki/Segmented_downloading)

 Massive multiplayer games

Key RTMFP concepts

RTMFP communication is based on User Datagram Protocol (UDP). It is always encrypted and can traverse

NATs and firewalls. UDP supports a lossy transmission of data, which is useful for low-latency audio, video, and

data delivery. RTMFP is a managed and controllable protocol that requires a server to always be present to

perform client introductions and eliminate network probing. RTMFP has unique IP mobility functionality that

allows a connection to be maintained even if the client changes networks, such as Wi-Fi networks or mobile

towers. RTMFP can be used to support unicast communication as well as IP multicast and multicast fusion

broadcasts.

Adobe® Media Server 5 White Paper

21

Comparing RTMP and RTMFP

To clarify when it is best to use RTMFP rather than RTMP, it can be useful to examine their differences

and similarities. The following figure illustrates the basic topology of RTMP, basic RTMFP peer-assisted

networking, and RTMFP Groups.

RTMP

Traditional RTMP streaming and

communication with unicast model

RTMFP P2P Networking

RTMFP in Flash Player 10.0 or Cirrus 1

RTMFP Groups

RTMFP in Flash Player 10.1 or Cirrus 2

Traditional RTMP streaming requires

a client to receive all data from a

centralized server cluster. Scale is

achieved by adding more servers.

First generation of RTMFP in Flash

Player 10.0 supported rendezvous,

with Flash Media Enterprise Server

4.5 for introduction services. Media

was always sourced from the

publishing peer.

Second generation of RTMFP

supporting groups in Flash Player 10.1

and later, with Adobe Media Server 5

Extended for introduction services.

Supports application-level multicast

and reduces the load on the source

publisher.

Figure 4

Evolution of media and communication delivery on the Flash Platform

Key differences between RTMP and RTMFP

RTMP is a unicast delivery method. It simply delivers streams from a server to individual connected clients.

Unicast consumes a large amount of network resources. For example, a 1 MBps stream delivered to 1,000

clients requires 1GB upstream from the server, which is very CPU- and network-intensive.

While RTMFP does support unicast delivery, its benefit lies in its multicast support. Native IP multicast

reduces the network load in the enterprise by distributing the data using customized network hardware.

However, reducing network load in this way does require a hardware investment. Flash Media Server 4

introduced multicast fusion support, which eliminates this hardware investment by offloading the data

delivery to peer-assisted networking, enabling clients consuming a stream to help distribute it to others on

the network.

RTMP is based on Transmission Control Protocol (TCP), whereas RTMFP is based on UDP. TCP is lossless;

each data packet is guaranteed to arrive in the same order it was sent. UDP has no ordering of packets and no

guarantee that the data will arrive at all, which makes RTMFP more lightweight and faster but less reliable than

RTMP. However, some routers do not allow UDP traffic, so it might be necessary for developers to fall back to

RTMP.

RTMP is not encrypted by default, but it can be encrypted using RTMPe (128-bit) or RTMPS (SSL

encrypted). RTMFP communication is always 128-bit encrypted. RTMP can utilize additional content

protection, such as Adobe Access file encryption along with SWF verification.

Similarities between RTMP and RTMFP

Both RTMP and RTMFP can be used to deliver live and on-demand video, audio and data streams. They

both provide low-latency real-time communication, powering applications such as videoconferencing, text

chat, live broadcasts, multiplayer gaming, and live support. They both offer stream encryption.

Adobe® Media Server 5 White Paper

22 Comparing video delivery methods

The following tables provide an at-a-glance reference to the various delivery methods available with

Adobe Media Server, to help guide you to the best solution for your specific application.

Delivery comparison for video on demand

The following table compares the video delivery techniques for VOD with Adobe Media Server.

Mobile and

devices

Not

recommended

because file

sizes are large

and hardware

acceleration

isn’t available.

Not supported

MPEG-TS

streaming

format

supported.

H.264

required.

Flash Player 10.1 and later and AIR supported

on a wide array of devices. Hardware acceleration

available for optimal playback. H.264recommended.

Flash Player

10.1 and later

and AIR

supported on a

wide array of

devices.

Enables

bandwidth

detection and

bitrate

switching over

RTMFP

connections.

128-bit

encryption

Adaptive

bitrate

Not supported Enables

bandwidth

detection and

bitrate

switching over

RTMP

connections.

Provides

inherent

protection

because the

video file is

never cached.

Additional

options

include:

encryption

• Real-time

protection

with RTMPE

• SWF

verification

Enables

bandwidth

detection and

bitrate

switching over

HTTP.

Protected HDS

and Adobe

Access support

Enables

bandwidth

detection and

bitrate

switching over

HTTP.

Protected HLS

Content

protection

Not supported

Adobe Access

support

• Adobe Access

OSMF Not supported

Use OSMF to

build custom

players or use

prebuilt Flash

Media

Playback or

Strobe Media

Playback.

Plug-in

architecture

enables easy

extension of

player features

and integration

with third-

party APIs.

Use OSMF to

build custom

players or use

prebuilt Flash

Media

Playback or

Strobe Media

Playback.

Handles RTMP

connection

and supports

adaptive

bitrate

delivery.

Recommended

approach to

implementing

HTTPDynamic

Streaming. Use

OSMF to build

custom players

or use prebuilt

Flash Media

Playback or

Strobe Media

Playback. Pass

in manifest file

URL. Supports

adaptive bitrate

delivery.

Not supported

Supports F4M

multicast

manifests

Adobe® Media Server 5 White Paper

23

Encoding Video and

audio is

encoded on

import into

Flash using a

Sorenson

Spark or VP6-E codec.

Alternately,

FLV files

(encoded

elsewhere) can

be imported

and placed on

the Flash

Timeline

(re-encoding is

not necessary).

Video files are

encoded in

either the built-in or

standalone

version of

Adobe Media

Encoder,

through Adobe

Media Encoder

and a

third-party

nonlinear

editing or

encoding

product, or

using a

standalone

video

encoding

application

such as

Sorenson

Squeeze or

On2 Flix.

SWF and

video files are

stored

separately,

resulting in a

smaller SWF

file size. Video

delivered via

progressive

delivery is

stored in

memory and is

not

recommended

for large video

assets.

Starts relatively

quickly after

enough of the

video has

downloaded to

begin

playback.

Same as

progressive

delivery. In

addition, you

can capture

and record live

video feeds

from client-side

webcams or

DV cameras, or

using Adobe

Flash Media

Live Encoder.

Live encoding

variables such

as bitrate,

frames per

second, and

video playback

size, can be

controlled

program-

matically.

File Packager

prepares

prerecorded

media, and

Live Packager

prepares live

RTMP streams.

These utilities

create MP4

fragment

compliant files

(F4F) and

generate an

XML-based

manifest file

(F4M).

iOS stream

packager

automatically

creates media

fragments

(M2TS) and

manifest file

(M3U8) on

demand when

stream is

requested by

the client.

Same as

progressive

delivery. In

addition, you

can capture and

record live

video feeds

from client-side

webcams or DV

cameras, or

using Adobe

Flash Media

Live Encoder

SWF File Size

SWF files

contain both

video and

audio data as

well as the

playback

interface,

resulting in a

single,

substantially

larger file

size.

Same file size as progressive

delivery.

N/A Same SWF file

size as

progressive

delivery.

Start Time

Large SWF files

often require

users to wait

before the video

starts playing,

resulting in a

negative user

experience.

Immediate.

The fastest

way to go from

initial load to

actually

playing the

video.

Quick start. Begins to play after

the manifest file has been read

and the first fragment data is

received.

Quick start.

Begins to play

after the

manifest file

has been

read, the peer

connections

have been

made, and the

first fragment

data is

received.

Adobe® Media Server 5 White Paper

24

Timeline

Access

When

embedded in

the Flash

Timeline,

video appears

on individual

frames and

can be treated

like any other

object on the

stage.

Each time the

SWF is

published or

tested, the

entire video

file is

republished.

Changes to

video files

require

manually

reimporting

the files into

the timeline.

N/A

Video is played back only at runtime. Individual

frames are not visible on the stage. Timeline events

can be triggered at selected times during video

playback using ActionScript.

Video is played

back only at

runtime.

Individual

frames are not

visible on the

stage.

Publishing

Video files are

only

referenced at

runtime.

Publishing

SWF files is

much faster

than

embedded

video. Video

files can be

updated or

modified

without

recompiling

the SWF file.

Same as

progressive

delivery. You

can

dynamically

pull video files

from virtual

locations, such

as your storage

area network

(SAN), a FVSS,

or other CDN.

Content must

be packaged

into F4F

format.

Manifest files

can be

updated with

new F4F file

information.

Content is

automatically

packaged by

Adobe Media

Server. To

update media,

new files must

be uploaded to

Adobe Media

Server and the

servers’ media

cache must be

cleared.

Content can

also be

prepackaged

using the file

packaging

utilities

included with

Adobe Media

Server.

Content must

be packaged

into M3U8

format.

Manifest files

can be

updated with

new M2TS file

information.

Content is

automatically

packaged by

Adobe Media

Server. To

update media,

new files must

be uploaded to

Adobe Media

Server and the

servers’ media

cache must be

cleared.

Content can

also be

prepackaged

using the file

packaging

utilities

included with

Adobe Media

Server.

Same as

RTMP

streaming.

Frame Rate Video frame

rate and SWF

movie frame

rate must be

the same.

The entire

SWF file must

be downloaded

before user

can seek or

navigate the

video.

The video file can have a different frame rate than

the SWF file. Live video capture has programmable

control over frame rate.

No restrictions

on frame rate.

The video file

can have a

different frame

rate than the

SWF file.

User can seek

anywhere at

any time.

Seek and

navigation

ability

User can only

seek to

portions of the

video that

have been

downloaded.

User can seek anywhere at any

time. New buffer controls enable

smooth playback during

reconnection if connection is lost.

Instant replay and other

advanced play functionality.

User can seek

anywhere at

any time.

Adobe® Media Server 5 White Paper

25

Content

Delivery

The entire

SWF file must

be downloaded

to the client via

HTTP and

loaded into

memory to play

back video.

Video files are

progressively

downloaded

via HTTP,

cached, and

then played

from the local

disk. The

entire video

clip doesn’t

need to fit in

memory.

Improved

performance

over

embedded

SWF video

with higher

resolution and

reliable audio

synchroni-

zation. Provides

best image

quality, which

is limited only

by the amount

of available

hard drive

space on the

playback

system.

Flash Player 7

and later,

including

Flash-enabled

mobile devices

Video files are

streamed from

Adobe Media

Server via

RTMP,

displayed on

the client’s

screen, and

then discarded

from memory

in a play-as-

you-go

method.

Improved

efficiency from

a network load

perspective,

with optimal

bitrate delivery

on an

as-needed

basis to as

many

customers as

necessary.

Manifest and video fragment files

are downloaded via HTTP,

cached, and then played from the

local disk. The entire video clip

doesn’t need to fit in memory.

Video files are

streamed

between

clients via

RTMFP,

displayed on

the client’s

screen, and

then discarded

from memory

in a play-as-

you-go

method.

Lightest load

on the

network, but

can introduce

some latency.

Playback

Performance

Audio and

video sync is

limited. Sync

between audio

and video

suffer after

approximately

120 seconds of

video. Total file

duration is

limited to

available RAM

on the

playback

system.

Like RTMP streaming, optimal

bitrate can be delivered. Network

efficiencies of standard HTTP

server and network hardware can

potentially decrease overall cost

of delivery.

Compatibility

Flash Player 6

and later,

including

mobile devices

Flash Player 6

and later,

including Flash-enabled mobile

devices

Flash Player

10.1 and later

and AIR 2.0

and later,

including

mobile devices

HTML5, native

iOS playback,

or AIR

Flash Player

10.1 and later

and AIR 2.0

and later,

including

mobile devices

Adobe® Media Server 5 White Paper

26 Delivery comparison for live streaming

The following table compares the video delivery techniques available for live streaming with Adobe Media

Server. Progressive download and embedded video do not support live streaming.

Video

source

Adobe Media Live Encoder, local webcam or DV camera in Flash Player, or third-party Adobe Media

encoder. Visit /products/premiere/ for compatible devices. Live Encoder

Could also be a server-side VOD stream broadcast as live. or third-party

encoder.

Provides

inherent

protection

because the

video file is

never cached.

Additional

options

include:

oReal-time

Adobe Access

encryption

oReal-time

protection

with RTMPE

oSWF

verification

oRTMFP

encrypted

delivery

Media is

cached;

Protected HDS

or Adobe

Access 2 or

later is

required for

protection.

RTMFP protocol is encrypted. Internal network is

used. Adobe Access 2 or later supported.

Protected

HTTP Live

Streaming

Content

protection

Video player

Custom player applications, OSMF-based players (Flash Media Playback,

Strobe Media Playback or custom) in Flash Player or AIR.

Port 1935 and

RTMP

required. For

caching,

additional

FMS servers

are required.

Standard

HTTP caching

technology

can be used.

For media

packaging,

FMS is

required at

the ingest.

Multicast-

enabled

routers

required. If

WAN is not

multicast-

enabled, an

additional

FMS is

required to

replicate.

UDP-enabled.

Internal

network must

be tuned to

accept

multicast

traffic.

UDP-enabled

with ports

open.

Network

partitioning

may be

required to

optimize data

flow.

Both IP and

application–

level multicast

requirements.

HTML5 or

native iOS

playback

Standard

HTTP caching

technology

can be used.

For media

packaging,

FMS is

required at

the ingest.

Network

hardware

Firewall

Traversal

Good

traversal. Port

80 tunneling

available if

needed.

Uses standard

HTTP delivery

protocol.

Might be

restricted.

RTMFP used

to open P2P

connection

between

clients.

Flexible

firewall

traversal. Uses

P2P over

RTMFP if

network isn’t

configured for

IP Multicast

traffic

Uses standard

HTTP delivery

protocol.

Adobe® Media Server 5 White Paper

27 Live RTMP

streaming

Live HTTP

Dynamic

Streaming for

Adobe Flash

(HDS)

Higher latency

due to

real-time

fragmenting

process and

inherent

latency of

HTTP delivery

(vs. RTMP).

Dynamic

Streaming

enables

bandwidth

detection and

bitrate

switching over

HTTP

connections.

RTMFP IP

multicast

RTMFP RTMFP

HTTP Live

Streaming for

Apple iOS

(HLS)

Higher latency

due to

real-time

fragmenting

process (a

minimum of

25 seconds

should be

expected).

Adaptive

bitrate

streaming

enables

bandwidth

detection and

bitrate

switching over

HTTP

connections.

Not

supported.

Latency Lowest

latency

Latency of 5-8 seconds should be expected for

multicast streams, based on network

configuration and buffer settings.

Adaptive

Bitrate

Dynamic

Streaming

enables

bandwidth

detection and

bitrate

switching over

RTMP

connections.

Not supported. Multicast supports delivery of a

single stream only.

DVR

functionality

Supported. Pause and rewind

live streams

Not supported.

Video Player Development

Unlike other video delivery technologies, which just present prebranded players to your viewers, Adobe

Media Server 5 integrates with Flash Player, AIR, and even HTML5, allowing you to create completely

customized playback interfaces.

Figure 5

The Open Source Media Framework simplifies video player development.

The Open Source Media Framework (OSMF) provides a standards-based structure for building custom

video players, enabling developers to take advantage of the latest Flash Platform features and delivery

methods without the heavy lifting of coding from scratch. If a simple branded player is all that is needed,

Adobe Media Playback and Strobe Media Playback provide prebuilt solutions built on OSMF. Whether it’s

a totally custom player built on OSMF, or one of the prebuilt players, deploying full-featured playback

applications is simpler than ever. For more information about OSMF, visit .

Adobe® Media Server 5 White Paper

28 Glossary

Adaptive bitrate—Using bandwidth detection and processor performance measurement to deliver the

most appropriate bitrate stream to a client, switching between bitrates as needed during playback..

Adobe AIR—Cross-platformruntime that lets developers use their existing web development skills in HTML,

Ajax, Flash technology, and Flex to build and deploy RIAs to the desktop.

Application-level multicast—Sometimes referred to as P2P multicast, this delivery method provides an

optimized stream distribution among peers, which can result in a bandwidth cost-savings. Participating peers

organize themselves into an overlay topology for data delivery. Each edge corresponds to a unicast path

between two peers in the underlying Internet. All multicast-related functionality is implemented at the peers

instead of at routers. The goal is to construct and maintain an efficient overlay for data transmission. The

original stream can be distributed from a client or from Adobe Media Server. This is referred to as application-level because the multicast delivery is being enabled by Flash Player or AIR runtime, rather than hardware.

Bandwidth—Amount of throughput for a server or client computer. Usually measured in megabits per

second (Mbps) or kilobits per second (kbps). A typical, wired Ethernet connection is 100Mbps, and Wi-Fi is

54Mbps. Server and client bandwidth limits determine how much video can be served or received.

Buffer—Amount of video stored in RAM on the client computer. The larger the buffer, the smoother the

video plays back. The buffer is never written to disk.

Client—Consumer connecting to server via the Flash Player, AIR application, or iOS.

Codec—The compression algorithm used to encode a video or audio file. Flash uses the Sorenson Spark,

On2 VP6-S, On2 VP6-E, or H.264 codec for video, and Nellymoser, MP3, AAC, or Speex for audio. Short

for “code/decode,” the decoding part must be present in the player to play back video using a specific codec.

Connection—When clients are streaming video, they consume one connection. Multiple clients streaming

at the same time is referred to as simultaneous connections.

Content—Video, audio or data streamed from Adobe Media Server.

Content delivery network (CDN)—A company that offers streaming services and bandwidth so that

customers do not need to set up and install their own servers.

Digital Rights Management (DRM)—Video encoded with DRM can be sold and protected against

stealing and unauthorized sharing.

Encoder—Hardware or software that compresses or transcodes video from one format to another.

Enhanced RTMP (RTMPe)—Encrypted RTMP supported in Flash Player and AIR, that increases security

and performance.

Flex—Cross-platform, open source framework for creating RIAs that run identically in all major browsers

and operating systems via Flash Player/AIR.

Flash Media Live Encoder—Free desktop application for Windows and Mac OS that connects to Adobe Media

Server and allows you to stream live video and audio to Flash Player, AIR, and iOS.

Flash Media Playback (FMP)—Based on Open Source Media Framework, FMP is a free, standard

media player for the Adobe Flash Platform that is hosted by Adobe. It can be used by any website with

only a few lines of HTML. Its extensible plug-in architecture enables easy integration with content delivery

networks (CDNs) and advertising platforms, as well as support for analytics, additional third-party services,

and the latest delivery methods. (For an open source, self-hosted version of Flash Media Playback, see

Strobe Media Playback.) To get started go to: /products/flashmediaplayback/

Adobe Video & Advertising Solution Partners—Partner program that helps promote a strong

ecosystem around Flash technology and Adobe Media Server.

H.264—Industry-standard video codec. Currently one of the most commonly used formats for the

recording, compression, and distribution of high definition video. Supported in Flash Player 9 and later.

Usually combined with AAC for audio.

Adobe® Media Server 5 White Paper

29

HTTP Dynamic Streaming—Delivery method that enables an adaptive-bitrate, protected streaming

experience to Flash and AIR clients, with common HTTP servers, caching devices, and networks. Uses a

standard MPEG-4 fragment container format.

HTTP Live Streaming— Delivery method that enables an adaptive-bitrate, protected streaming

experience to iOS clients, with common HTTP servers, caching devices, and networks. Uses

iOS- compatible MPEG-4 fragment container format.

IP multicast—Network-efficient delivery method that uses existing multicast-enabled network hardware to

deliver large internal broadcasts without overwhelming the network. Multicast-enabled routers create

optimal distribution paths for data sent to a multicast destination address. The most common use case is

live video, but it can be used to deliver on-demand video.

Live—Real-time streaming of content, typically from a camera source, using Flash Media Live Encoder,

Flash Player, or a third-party encoder.

Latency—How long it takes for a packet of data to get from one point to another.

Multicast address—IP address that identifies zero or more computers in a network simultaneously. An IP

multicast address can be any IPv4 or IPv6 multicast address.

Multicast fusion—Adobe’s innovative combination of application-level multicast and IP multicast. Used

cooperatively for a single stream. Allows for distribution of video to internal clients via IP multicast, and

uses those clients to help distribute to clients outside of the multicast-enabled internal network.

Open Source Media Framework (OSMF)—An ActionScript 3 framework that simplifies the development

of media players by allowing developers to assemble components to create high-quality, full-featured

video playback experiences. This open framework enables development focused on web-based video

monetization, with lower costs and faster turnaround. To get started go to: .

On2 VP6—Video codec available for playback since Flash Player 8, offering high-quality, lightweight, full-screen playback. VP6-S is a simplified version of the codec that is ideal for delivery of high-quality video

to older computers (available in Flash Player 9 and later). VP6-E, the original codec that shipped with

Flash Player 8, is slightly higher quality, thus requiring more processing power for playback.

Protected HTTP Dynamic Streaming— A scalable delivery method for encrypted content over HTTP to

Flash Player and AIR clients, without a DRM License Server. Use with SWF Verification for further

protection.

Protected HTTP Live Streaming—A scalable delivery method for encrypted content over HTTP to iOS devices

such as iPad and iPhone, without a DRM License Server. Uses AES-128 wire encryption over SSL. FMS can

bind playback only to Apple devices to add further protection.

Publishing point—Directory on Adobe Media Server where customers can place video and audio, or

publish live video.

Real Time Media Flow Protocol (RTMFP)—Adobe’s proprietary peer-assisted communication protocol

supported in Flash Player 10 and later and AIR 1.5 and later.

Real Time Message Protocol (RTMP)—Adobe’s proprietary method of communication between Flash

Player and AIR clients and Adobe Media Server.

Quality of service (QoS)—Refers to the quality of the consumer’s playback experience.

Solution provider—Consulting and enablement organizations that provide advanced knowledge of

Adobe Media Server and Flash technology, and their integration over multiple devices.

Sorenson Spark—Original video codec in Flash Player 6 and 7. An encoder for this codec is built into

Flash Player, allowing for webcam broadcast and archiving when used with Adobe Media Server.

Strobe Media Playback (SMP)—Based on Open Source Media Framework, this compiled SWF allows

you to get up and running quickly vs. spending time on technical details. Full source code is available for

download and customization. Allows designers, content owners, enterprises, and developers to get started

easily with an out-of-the-box, feature-rich media player. To get started, go to: /strobe_

.

Adobe® Media Server 5 White Paper

30

Transcoding—Conversion from one video format to another. Usually transcoding allows you to change the

codec. Quality is lost each time a file is transcoded.

Video on demand (VOD)—Delivery of pre-recorded video streaming.

Adobe® Media Server 5 White Paper

30

Online Resources

AMS Product Page /go/ams

AMS Technical Guide /go/ams_techguide

AMS Developer Center /go/ams_devcenter

AMS User Group /go/ams_usergroup

AMS Forum /go/ams_forum

Adobe Media Cookbook /adobe_media

Hardening guide for Flash Media /devnet/flashmediaserver/articles/hardening_guide. html

Server

Transitioning from Microsoft /devnet/flashmediaserver/articles/wm_flash_

Windows Media to the Adobe transition_

Flash Platform

Eliminating the single point of /devnet/flashmediaserver/articles/origin_redundancy.

failure with origin redundancy in html

Flash Media Server

Firewall deployment /devnet/flashcom/articles/firewall_

Performance tuning FMS

/devnet/flashmediaserver/articles/performance_

tuning_

Video encoding and transcoding /devnet/flashmediaserver/articles/encoding_

recommendations for HTTP

Dynamic Streaming on the Flash

Platform

Large-scale streaming deployments /devnet/flashmediaserver/articles/fmis_largescale_

with FMS 3.5

Understanding the MPEG-4

/devnet/video/articles/mp4_movie_

movie atom

Adobe Access 4 /go/adobeaccess

DRM and digital media /devnet/flashmediaserver/articles/beginner_vod_fm3. html

protection with Flash Media

Server

Video content protection /devnet/flashmediaserver/articles/protecting_video_

measures enabled by

Flash Media Server

Beginner's guide to streaming /devnet/flashmediaserver/articles/beginner_vod_fm3. html

video with Flash Media Server

Understanding the difference /devnet/flash/articles/flv_

between progressive download

/products/hdvideo/supported_technologies/streaming.

and streaming video

html

Live multicast streaming using /devnet/flashmediaserver/articles/multicast_

OSMF streaming_

Creating a simple multicast video /devnet/flashmediaserver/articles/multicast_player_

player using OSMF

Webcasting live video with Flash /devnet/flashmediaserver/articles/webcasting_fme.

Media Live Encoder html

Adobe® Media Server 5 White Paper

31

Adobe Systems Incorporated345 Park AvenueSan Jose, CA 95110-2704

USA

Exploring Flash Player support /devnet/flashplayer/articles/hd_video_flash_player.

for high-definition H.264 video html

and AAC audio

Beginner’s guide to security features /devnet/flashmediaserver/articles/beginner_security_

in FMS 3.5

Live dynamic streaming and DVR /devnet/flashmediaserver/articles/live_dynstream_dvr.

for non-developers html

Open Source Media Framework

Using peer-to-peer applications /devnet/flashmediaserver/articles/p2p_apps_cirrus_

on the Adobe Flash Platform

Flash 411: FMS /watch/flash-411/hookin-up-with-fms

F4V/FLV Specification /devnet/

Manifest (F4M) Specification

/nf/redirect/?path=http%3A///dev/osmf/

specpdfs/

H.264

/ap/products/hdvideo/supported_technologies/h264.

html

AAC

/ap/products/hdvideo/supported_technologies/

HD Gallery /ap/products/hdvideo/hdgallery/

FMLE /go/fmle/

Flash Player /go/flashplayer

Adobe Video & Ad Partners /go/ams_partners

Content Delivery Networks /products/adobemediaserver/partners/cdn

Hardware & Encoders /products/adobemediaserver/partners/encoders

Live Broadcast Services /products/adobemediaserver/partners/broadcast

Digital Media /digitalmedia

Kevin Towes /ktowes

Flash Player /flashplayer

Jens Loeffler

Lisa Larson-Kelley

Stefan Richter

Fabio Sonnati

About the Author

Lisa Larson-Kelley is a developer, consultant, and teacher of subjects related to online media technologies.

She coauthored the book Flash Video for Professionals (Wiley, 2007). Her blog is

.

Adobe, the Adobe logo, Adobe Integrated Runtime (AIR), ColdFusion, Flash, Flash Media Server, and Adobe Media Server are either registered trademarks or trademarks of

Adobe Systems Incorporated in the United States and/or other countries. All other trademarks are the property of their respective owners.

© 2012 Adobe Systems Incorporated. All rights reserved.

91072895 8/12

发布者:admin,转转请注明出处:http://www.yc00.com/news/1687690761a32011.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信