在Xamarin Android设备上播放H264视频/音频流(来自现有的RTP会话)(4.4+)

时间:2016-04-01 14:37:39

标签: android xamarin h.264 rtp

我正在开发一款适用于Android的Xamarin App,改变IOS。 我已成功启动SIP会话作为客户端并获得了SDP。

使用会话描述我启动了我的RTPClient(我正在成功使用托管媒体聚合(https://net7mma.codeplex.com/)。

我得到一个以媒体端口结尾的URI。

我尝试了不同的方式播放该流:

Android.Widget.VideoView:

videoview.SetVideoURI(Android.Net.Uri.Parse(fullPath));
videoview.Start();
在我的案例中,

在弹出框“无法播放视频”或类似的东西中说。

所以我尝试了Android.Media.MediaPlayer:

player.Reset();
player.SetDataSource(fullPath);
player.Prepare();

遇到异常并

player.PrepareAsync();

似乎无处可去。

这些是否应该以某种方式起作用,我只是做错了吗?

或者我是否必须提供更多信息,例如H.264解码,640x480像素以及我从SDP媒体描述中准确知道的更多内容?

我已经看过Android的MediaFormat和MediaCodec类,但仍然不知道如何将它们完全用于我的情况(使用已知媒体描述的RTP连接)。

非常感谢并度过了愉快的周末!

埃里克

2 个答案:

答案 0 :(得分:1)

您应该使用Google ExoPlayer等外部组件来编码媒体。有一个Nuget包可用于此:https://github.com/martijn00/ExoPlayerXamarin

答案 1 :(得分:0)

这是我的项目...(net7mma),例如我是作者......

您可以非常轻松地使用Rtsp或Rtp客户端,我最近在Android中验证了这一点。

如果您有具体问题,请在项目主页中填写一个主题,我会解决。

相关问题