Mountain with antenna

HTTP Dynamic Streaming docs

Adobe just released a new product called HTTP Dynamic Streaming that lets you stream video to Flash Player and AIR over HTTP:

http://www.adobe.com/products/httpdynamicstreaming/

The docs include tutorials that walk you through packaging media and delivering it to an OSMF player for both the live and on-demand use cases:

http://help.adobe.com/en_US/HTTPStreaming/1.0/Using/index.html

Enjoy!

June 7, 2010   No Comments

Beyond Comments: Adding Content to Adobe Help

Today’s NYT has an article about how PowerPoint (read: bulleted lists) cannot communicate complex information. The article links to the essay Dumb-dumb bullets by retired Marine Colonel Thomas X. Hammes. Hammes summarizes “…it [PowerPoint] is not appropriate for developing a deep understanding of most subjects.”

We don’t create Help documentation in PowerPoint, but we’re restricted by style guidelines that produce a similar result. After an experience with either, you end up dazed, confused, and ultimately, needing more information. The article suggests that the solution for the military may be longer technical papers. At Adobe, the solution is social media.

Adobe is embracing all things social, including contributions to the docs. When you create a tutorial, write a blog post about how to develop apps that use Flash Media Server (or any Adobe technology), or find useful information on the web, link to that content from Adobe Help.  Locate the most relevant Help page, click the Add Comment button, and add a link. The Flash Media Server Help is located here:

http://www.adobe.com/support/documentation/en/flashmediaserver/

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/

Add a link to any content that helps you and other developers get your work done. I’ll be looking for content, too. Thanks to social media, it’s my job not only to create content but to help you share information. They’ve even changed my title from “Senior Technical Writer” to “Senior Content and Community Lead”. This is a good thing. Instead of worrying about rules, I’m empowered to help you build things and solve problems as easily and quickly as possible.

For example, I was poking around on fmsguru.com and noticed that Graeme has a great video tutorial about using virtual directories. The Flash Media Server docs have a section about using virtual directories, but I’m sure many people would love to have Graeme walk them through the set-up. I asked Graeme if he wouldn’t mind adding a link from Adobe Help to his tutorial. He was happy to do it and said he didn’t realize Adobe allowed such links. And it’s true, in the past, you couldn’t. But happily, things have changed.

Adobe Help Social Media Round-up

Community Help app

Starting with CS5, Adobe is delivering Help in an AIR app called “Community Help”. Use Community Help to view content online and offline, download updates, search using the custom community search engines for each product, rate content, contribute content, and more. Check it out on Adobe Labs before the CS5 release:

http://labs.adobe.com/technologies/communityhelp/

Add content to the official Adobe documentation

When you create a tutorial or use one that helps you, locate the most relevant Adobe Help page, click Add Comment, and add a link.  Every Help page has an Add Comment button on the bottom of the page. You can also add content in the Community Help app.

When a moderator approves a comment, they decide how substantial and appropriate the contribution is and award points accordingly.  Get enough points and you may be asked to become a moderator. Moderators are often nominated to become Adobe Community Professionals.

When content is particularly helpful, Adobe Content and Community leads integrate it into the official documentation and cite the author and source.

Create recipes in Adobe Cookbooks

Create or request code recipes in Adobe Cookbooks. Flash Media Server code is often tagged with “ActionScript”, “video”, “P2P”, “Flex”, and “Flash Professional”.

Create articles with the Adobe Community Publishing System

To create a longer article, you can use the Adobe Community Publishing System (CPS). Click the badge on the left side of this page to download the CPS AIR app. The CPS contains templates that let you create and publish content  about Adobe technology directly to Adobe.com.

April 27, 2010   No Comments

Access log docs updated to include 3.5.3 features

Flash Media Server 3.5.3 includes some exciting features like Smart Seek and Stream Reconnect. The new features are documented in a stand-alone PDF: Flash Media Server 3.5.3 New Feature Guide.

These features required new events and fields in the access log. This information is included in the 3.5.3 PDF, but customers requested that we update the online Help so that all the log information is in one place (which makes sense). Done:

Access log Help

We’ll integrate the rest of the 3.5.3 docs into the online Help during the next major release.

As always, if you see something that’s missing, add a comment to the bottom of the Help page and we’ll get it fixed.

April 1, 2010   No Comments

Set permissions for folders that contain streams and shared objects

You can use the Server-Side Client object to grant read access to folders on the server that contain streams and shared objects. Because each client that connects to an FMS application has a unique Client object,  you can grant different permissions to each client. Check out the Client.readAccess property and the comment at the bottom of the following page for more information:

Server-Side ActionScript Language Reference — Client class

JOdy

March 5, 2010   No Comments

Using the client property to handle callback functions

