直播RTMP / RTSP播放器,无需在Android上使用webview(WOWZA服务器)
我正在开发一个Android应用程序,我想发布以及stream媒体video…
我想要的是:
-
我的应用程序logging了一个video,该video被发送到服务器
-
录制的video将同时直播到另一个Android设备。
我已经完成了使用javac和ffmpeg的第一个任务。 我陷入了第二个任务。 我已经search了很多来从服务器streamvideo,但我没有成功。 我不想使用WebView并在其中播放video。 我想要一个RTMP播放器 。 这个任务已经在iOS中完成了…我想为Android一样。 什么是一些链接来完成我的任务?
PS:
我正在使用wowza服务器和RTMPstream。 我想streamRTMPvideo(.flv)…如果没有解决scheme是可用的,我想切换到RTSP,并为此也需要一个工作链接..
现在我已经切换到RTSP播放器[与wowza服务器],因为我没有find没有webview的RTMP播放器。 我该如何解决这个问题?
您可以通过Vitamio Lib轻松完成。 Vitamio可以在Android和iOS上播放720p / 1080p高清,mp4,mkv,m4v,mov,flv,avi,rmvb,rm,ts,tp等多种video格式。 几乎所有stream行的stream媒体协议都由Vitamio支持,包括HLS(m3u8),MMS,RTSP,RTMP和HTTP。
从这里下载Vitamio Bundle。
并从这里演示。
从这里的教程。
我正在使用Adobe AIR来播放RTMP,它很棒。 我在这里find了答案。 看代码:
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); } }
如果你没有其他的select,你可以使用开源项目的spydroid-ipcamera 。 这是您的要求的替代scheme。 我已经检查过了,它提供了直播video。
您可能想尝试使用Adobe AIR,它可以轻松地播放rtmp,并将AIR应用程序解码为Android。
将AIR应用程序部署到Android: http : //help.adobe.com/en_US/air/build/WSfffb011ac560372f-5d0f4f25128cc9cd0cb-8000.html
使用Vitamio检查这个项目
我在我的一个应用程序中使用了libVLC,运行良好。 https://github.com/mrmaffen/vlc-android-sdk