视频-Android上的实时流RTMP / RTSP播放器,无需使用webview(WOWZA服务器)
我正在开发一个Android应用程序,我想在其中发布和播放视频...
我想要的是:
我的应用记录了一个视频,该视频已发送到服务器
录制的视频将同时直播到另一个Android设备。
我已经使用javac和ffmpeg完成了第一个任务。 我被困在第二项任务中。 我进行了大量搜索以从服务器流式传输视频,但未成功。 我不想使用WebView并在其中播放视频。 我想要一个RTMP播放器。 此任务已在iOS中完成...对于Android,我也希望如此。 什么是完成我的任务的链接?
附言:
我正在使用wowza服务器和RTMP流。 我想流式传输RTMP视频(.flv)...如果没有可用的解决方案,我想切换到RTSP,为此,还需要一个工作链接。
现在,我已经切换到RTSP播放器(带有wowza服务器),因为我没有找到没有webview的RTMP播放器。 如何解决此问题?
6个解决方案
22 votes
您可以通过Vitamio Lib轻松完成此操作。 Vitamio可以在Android和iOS中播放720p / 1080p HD,mp4,mkv,m4v,mov,flv,avi,rmvb,rm,ts,tp和许多其他视频格式。 Vitamio支持几乎所有流行的流协议,包括HLS(m3u8),MMS,RTSP,RTMP和HTTP。
从这里下载Vitamio Bundle。
还有一个来自这里的演示。
从这里开始的教程。
Zeeshan Saiyed answered 2020-07-28T11:41:48Z
3 votes
我正在使用Adobe AIR播放RTMP,它很棒。 我在这里找到了答案; 看代码:
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);
}
}
Anas answered 2020-07-28T11:42:08Z
1 votes
如果没有其他选择,则可以使用spydroid-ipcamera,这是一个开源项目。 它是您的要求的替代方案。 我已经检查过了,它提供了实时视频处理。
Hardik Joshi answered 2020-07-28T11:42:28Z
0 votes
您可能想尝试使用可以播放rtmp的Adobe AIR,并将AIR应用程序显示到Android。
将AIR应用程序部署到Android:[http://help.adobe.com/zh_CN/air/build/WSfffb011ac560372f-5d0f4f25128cc9cd0cb-8000.html]
Bgpl answered 2020-07-28T11:42:53Z
0 votes
使用Vitamio检查该项目
[HTTPS://GitHub.com/Mina Gabriel/vi他们IO demo Android studio.git]
Mina Gabriel answered 2020-07-28T11:43:17Z
0 votes
我在其中一个应用程序中使用了libVLC,并且运行良好。[https://github.com/mrmaffen/vlc-android-sdk]
Abhishek Akhani answered 2020-07-28T11:43:37Z