Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Live stream RTMP/RTSP player without using webview (WOWZA server) on Android

I am developing an Android application in which I want to publish as well as stream a video...

What I want is:

  1. My app records a video and that video is sent to the server

  2. The recorded video will be streamed live to another Android device at the same time..

I have completed the first task using javac and ffmpeg. I am stuck in the second task. I have searched a lot to stream the video from the server, but I didn't succeed. I don't want to use WebView and play the video in it. I want an RTMP player. This task has been completed in iOS... I want the same for Android. What is some link to fulfill my task?

P.S.:

I am using wowza server and RTMP stream. I would like to stream RTMP video (.flv)... If no solution is available, I would like to switch to RTSP and for that also, need a working link to follow..

Now I have switched to RTSP player [with wowza server] as I have not found an RTMP player without webview. How do I fix this issue?

like image 237
SweetWisher ツ Avatar asked Dec 04 '13 04:12

SweetWisher ツ


2 Answers

You can easily do it via Vitamio Lib. Vitamio can play 720p/1080p HD, mp4, mkv, m4v, mov, flv, avi, rmvb, rm, ts, tp and many other video formats in Android and iOS. Almost all popular streaming protocols are supported by Vitamio, including HLS (m3u8), MMS, RTSP, RTMP, and HTTP.

Download Vitamio Bundle from here.

And a demo from here.

A tutorial from here.

like image 147
Zeeshan Saiyed Avatar answered Oct 06 '22 00:10

Zeeshan Saiyed


I am using Adobe AIR to play RTMP and it's awesome. I found the answer here; see the code:

function init_RTMP():void {     streamID  = "RT_2";     videoURL = "rtmp://fms5.visionip.tv/live/RT_2";      vid = new Video();      nc = new NetConnection();     nc.addEventListener(NetStatusEvent.NET_STATUS, onConnectionStatus);     nc.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);     nc.connect(videoURL); }  private function onConnectionStatus(e:NetStatusEvent):void {     if (e.info.code == "NetConnection.Connect.Success")     {         trace("Creating NetStream");         netStreamObj = new NetStream(nc);          metaListener = new Object();         metaListener.onMetaData = received_Meta;         netStreamObj.client = metaListener;          netStreamObj.play(streamID);         vid.attachNetStream(netStreamObj);         addChild(vid);     } } 
like image 44
Anas Avatar answered Oct 06 '22 00:10

Anas