FLPlayer – Free OSMF based RTMP live stream player for Android

FLPlayer is a OSMF based simple application for playing flash based live video streaming content to android devices. FLPlayer works with popular streaming servers like Flash media server, Wowza media server or Red5 media server to play live video content. FLPlayer is suitable for both business to consumer redistribution and/or first hand usage.

(more…)

How to watch hack videopp video player to watch videos for free

Videopp is a new site in the line of business that megavideo used to be. While Megavideo has been wrapped up by the FBI in US, new sites like videopp are coming up to take advantage of this situation. As a flash developer i am curious to learn how these sites work. So i have been at cracking some loopholes that i will like to share here.

(more…)

Passing parameters to Red5 application with OSMF

Recently working on a Flex project i had the need to implement a video player in my Flex application. Although my needs did not involve media streaming, rather only playing live streams, i still needed a  industry standard code to my solution. Thats where OSMF (Strobe)  came handy. Tracking OSMF for a few months, seems like we finally have a usable version – OSMF 1.0  (0.93).

The second hurdle was passing parameters to RTMP application. As the traditional Netconnection class allows connection params in the constructor, i was unable  to find a example on the web involving OSMF and passing parameters to RTMP applications. Finally after some struggle , god’s grace 🙂 i think i nailed it. Here is the code snippet showing you how to connect to a RTMP application and passing parameters when connecting.

Note: Make sure you have latest OSMF revision from trunk added to your project classpath.


<?xml version="1.0" encoding="utf-8"?>
<mx:Application applicationComplete="application1_applicationCompleteHandler(event)" xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" minWidth="1024" minHeight="768">
<mx:Script>
<![CDATA[
import mx.events.FlexEvent;

import org.osmf.containers.MediaContainer;
import org.osmf.elements.VideoElement;
import org.osmf.events.MediaPlayerStateChangeEvent;
import org.osmf.media.MediaPlayer;
import org.osmf.net.NetLoader;
import org.osmf.net.StreamType;
import org.osmf.net.StreamingURLResource;

private static const REMOTE_STREAMING:String = "rtmp://localhost/RtmpAuthenticate/DarkKnight.flv";
private var mediaElement:VideoElement;
private var mediaPlayer:MediaPlayer;
private var container:MediaContainer;



protected function application1_applicationCompleteHandler(event:FlexEvent):void
{
var vector:Vector.<Object> = new Vector.<Object>();
vector[0] = "rajdeep";
vector[1] = "xyz123";

// TODO Auto-generated method stub

mediaElement = new VideoElement(new StreamingURLResource(REMOTE_STREAMING,StreamType.RECORDED,NaN,NaN,vector),new NetLoader);
container = new MediaContainer();
container.addMediaElement( mediaElement );

// Flex requires a DisplayObject to be wrapped in Flex Framework UI Abstraction
videoParent.addChild( container );

// MediaPlayer is a virtual controller. Assign it a media element and it will autoplay the media by default.
mediaPlayer = new MediaPlayer(mediaElement);
mediaPlayer.addEventListener(MediaPlayerStateChangeEvent.
MEDIA_PLAYER_STATE_CHANGE,onMediaPlayerState);

container.width = 320;
container.height = 240;
}

private function onMediaPlayerState(me:MediaPlayerStateChangeEvent):void
{
trace(me.state);
}

]]>
</mx:Script>
<mx:UIComponent x="144" y="110" width="409" height="325" id="videoParent" />
</mx:Application>