首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于android的UDP或RTP流解决方案

用于android的UDP或RTP流解决方案
EN

Stack Overflow用户
提问于 2012-05-09 22:28:26
回答 1查看 18.2K关注 0票数 12

我需要创建一个android应用程序来显示电视直播。据DVB网关供应商称,该应用程序可以播放DVB网关的多播实时视频流。我在我的电脑上设置了vlc,使UDP和RTP源源不断地流出来,并打断了我的手指,试图让android播放器显示出来。过了一会儿,我发现android只支持HTTP/S和RTSP实时流。我尝试了所有的FFMPEG解决方案和不同的媒体播放器,但没有成功。我不是一个视频专家,但据我所知,RTSP是对RTP的封装,我的RTP提要可以打包和流(甚至通过代理)吗?有人知道有效的UDP解决方案吗?

谢谢

我开始编写一个隧道,将本地UDP流从端口1234传递到8888端口上的TCP连接。我正在用VLC进行测试,UDP有效负载看起来是正确的,当我等待TCP侦听器接受连接时,我能够看到VLC init http连接。但是,VLC仍然不会播放生成的HTTP流,我的代码:

代码语言:javascript
复制
public void Bridge()
    {
        //endpoints
        IPEndPoint myRemoteEndpoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 1234);

        //communications objects
        UdpClient myUdpClient = new UdpClient(myRemoteEndpoint);
        TcpListener myTcpListener = new TcpListener(IPAddress.Any, 8888);

        //buffer
        byte[] buffer = new byte[2048];

        //start tcp listener
        myTcpListener.Start();
        Socket tcpAcceptedSocket = myTcpListener.AcceptSocket();            

        while (true)
        {
            try
            {
                //get data from UDP client
                buffer = myUdpClient.Receive(ref myRemoteEndpoint);

                //send bytes received from UDP over TCP
                tcpAcceptedSocket.Send(buffer);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }

        //close sockets
        myUdpClient.Close();
        myTcpListener.Stop();

    }

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2012-11-16 08:34:40

希望你已经解决了?

我的第一个想法是“如何退出while (true)循环?”LOL

RTP被添加到API级别12中的Android中:

http://developer.android.com/reference/android/net/rtp/package-summary.html

也许你可以使用android.net.rtp来捕捉你的流媒体视频。这方面的教程似乎严重不足,所以如果你做了/确实做到了这一点,我相信一个快速的写作可以在大的G搜索结果上飞上;更不用说帮助600+的海报在堆栈溢出的其他问题,在一个"android rtp“搜索中出现。

来自博客-o-领域:

http://burcudogan.com/2011/06/05/android-rtp-implementation-is-based-on-udp/

我将为WebRTC添加一个插件,因为它看起来很有前途:

http://www.html5rocks.com/en/tutorials/webrtc/basics/

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10525001

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档