大家好,我使用Darwin Streaming Server搭建了一个流媒体服务器,然后使用Android手机进行播放。
现在的问题是,使用内网地址和WIFI,可以正常的播放,但是当使用外网地址和uninet接入点的时候,就不能播放了。底层打印出的日志记录一直缓冲为0,然后发生一个错误:06-20 02:27:38.706: INFO/PlayerDriver(31): buffering (0)
06-20 02:27:48.764: INFO/PlayerDriver(31): buffering (0)
06-20 02:27:58.763: INFO/PlayerDriver(31): buffering (0)
06-20 02:28:08.853: INFO/PlayerDriver(31): buffering (0)
06-20 02:28:18.963: INFO/PlayerDriver(31): buffering (0)
06-20 02:28:28.987: INFO/PlayerDriver(31): buffering (0)
06-20 02:28:38.505: WARN/MediaPlayer(1109): info/warning (1, 26)
06-20 02:28:38.514: INFO/MediaPlayer(1109): Info (1,26)
06-20 02:28:38.586: ERROR/PlayerDriver(31): Command PLAYER_PREPARE completed with an error or info PVMFFailure
06-20 02:28:38.586: ERROR/MediaPlayer(1109): error (1, -1)
06-20 02:28:38.597: ERROR/MediaPlayer(1109): Error (1,-1)
06-20 02:28:38.597: DEBUG/VideoView(1109): Error: 1,-1
06-20 02:28:38.624: WARN/PlayerDriver(31): PVMFInfoErrorHandlingComplete
06-20 02:32:40.544: WARN/InputManagerService(81): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@44e03628界面显示为:无法播放视频。
请问,这是什么原因造成的?该如何解决该问题?
谢谢。

解决方案 »

  1.   

    我用live555时也一样,RTP/RTSP端口不一样的,RTSP默认是554端口,RTP是随机产生一个端口后绑定来传输流数据。要在路由的特殊应用程序上设打开RTSP端口时触发开放另外一些端口。
    设置可以看看这个http://starv.tv/index.php?option=com_content&view=article&id=75%3Aquicktime-player&catid=42&Itemid=2
      

  2.   

    这个我清楚。RTP/RTCP的端口是需要CS两边协商的。我说的也是RTSP的端口,不是RTP和RTCP的端口。
    基于此,WAP接入点肯定是不能播放的,只能使用NET接入点,而我使用的就是NET接入点。
      

  3.   

    怎么知道android支持哪些流媒体的类型(格式)呢
      

  4.   

    使用WIFI和内网播放就可以正常播放。
    我已经找到原因了。因为虽然RTSP的端口已经映射了,但是因为RTP和RTCP的端口是动态的,没有办法映射,所以就不能访问了。
      

  5.   

    RTCP是固定的  RTP是随即产生一个端口后绑定的 在特殊应用程序里把范围设大点应该就可以访问了 
      

  6.   

    RTCP不是固定的。
    RTP的端口是一个偶数,RTCP的端口号是RTP端口号+1。
      

  7.   

    RTSP端口号是固定的,使用的是默认的554端口,而RTP和RTCP端口号是服务端与客户端协商的。
      

  8.   

    流媒体播放涉及到了三个协议:RTSP、RTP和RTCP
      

  9.   

    就是说的是RTSP端口号是固定 特殊应用程序里把范围设大点 你现在还不能连吗 ?
      

  10.   


    应该还有一个mms协议吧
    楼主是怎么客户端是怎么实现的呀?我现在也要做一个播放流媒体的东西?楼主指点一下?
      

  11.   

    我使用的是系统的。
    我只知道是有mms这么一个协议,不过和RTSP的关系就不清楚了。
      

  12.   


    你是调用mediaplay 播放的吗?
    给点代码参考参考
      

  13.   

    LS还是看VideoView的源码吧,我仅仅使用了VideoView.
      

  14.   

    请问楼主在android上用的的是什么播放器啊????
      

  15.   

    HI ,有Darwin Streaming Server 的源码么
      

  16.   

    请问一下,你用得是模拟器播放还是手机?我在用wifi局域网测试时候播放sample中MP4格式播放不了,但是文件在手机上可以正常播放,是不是RTSP出问题了?求解答
      

  17.   

    并且我在其他机器上用VLC可以正常播放~~求解答