I can’t even say how much I was looking forward to this blog post. It’s here! This feature of Flash Player and special screensharing add-in, which you might know from Adobe Connect Pro or Adobe ConnectNow is now available for every single Flash Platform developer through LiveCycle Collaboration Service. This is THE KILLER FEATURE […]
In the previous tutorial File Sharing over P2P in Flash Player 10.1 with Object Replication we went through the Object Replication basics. And you can see that the Receiver is requesting packets one by one. That’s not suitable for the real world app, but it’s good for testing on a LAN to see the progress. […]
Object Replication is the most low-level P2P access available in Flash Player 10.1 (next to Multicast, Posting and Directed Routing) It basically enables you to send chunks of between peers. Object Replication is the only one, that guarantees that all data will be transferred to all receiving peers.
I’ve built this simple file sharing […]
If you’re a citizen of the Internet, you probably know that the World Cup kicked off today. If you follow me on Twitter you know I’m not a huge soccer fan, but I am a fan of global events like this so I’ll definitely be keeping it on in the background. I may even be hitting one of the local bars at some point to drink way too early and watch. But mostly I’ll be watching it online and ESPN3 has all of the world cup action streaming along with stats, info, and anything else you could ask for. And it’s all powered by Flash.
My colleague, Jens Loeffler has a great writeup on the app and the experience. It’s all powered by the Flash Platform and Flash Media Server. You get multiple audio channels (so you can listen in Spanish, which I think is the best way to listen to goals being scored) as well as picture-in-picture and real time highlights that appear along the timeline so you can go back and see the cool moments. It’s a really great showcase of Flash and how the whole platform comes together to provide an excellent viewing experience.
Flash on soccer fans!
Directed Routing enables you to send data to a specific client in the peer-to-peer group (NetGroup). It requires stable and correct topology to work well – still it’s very useful.
There has been already something written about directed routing. But I’d like to share with you much more.
First, let me explain you which methods does what. […]
The Cannes Lions Festival is only a few weeks away now. The Cannes Lions Festival is a global festival for those working in advertising and related fields. Thousands of delegates from around the world attend the festival to view shortlisted work and attend seminars, workshops and master classes (via Wikipedia).
Adobe is planning lots of seminars and […]
As we discussed in a previous post, content protection is a key tool that can be used to monetize premium video online.
Adobe offers a couple of ways to achieve this; which one you use will depend on your specific needs, content and infrastructure. In this post, I describe some of these options at a high level, hopefully addressing some of the misconceptions (or is it FUD?) that exist out there.
For those of you who use Flash Media Server to stream content to Flash Player, in addition to advanced features such as Dynamic Streaming you have the option of also using the built-in content protection features. These are in vary broad use today by some of the leading streaming content providers around the world, [[[[including Hulu, Amazon and M6 —- TBD can we use these here? It is easy for anyone to see that they are using RTMPE so we’re not giving anything away that could help a hacker]]]].
The first of these features is RTMPE, the encrypted version of Adobe’s Real Time Media Protocol. RTMPE provides session-based protection, which means that all data between client and server is encrypted using a different key that is negotiated for each “session”. RTMPE will encrypt all data that goes in the “pipe”, whether it’s video content, data or headers. This is used to block tools that intercept the stream or try to impersonate a valid client in order to make unauthorized use of the content, such as making an unprotected recording (aka ripping).
In addition, FMS also supports SWF Verification, which is used to limit playback of the content to only the video player applications (SWF) that have been authorized. This works best when used in combination with RTMPE: once a secure tunnel has been established between client and server, the Flash runtime computes a hash of the video playback SWF that’s running and then sends that hash securely to the server, where it is compared against a list of approved SWFs; if there’s no match, the connection is rejected.
If this isn’t your first time on this blog, you’ve probably seen other posts regarding Flash Access. To recap, Adobe Flash Access is an advanced content protection solution that we are rolling out in the first half of this year and will work with Flash Player 10.1 and AIR 2.0. (This product was initially launched under the name Flash Media Rights Management Server, but the 2.0 version will adopt the new name and a much improved architecture.)
Unlike the features described above, content protection using Flash Access is not tied to FMS; while you can use both products together to get all the benefits of streaming plus advanced control over content consumption, you can also use each one independently. For instance, you can use Flash Access to protect progressive downloads or with the upcoming HTTP Dynamic Streaming (formerly “Project Zeri”).
With Flash Access, the operating principle is a bit different than with RTMPE. The content is persistently protected, ie it is encrypted once and remains protected wherever it goes. This makes it cache-friendly: whether the content is cached at the edge on the CDN or in the browser cache, it is encrypted and does not represent a security risk. Flash Access also allows you to define a number of usage rules, which are enforced by the client and can help support your business model, whether it’s video on demand, rental, subscription or download to own, to name a few of the more popular models out there.
This requires a few changes to the content workflow: encoded content must be run through a “packager” that encrypts the content. The packager is fileformat-aware: rather than blindly encrypt headers and metadata, it creates a valid file (e.g. F4V) with an encrypted payload. This means that the files can be streamed or downloaded like any other file over any protocol, whether it’s RTMPE, HTTP or something else.
However, once the content arrives in the player, you have the bits but not the rights to play the content. This triggers a request to a “license server”, hosted either by the content distributor or by a service provider on their behalf. The license server will only issue a content license, which contains the key necessary to play back the content, to clients “in good standing”, ie it will reject attempts from rogue clients.
SWF verification is also supported, but now the “whitelist” of approved SWFs can be included in the content license and is enforced by the client. All the the really sensitive operations, such as cryptographic operations or rules enforcement, happens in the native code in the runtime where it is difficult to hack. The application or ActionScript code acts as a sort of remote control, triggering operations such as license acquisition and registering to receive events that may be surfaced to the user.
I hope this provides a good overview and helps identify when each technology may be most appropriate. If you’d like to learn more about the content protection features in FMS, check out the article on Adobe Developer Connection. You can also find more details about Flash Access, including an in-depth whitepaper, on our product page at http://www.adobe.com/products/flashaccess.