Here’s something I see people get hung up on when defining functions in client-side ActionScript and calling them from the Server-Side ActionScript Client.call() method.

In ActionScript 2, you define the functions directly on the NetConnection object, like this:

nc = new NetConnection();
nc.onBWDone = function(){
    return true;
};
nc.onBWCheck = function(){
   return 0;
};
nc.connect("rtmp:/clientCall");

In ActionScript 3, you define the functions on an object assigned to the NetConnection.client property, like this:

var clientObj:Object = new Object();
clientObj.onBWDone = onBWDone;
clientObj.onBWCheck = onBWCheck;
nc.client = clientObj;

public function onBWDone(... rest):Boolean {
   return true;
}

public function onBWCheck(... rest):Number {
   return 0;
}

Note:The previous code includes the callback functions expected by the FMS “live” and “vod” applications.

The NetStream class works similarly to the NetConnection class. You can call NetStream.send() to send messages to other connected clients. Those clients need callback functions that handle the messages.

In AS2 you can define functions on a NetStream object and in AS3 you define functions on an object assigned to the NetStream.client property. See NetStream.client and NetStream.send().

There are several ways to handle callback methods–you can use the technique in this post, you can assign the client property to a new class, you can extend the NetStream or NetConnection class, or you can assign the client property to this. For good examples, see “Writing callback methods for metadata and cue points”.

December 3, 2009   No Comments

Build P2P applications for Flash Player and AIR

Flash Player 10.1, which is available now on Adobe Labs, adds support for creating peer-to-peer groups. Flash Player 10 let you make peer-to-peer connections between 2 Flash Player clients, but now you can create an entire mesh. And share data, audio, and video streams directly between all peers in the mesh. Think scale… massive, massive scale, without thousands and thousands of Flash Media Server boxes or huge bandwidth pipes. Think cheap and big. Exciting, no?

All clients in the mesh must make a connection to Stratus (a hosted service available on Adobe Labs), but the data shared in the mesh doesn’t go through Stratus, it travels directly between the peers in the group. Stratus is a non-commercial server that lets Adobe preview technologies that will become available in future releases of Flash Media Server.  You can also use LiveCycle Collaboration Service to build commercial P2P apps. LCCS rolls the P2P functionality for you and falls back to hub and spoke if needed. Tom Krcha has a nice explanation of the difference between Stratus and LCCS.

The classes you need to build P2P apps are documented in the beta version of the unified ActionScript 3.0 Reference. (Yes, this means that from now on there will be one and only one version of the AS3R. No more special versions for Flex, AIR, etc etc. Get all your Flash Platform API information from a single source. Phew.) Where was I? Right… P2p…

  • Use the GroupSpecifier class to define a group and its options. This class creates the groupspec string which is the immutable identity of the group.
  • Use the NetGroup class to manage a group and get statistics about a group.
  • Use the NetStream class to multicast audio, video, and data. Just like you do with hub and spoke apps.
  • Use the NetConnection class to connect to Stratus (and in the future, FMS). For P2P apps, use the RTMFP protocol.

I’ll be writing more about P2P Flash apps (here and for the Adobe docs), but meanwhile, check out Tom’s MAX 2009 session.

November 25, 2009   No Comments

New “Master” ActionScript 3.0 Language Reference

The Adobe Flash Platform doc team has released a beta version of the ActionScript 3.0 Reference that combines all available ActionScript packages and classes.  What does this mean? No more jumping between different versions of the AS3LR to get information about different classes. Also, you’ll always be able to get the most up-to-date information from one location. Please bang on it and send feedback to PlatformASRBetaFeedback@adobe.com.

November 24, 2009   No Comments

MAX

Hey Everybody –

I’ll be at MAX in Los Angeles next week. The schedule has lots of great sessions about video, FMS, and Peer-to-peer networking. I’ll be TA’ing the lab “Building a Scalable Interactive Video Solution Using P2P in Flash Builder” — if you’re signed up, find me :-) . I think all (most?) sessions will be broadcast on AdobeTV within a few days after MAX and the keynotes will be streamed live, lemme see if I can find the info… That was easy: http://max.adobe.com/online/.

Enjoy!
Jody

October 2, 2009   No Comments

New Adobe Help Client & Cookbooks

Adobe has launched a couple of new apps to help developers share and find code:

The Cookbooks are live on adobe.com and the Help client is on labs.adobe.com and works with labs versions of Flash Builder and Flash Catalyst. Try them out and send Adobe your feedback — it’s always appreciated.

October 2, 2009   No Comments

RTMP specification now available

Kevin Towes, the Flash Media Server product manager, has just announced that the RTMP spec is available on adobe.com.

June 15, 2009   No Comments