FMS/Wowza/Red5 Broadcaster App For Android

As one of the main contributors to the Red5 project, Paul Gregoire is a well known name in the community. Yesterday he posted a link to an AIR for Android app he built to the Flash Media List and I'm republishing his link here as I think many of you will find this app quite useful.

The Broadcaster Android app allows you to broadcast audio and video to an RTMP server such as Red5, and also works with FMS and Wowza. What's more, the app is free and will run on pretty much any Android device with Android 2.2 and up.

You can download the Broadcaster app from the Android Market.

But apart from being useful, the app also shows that AIR for Android can be quite versatile and allows you to easily publish what is essentially a Flex application to a mobile platform.

Converting And Editing AVCHD (.mts) Files On OSX

A quick note about this article: I chose a slightly misleading title in order to help people find it more easily as most would not know that a search for 'rewrapping .mts files' is what they may be after.

This post is about rewrapping .mts files to make them compatible with QuickTime; it is not about re-encoding or editing .mts files (but rewrapping will make them editable using most common video editing tools).

Many common camcorders and digital cameras - in particular Panasonic and Sony models - produce video files in AVCHD format, with file extension .mts, .m2ts or .m2t. These files often do not play back natively unless you install a third party video player such as VLC.

I was getting a bit annoyed at the fact that quick preview in Finder would not work with .mts files and that the format is generally a bit of a nuisance (iMovie for example won't find any compatible files if you tell it to look in a folder that only contains .mts files). Moreover I was looking to stitch some clips together which in turn was made more difficult by the .mts format.

[Read Full Article]

Apple HTTP Streaming Support Added To OSMF

Matthew Kaufman, one of the engineers who brought us RTMFP but who is no longer with Adobe, has written and published an AS3 library which adds support for Apple HTTP Streaming (draft-pantos-http-live-streaming) to OSMF. The classes constitute a plugin for OSMF's HTTPNetStream that supports Apple's m3u8 index files and MP2 transport stream media file.

Matthew outlined his efforts on the FlashMedia List:
"I've put the initial commit of this code up at http://apple-http-osmf.googlecode.com with an open-source license (MPL).

No guarantees that it is complete or optimized, but it does appear to play most of the things I've been able to throw at it. Supports H.264 video and AAC audio... adding MP3 audio support is on the list, just need a sample stream to test with and a couple hours to do it."

Thanks Matthew!

VP8 Delivers Better Quality Than H.264 - But You Won't Notice It

Jan Ozer was quick on the mark to deliver a side-by-side comparison of video encoded with VP8 (the codec which Google open sourced as recently as two days ago) and H.264, the de-facto codec standard for web video and beyond.
You can check out Jan's tests here on streamingmedia.com but in summary it is safe to say that any differences in quality are negligible. What remains to be seen is of course how the same codecs perform across a range of bitrates; maybe VP8 does excel once you throw higher resolution, higher bitrate content at it? Or maybe it will distantiate itself at low bitrates?

But regardless, the mere fact that VP8 is open source now and that it is a serious contender in the codec wars that rage around the web in the past few months is a great thing. Remember that H.264 is a patent encumbered format with a patent pool overseen by an organisation called MPEG-LA, and license fees are payable for certain types of usage. It is the uncertainty about these fees and their possible future rise that give organisations like Mozilla cause for concern - and they are not alone. By open sourcing VP8 Google is obviously prepared to call the bluff of anyone who may claim to hold patents on which the VP8 codec may infringe. Now that the sources are open for anyone to see it is now possible to inspect them, and quite likely sue Google for patent infringement. Of course we don't know yet if that's the case, but I truly hope that this big questionmark will once and for all be cleared up by a court. Hopefully VP8 is either free of patent infringements or Google can strike agreements that shield anyone from being sued if they use the codec. No doubt the web would be a better place if we had a free to use, patent free, high performant codec available for everyone to use with no strings attached. Google is definitely up for it and saying: "Bring it on, whoever you are."

I'm sure Adobe is totally loving this, for various reasons :-)

Another Live Flash Encoder Is Available For Free Download

Disclosure: This post is sponsored by Unreal Streaming Technologies

Unreal Streaming Technologies have recently released version 7 of Unreal Media and Live servers, adding H.264 encoding and the ability to stream to Flash player through the support of the RTMP protocol.

Anyone can download these products from http://www.umediaserver.net/umediaserver/download.html

The Unreal Live Server which serves as a video encoder similar to Adobe FMLE, is completely free of charge, while Unreal Media Server has certain concurrent connections limitation in its free version, and requires licensing.

These streaming tools have a very small download size and small footprint on your system when installed. They have GUI front-end and easy to operate, although they have slightly different concept of operation comparing to other encoders such as Adobe FMLE or Telestream encoder.

The main feature that differentiates Unreal Live Encoder from Adobe FMLE and others is unmanned, automated operation. You configure the system and leave.
Adobe FMLE generally requires a presence of the operator who opens the encoder and presses 'Start Encoding' button. This is good for broadcasting events but may be unacceptable for a system that needs to start broadcasting anytime when somebody wants to watch/listen, such as IPTV, radio, video surveillance, digital signage apps, etc.
Unreal Live Server running as a Windows service will start encoding and streaming when a first viewer sends request for live video by opening a player. It will stop encoding and streaming when a last viewer disconnects.

The latest version of Unreal Media's software adds itself to a small family of free software tools for live Flash streaming.

Unreal Media Server overview:
http://www.umediaserver.net/umediaserver/overview.html

Unreal Media Server architecture:
http://www.umediaserver.net/umediaserver/architecture.html

Flash Media Live Encoder for Mac Now Available!

Hallelujah - Flash Media Live Encoder (FMLE) is now finally available for the Mac platform. The Windows version was also updated, bringing both versions to 3.1.
FMLE now supports both Windows and Mac platforms and both tools are as usual available free of charge.
This latest version also adds supports for the new FMS 3.5 features which include Dynamic Streaming and live DVR. The ability of chunking of locally recorded files will also be very welcome to anyone who has ever had the misfortune to have to try and trim and/or edit FLV files of several GB in size.

The full list of new features is here.

You can download Flash Media Live Encoder 3.1 now.

Flash Media Live Encoder for Mac Announced

Up to now Adobe has been offering the free Adobe Flash Media Live Encoder (FMLE) only as a Windows tool - but this is soon going to change.

The recently announced FMLE 3.1 for Mac OSX will finally bring this essential tool to the Mac platform. This can't come soon enough as it has been requested for a very long time.

FMLE 3.1 for Mac will work with the built-in iSight camera as well as devices such as Firewire cameras and video capture cards to support a broad range of use cases and workflows. Like the Windows version, the Mac version of FMLE 3.1 will be free.

A release date has not yet been announced, but you can register an interest in a private beta by signing up here.

How Does Flash Access 2.0 Relate to FMS?

Jens Loeffler has published a nice little overview on his blog about the differences and similarities between Flash Media Server and Flash Access 2.0 a far as content and DRM mechanisms are concerned.

You can find Jens's article here.

DRM Capabilities To Be Added To Flash Player

Adobe will soon be adding DRM capabilities directly to the Flash Player, a feature that was previously only available through Adobe AIR, Adobe's cross-platform desktop runtime. The new feature was announced at IBC in Amsterdam today.

This is a fairly significant addition to the Flash Platform. While I'm not a fan of DRM, I understand that some content owners are very keen to add (what they perceive as) protection to their assets, and Flash will soon be capable to tick that box. The technology works in a similar fashion to the way in which the Adobe Media Player used to handle content protection: a DRM server called Flash Access 2.0 - which was also announced at IBC and which is basically a renamed release of Adobe Flash Media Rights Management Server (I'm glad that I won't have to type that name again!) - will handle the signing and protection aspects, while Flash Player can soon deal with the decryption and content access mechanisms natively. As mentioned above, this was previously only an option if Adobe AIR was used to build the client. I guess these new features and the demise of Adobe Media Player shows that end users prefer to consume content right inside the browser, and are less keen to install and use yet another video player onto their desktop. Those who prefer to use AIR to deliver their content can still do so as the runtime will also support the content protection features which Flash Access 2.0 promises. Here's the full press release.

Adobe Flash Access 2.0 is planned for commercial availability in the first half of 2010.

Tip for Debugging Remoting Calls in Flex Builder 3

Imagine the times when Flash Builder (Gumbo) was still in beta, times when the Network Monitor was still only a twinkle in the corner of a Flex engineer's eye. Imagine... your current day job, and a Flex 3 project with a bit of ColdFusion powered Remoting (other Remoting gateways are available) thrown in. Which is going wrong. And you need to debug the Remoting calls.
Ok, that doesn't require much imagination, I know. We know that Flash Builder will make our lives somewhat easier when it finally ships, but in the meantime your boss doesn't allow you to run beta software so what does one do besides coming to work for me? And maybe, just maybe, your boss is really mean (unlike myself) and won't even pay out for a license of Charles. So now what?

I present to you . It's a little tag tat does wonders to your Flex Builder 3 Console, and I don't know why it isn't being promoted much more. I've been using it for quite a while, and while I do not recall how I discovered it I am sure it's never too late to tell the world all about it.

So what does TraceTarget do? In a nutshell it outputs a ton of logging information into your Console when you debug your Flex project, and in particular it tells you a lot about the Remoting calls that you are undoubtedly making. Here's an example of my current project, first without TraceTarget added:

view plain print about
1[SWF] Users:stefan:Documents:dev:flex:fb3:demo:bin-debug:index.swf - 1,379,424 bytes after decompression
2result getUserDetails
Yeah, nothing basically besides one trace that I out in there to signal the return from CF. Now let's add to the main.mxml file and debug the app again:
view plain print about
1[SWF] Users:stefan:Documents:dev:flex:fb3:demo:bin-debug:index.swf - 1,383,632 bytes after decompression
2'9670B130-68C5-3D75-D251-3D30C4A99F2E' producer set destination to 'ColdFusion'.
3'F2AF48B3-896A-FA9D-D77A-3D30C4AF2A71' producer set destination to 'ColdFusion'.
4'8495032E-7DE7-49B1-124E-3D30C4EB0643' producer set destination to 'ColdFusion'.
5'8495032E-7DE7-49B1-124E-3D30C4EB0643' producer sending message '17E7B79A-6D4E-21C3-4F67-3D30C4EE538F'
6'my-cfamf' channel endpoint set to http://www.demo.com/flex2gateway/
7'my-cfamf' channel settings are:
8<channel id="my-cfamf" type="mx.messaging.channels.AMFChannel">
9 <endpoint uri="http://www.demo.com/flex2gateway/"/>
10 <properties>
11 <polling-enabled>false</polling-enabled>
12 </properties>
13</channel>
14'my-cfamf' pinging endpoint.
15'my-cfamf' channel is connected.
16'my-cfamf' channel sending message:
17(mx.messaging.messages::RemotingMessage)#0
18 body = (Array)#1
19 [0] "abcd"
20 clientId = (null)
21 destination = "ColdFusion"
22 headers = (Object)#2
23 messageId = "17E7B79A-6D4E-21C3-4F67-3D30C4EE538F"
24 operation = "getRoomDetails"
25 source = "api.v1.private.rooms"
26 timestamp = 0
27 timeToLive = 0
28'8495032E-7DE7-49B1-124E-3D30C4EB0643' producer connected.
29'8495032E-7DE7-49B1-124E-3D30C4EB0643' producer acknowledge of '17E7B79A-6D4E-21C3-4F67-3D30C4EE538F'.
301
31'9670B130-68C5-3D75-D251-3D30C4A99F2E' producer sending message '01B287E5-5EF5-1B40-75EE-3D30C648A026'
32'9670B130-68C5-3D75-D251-3D30C4A99F2E' producer connected.
33'my-cfamf' channel sending message:
34(mx.messaging.messages::RemotingMessage)#0
35 body = (Array)#1
36 clientId = (null)
37 destination = "ColdFusion"
38 headers = (Object)#2
39 messageId = "01B287E5-5EF5-1B40-75EE-3D30C648A026"
40 operation = "getUserDetails"
41 source = "api.v1.private.users"
42 timestamp = 0
43 timeToLive = 0
44'9670B130-68C5-3D75-D251-3D30C4A99F2E' producer acknowledge of '01B287E5-5EF5-1B40-75EE-3D30C648A026'.
45result getUserDetails

Pretty cool, right? You can read more about TraceTarget and other logging frameworks here. But if you just want a quick and dirty way to see some more debug info on your Remoting calls then you could do worse than simply sticking the TraceTarget tag into your main.mxml file and save yourself some hassle. It may not be as slick as Charles or the upcoming Network Monitor but it can be handy nevertheless. Have fun coding.

More Entries