1

我目前正在通过 RTSP/UDP 为 Android 设备处理视频流。我的目标是通过 4G 蜂窝网络传输视频。我面临的问题是使用的方法不适用于Samsung Galaxy Core SM-G386F

以下是该方法的摘要和日志文件。我想知道我是否犯了任何明显的错误,或者基本上该设备不支持它。


服务器端

流媒体服务器:

  • Live555媒体服务器

live555媒体服务器

来源:http ://www.live555.com/liveMedia/

  • 视频局域网/VLC

vlc -vvv Jellyfish-3-Mbps.mkv --sout '#rtp{sdp=rtsp://0.0.0.0:5555/test.sdp}'

来源: http: //www.videolan.org/vlc/download-debian.html

视频测试文件:

  • Jellyfish 视频比特率测试文件

    例如:Jellyfish-3-Mbps.mkv - 60s,3 Mbps AVG 比特率,21 MB

    来源:http: //jell.yfish.us/


客户端

String url = "rtsp://IP_ADDR:8554/Jellyfish-3-Mbps.mkv"; // Live555MediaServer
String url = "rtsp://IP_ADDR:5555/test.sdp"; // VLC

Player.java(方法一)

VideoView v1 = (VideoView) findViewById(R.id.videoView1);
v1.setVideoURI(Uri.parse(url));
v1.requestFocus();
v1.start();

Player.java (方法 2) - UDP 测试

MediaPlayer mp = new MediaPlayer();
try {
    mp.setDataSource(url);
    mp.prepareAsync();
    mp.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
        @Override
        public void onPrepared(MediaPlayer mp) {
            Log.d(TAG, "START STREAM");
            mp.start();
        }
    });
} catch (IOException e) {
    Log.d(TAG, "ERROR: " + e);
} catch (Exception e) {
    Log.d(TAG, "ERROR: " + e);
}

AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

这两种方法(VideoViewMediaPlayer)和媒体服务器(Live555MediaServerVLC)都可以在以下 android 设备上正常工作:

  • 三星盖乐世 S4 (Android 4.3)
  • 三星 Galaxy S5 (Android 4.4.2)
  • 三星 Galaxy Note 3 (Android 4.4.2)

该问题出现在Android Galaxy Core SM-G386F (Android 4.2) 上。它可以使用这两种方法播放来自Live555MediaServer的流,但它不能播放来自VLC的流。

完整的日志猫:GALAXY_CORE_VLCGALAXY_CORE_LIVE555

Logcat from Android Galaxy Core SM-G386F for VLC流媒体使用方法1。它请求RTP/AVP/UDP,但id没有收到UPD数据包。

06-18 12:01:21.907: V/NuPlayer(5575): scanning sources haveAudio=0, haveVideo=0
06-18 12:01:21.938: I/ARTSPConnection(5575): status: RTSP/1.0 461 Unsupported transport
06-18 12:01:21.938: V/ARTSPConnection(5575): line: Server: VLC/2.0.3
06-18 12:01:21.938: V/ARTSPConnection(5575): line: Date: Wed, 18 Jun 2014 10:01:23 GMT
06-18 12:01:21.938: V/ARTSPConnection(5575): line: Content-Length: 0
06-18 12:01:21.938: V/ARTSPConnection(5575): line: Cache-Control: no-cache
06-18 12:01:21.938: V/ARTSPConnection(5575): line: Cseq: 7
06-18 12:01:21.938: I/MyHandler(5575): SETUP(1) completed with result 0 (Success)
06-18 12:01:21.938: E/MyHandler(5575): Server responses [461] ERROR for the SETUP request
06-18 12:01:21.938: W/APacketSource(5575): Format:video 0 RTP/AVP 96  / MIME-Type:H264/90000
06-18 12:01:21.938: I/APacketSource(5575): dimensions 1280x720
06-18 12:01:21.938: W/ASessionDescription(5575): system prop 3gpp-ra option is not found
06-18 12:01:21.938: V/ARTSPConnection(5575): request: 'SETUP rtsp://IP_ADDR:5555/test.sdp/trackID=1 RTSP/1.0
06-18 12:01:21.938: V/ARTSPConnection(5575): Transport: RTP/AVP/TCP;unicast;interleaved=0-1
06-18 12:01:21.938: V/ARTSPConnection(5575): Session: 5729006ad01e3b2d
06-18 12:01:21.938: V/ARTSPConnection(5575): Blocksize: 1400
06-18 12:01:21.938: V/ARTSPConnection(5575): User-Agent: Samsung SM-G386F stagefright/Beyonce/1.1.9 (Linux;Android 4.2.2)
06-18 12:01:21.938: V/ARTSPConnection(5575): x-wap-profile: http://wap.samsungmobile.com/uaprof/SM-G386F.xml
06-18 12:01:21.938: V/ARTSPConnection(5575): CSeq: 8
06-18 12:01:21.938: V/ARTSPConnection(5575): 
06-18 12:01:21.938: V/ARTSPConnection(5575): '
06-18 12:01:22.001: I/ARTSPConnection(5575): status: RTSP/1.0 461 Unsupported transport
06-18 12:01:22.001: V/ARTSPConnection(5575): line: Server: VLC/2.0.3
06-18 12:01:22.009: V/ARTSPConnection(5575): line: Date: Wed, 18 Jun 2014 10:01:23 GMT
06-18 12:01:22.009: V/ARTSPConnection(5575): line: Session: 5729006ad01e3b2d;timeout=60
06-18 12:01:22.009: V/ARTSPConnection(5575): line: Content-Length: 0
06-18 12:01:22.009: V/ARTSPConnection(5575): line: Cache-Control: no-cache
06-18 12:01:22.009: V/ARTSPConnection(5575): line: Cseq: 8
06-18 12:01:22.009: I/MyHandler(5575): SETUP(2) completed with result 0 (Success)
06-18 12:01:22.009: E/MyHandler(5575): Server responses [461] ERROR for the SETUP request
06-18 12:01:22.009: V/NuPlayer(5575): scanning sources haveAudio=0, haveVideo=0
06-18 12:01:22.009: W/ARTSPConnection(5575): onReceiveResponse >>> State is not CONNECTED !!!
06-18 12:01:22.009: W/ALooperRoster(5575): failed to post message. Target handler 113 still registered, but object gone.
06-18 12:01:22.048: I/Monitor(1888): SIOP:: Current AP = 370, CP = 0, PST = 365
06-18 12:01:22.110: V/NuPlayer(5575): scanning sources haveAudio=0, haveVideo=0
06-18 12:01:22.110: V/MediaPlayerService(5575): [20] notify (0x40a12880, 100, 1, -2147483648)
06-18 12:01:22.110: V/MediaPlayer(7888): message received msg=100, ext1=1, ext2=-2147483648
06-18 12:01:22.110: E/MediaPlayer(7888): error (1, -2147483648)
06-18 12:01:22.110: V/MediaPlayer(7888): callback application
06-18 12:01:22.110: V/MediaPlayer(7888): back from callback
06-18 12:01:22.110: E/MediaPlayer(7888): Error (1,-2147483648)
06-18 12:01:22.110: D/VideoView(7888): Error: 1,-2147483648
  • 所有设备都可以播放此测试视频(通过播放设备内存中的视频进行测试)
  • 所有设备都可以使用 WIFI/4G从Live555MediaServer播放流(RTSP/UDP)
  • 所有设备都可以使用 WIFI从VLC播放流 (RTSP/UDP)
  • 只有一台设备无法使用 4G从VLC播放流 (RTSP/UPD)(VLC 检测到连接的设备)
  • 我尝试了不同的端口

更新

三星Galaxy S4

用于VLC的 Logcat

06-19 09:43:16.313: V/ARTSPConnection(211): request: 'OPTIONS rtsp://IP_ADDR:5555/test.sdp RTSP/1.0
06-19 09:43:16.313: V/ARTSPConnection(211): User-Agent: User-Agent: Samsung GT-I9505 stagefright/Beyonce/1.1.9 (Linux;Android 4.3)
06-19 09:43:16.313: V/ARTSPConnection(211): x-wap-profile: http://wap.samsungmobile.com/uaprof/GT-I9505.xml
06-19 09:43:16.313: V/ARTSPConnection(211): CSeq: 0
06-19 09:43:16.313: V/ARTSPConnection(211): 
06-19 09:43:16.313: V/ARTSPConnection(211): '
06-19 09:43:16.313: W/ARTSPConnection(211): User-Agent: User-Agent: Samsung GT-I9505 stagefright/Beyonce/1.1.9 (Linux;Android 4.3)
06-19 09:43:16.313: V/ARTSPConnection(211): request: 'DESCRIBE rtsp://IP_ADDR:5555/test.sdp RTSP/1.0
06-19 09:43:16.313: V/ARTSPConnection(211): Accept: application/sdp
06-19 09:43:16.313: V/ARTSPConnection(211): User-Agent: User-Agent: Samsung GT-I9505 stagefright/Beyonce/1.1.9 (Linux;Android 4.3)
06-19 09:43:16.313: V/ARTSPConnection(211): x-wap-profile: http://wap.samsungmobile.com/uaprof/GT-I9505.xml
06-19 09:43:16.313: V/ARTSPConnection(211): CSeq: 1
06-19 09:43:16.313: V/ARTSPConnection(211): 
06-19 09:43:16.313: V/ARTSPConnection(211): '
06-19 09:43:16.363: E/MP-Decision(1772): num online cores: 3 reqd : 2 available : 4 rq_depth:0.600000 hotplug_avg_load_dw: 96
06-19 09:43:16.363: E/MP-Decision(1772): DOWN cpu:2 core_idx:2 Ns:2.100000 Ts:240 total_time_down:245.000000
06-19 09:43:16.373: I/SurfaceFlinger(204): id=25 Removed uool (5/6)
06-19 09:43:16.373: I/SurfaceFlinger(204): id=25 Removed uool (-2/6)
06-19 09:43:16.383: I/ARTSPConnection(211): status: RTSP/1.0 200 OK
06-19 09:43:16.383: V/ARTSPConnection(211): line: Server: VLC/2.0.3
06-19 09:43:16.383: V/ARTSPConnection(211): line: Content-Length: 0
06-19 09:43:16.383: V/ARTSPConnection(211): line: Cseq: 0
06-19 09:43:16.383: V/ARTSPConnection(211): line: Public: DESCRIBE,SETUP,TEARDOWN,PLAY,PAUSE,GET_PARAMETER
06-19 09:43:16.423: D/STATUSBAR-NetworkController(1043): onSignalStrengthsChanged signalStrength=SignalStrength: 99 -1 -1 -1 -1 -1 -1 18 -104 -10 60 -1 2147483647 gsm|lte 0x1 level=1
06-19 09:43:16.433: I/ARTSPConnection(211): status: RTSP/1.0 200 OK
06-19 09:43:16.433: V/ARTSPConnection(211): line: Server: VLC/2.0.3
06-19 09:43:16.433: V/ARTSPConnection(211): line: Date: Thu, 19 Jun 2014 07:43:17 GMT
06-19 09:43:16.433: V/ARTSPConnection(211): line: Content-Type: application/sdp
06-19 09:43:16.433: V/ARTSPConnection(211): line: Content-Base: rtsp://IP_ADDR:5555/test.sdp
06-19 09:43:16.433: V/ARTSPConnection(211): line: Content-Length: 470
06-19 09:43:16.433: V/ARTSPConnection(211): line: Cache-Control: no-cache
06-19 09:43:16.433: V/ARTSPConnection(211): line: Cseq: 1
06-19 09:43:16.473: I/MyHandler(211): DESCRIBE completed with result 0 (Success)
06-19 09:43:16.473: I/ASessionDescription(211): v=0
06-19 09:43:16.473: I/ASessionDescription(211): o=- 15514077275532980588 15514077275532980588 IN IP4 e82-103-128-145s
06-19 09:43:16.473: I/ASessionDescription(211): s=Unnamed
06-19 09:43:16.473: I/ASessionDescription(211): i=N/A
06-19 09:43:16.473: I/ASessionDescription(211): c=IN IP4 0.0.0.0
06-19 09:43:16.473: I/ASessionDescription(211): t=0 0
06-19 09:43:16.473: I/ASessionDescription(211): a=tool:vlc 2.0.3
06-19 09:43:16.473: I/ASessionDescription(211): a=recvonly
06-19 09:43:16.473: I/ASessionDescription(211): a=type:broadcast
06-19 09:43:16.473: I/ASessionDescription(211): a=charset:UTF-8
06-19 09:43:16.473: I/ASessionDescription(211): a=control:rtsp://IP_ADDR:5555/test.sdp
06-19 09:43:16.473: I/ASessionDescription(211): m=video 0 RTP/AVP 96
06-19 09:43:16.473: I/ASessionDescription(211): b=RR:0
06-19 09:43:16.473: I/ASessionDescription(211): a=rtpmap:96 H264/90000
06-19 09:43:16.473: I/ASessionDescription(211): a=fmtp:96 packetization-mode=1;profile-level-id=640028;sprop-parameter-sets=Z2QAKKwspAHgCJ+XAVICAgKAAAH0gABdwE7QsWiQ,aOtzUlA=;
06-19 09:43:16.473: I/ASessionDescription(211): a=control:rtsp://IP_ADDR:5555/test.sdp/trackID=0
06-19 09:43:16.473: W/MyHandler(211): Server: VLC/2.0.3
06-19 09:43:16.473: W/MyHandler(211): mBaseURL is change to rtsp://IP_ADDR:5555/test.sdp from 'content-base'
06-19 09:43:16.473: W/MyHandler(211): Property [net.connectivity.qosbw] NOT Found, bwQoS=2147483647
06-19 09:43:16.473: W/APacketSource(211): Format:video 0 RTP/AVP 96  / MIME-Type:H264/90000
06-19 09:43:16.473: I/APacketSource(211): dimensions 1920x1080
06-19 09:43:16.473: I/ARTPConnection(211): Start:16202
06-19 09:43:16.483: W/ASessionDescription(211): system prop 3gpp-ra option is not found
06-19 09:43:16.483: V/ARTSPConnection(211): request: 'SETUP rtsp://IP_ADDR:5555/test.sdp/trackID=0 RTSP/1.0
06-19 09:43:16.483: V/ARTSPConnection(211): Transport: RTP/AVP/UDP;unicast;client_port=16202-16203
06-19 09:43:16.483: V/ARTSPConnection(211): Blocksize: 1400
06-19 09:43:16.483: V/ARTSPConnection(211): User-Agent: User-Agent: Samsung GT-I9505 stagefright/Beyonce/1.1.9 (Linux;Android 4.3)
06-19 09:43:16.483: V/ARTSPConnection(211): x-wap-profile: http://wap.samsungmobile.com/uaprof/GT-I9505.xml
06-19 09:43:16.483: V/ARTSPConnection(211): CSeq: 2
06-19 09:43:16.483: V/ARTSPConnection(211): 
06-19 09:43:16.483: V/ARTSPConnection(211): '
06-19 09:43:16.514: E/MP-Decision(1772): num online cores: 2 reqd : 1 available : 4 rq_depth:0.400000 hotplug_avg_load_dw: 24
06-19 09:43:16.514: E/MP-Decision(1772): DOWN cpu:1 core_idx:1 Ns:1.100000 Ts:190 total_time_down:241.000000
06-19 09:43:16.554: I/ARTSPConnection(211): status: RTSP/1.0 200 OK
06-19 09:43:16.554: V/ARTSPConnection(211): line: Server: VLC/2.0.3
06-19 09:43:16.554: V/ARTSPConnection(211): line: Date: Thu, 19 Jun 2014 07:43:17 GMT
06-19 09:43:16.554: V/ARTSPConnection(211): line: Transport: RTP/AVP/UDP;unicast;client_port=16202-16203;server_port=38931-38932;ssrc=0A126FFE;mode=play
06-19 09:43:16.564: V/ARTSPConnection(211): line: Session: 6aeb4991d8fe19c4;timeout=60
06-19 09:43:16.564: V/ARTSPConnection(211): line: Content-Length: 0
06-19 09:43:16.564: V/ARTSPConnection(211): line: Cache-Control: no-cache
06-19 09:43:16.564: V/ARTSPConnection(211): line: Cseq: 2
06-19 09:43:16.564: I/MyHandler(211): SETUP(1) completed with result 0 (Success)
06-19 09:43:16.564: I/MyHandler(211): server specified timeout of 60 secs.
06-19 09:43:16.564: W/MyHandler(211): Missing 'source' field in Transport response. Using RTSP endpoint address.
06-19 09:43:16.564: W/MyHandler(211): Server picked an odd RTP port, it should've picked an even one, we'll let it pass for now, but this may break in the future.
06-19 09:43:16.564: W/MyHandler(211): successfully poked holes (Server IP : IP_ADDR, rtp port : 38931, rtcp port : 38932)
06-19 09:43:16.564: V/ARTSPConnection(211): request: 'PLAY rtsp://IP_ADDR:5555/test.sdp RTSP/1.0
06-19 09:43:16.564: V/ARTSPConnection(211): Session: 6aeb4991d8fe19c4
06-19 09:43:16.564: V/ARTSPConnection(211): Range: npt=0.000-
06-19 09:43:16.564: V/ARTSPConnection(211): User-Agent: User-Agent: Samsung GT-I9505 stagefright/Beyonce/1.1.9 (Linux;Android 4.3)
06-19 09:43:16.564: V/ARTSPConnection(211): x-wap-profile: http://wap.samsungmobile.com/uaprof/GT-I9505.xml
06-19 09:43:16.564: V/ARTSPConnection(211): CSeq: 3
06-19 09:43:16.564: V/ARTSPConnection(211): 
06-19 09:43:16.564: V/ARTSPConnection(211): '
06-19 09:43:16.584: I/power(710): *** release_dvfs_lock : lockType : 1 
06-19 09:43:16.584: D/SSRMv2:CustomFrequencyManagerService(710): releaseDVFSLockLocked : Getting Lock type frm List : DVFS_MIN_LIMIT  frequency : 1350000  uid : 1000  pid : 710  tag : ACTIVITY_RESUME_BOOSTER@9
06-19 09:43:16.644: I/ARTPSource(211): Format: video 0 RTP/AVP 96 / MIME-Type: H264/90000
06-19 09:43:16.644: I/ARTPSource(211): Added the first buff with seq:59548 to Q
06-19 09:43:16.644: I/ARTSPConnection(211): status: RTSP/1.0 200 OK
06-19 09:43:16.644: V/ARTSPConnection(211): line: Server: VLC/2.0.3
06-19 09:43:16.644: V/ARTSPConnection(211): line: Date: Thu, 19 Jun 2014 07:43:17 GMT
06-19 09:43:16.654: V/ARTSPConnection(211): line: RTP-Info: url=rtsp://IP_ADDR:5555/test.sdp/trackID=0;seq=59548;rtptime=3173115976
06-19 09:43:16.654: V/ARTSPConnection(211): line: Range: npt=4.038456-
06-19 09:43:16.654: V/ARTSPConnection(211): line: Session: 6aeb4991d8fe19c4;timeout=60
06-19 09:43:16.654: V/ARTSPConnection(211): line: Content-Length: 0
06-19 09:43:16.654: V/ARTSPConnection(211): line: Cache-Control: no-cache
06-19 09:43:16.664: V/ARTSPConnection(211): line: Cseq: 3
06-19 09:43:16.664: I/MyHandler(211): PLAY completed with result 0 (Success)
06-19 09:43:16.664: W/MyHandler(211): set mInitialSeqNum to 59548 - by RTP-Info
06-19 09:43:16.664: W/MyHandler(211): postNormalPlayTimeMapping at 'accu' [3173115976, 4038455]
06-19 09:43:16.664: I/MyHandler(211): Time now established for all tracks.
06-19 09:43:16.664: I/MyHandler(211): PLAY CASE: posting postOnDemandAUBufferRequest for the first time
06-19 09:43:16.724: E/MyHandler(211): first segment unit rtpTime=3173115976 seq=59548
06-19 09:43:16.724: E/MyHandler(211): video only mode : disable buffering
06-19 09:43:16.724: V/MediaPlayerService(211): [8] notify (0xb74eb070, 1, 0, 0)
06-19 09:43:16.724: V/MediaPlayer(6653): message received msg=1, ext1=0, ext2=0
06-19 09:43:16.724: V/MediaPlayer(6653): prepared
06-19 09:43:16.724: V/MediaPlayer(6653): callback application
06-19 09:43:16.734: D/MediaPlayer(6653): getMetadata
06-19 09:43:16.734: V/MediaPlayer(6653): back from callback
06-19 09:43:16.744: V/MediaPlayer(6653): getVideoWidth
06-19 09:43:16.744: V/MediaPlayer-JNI(6653): getVideoWidth: 0
06-19 09:43:16.744: V/MediaPlayer(6653): getVideoHeight
06-19 09:43:16.744: V/MediaPlayer-JNI(6653): getVideoHeight: 0
06-19 09:43:16.744: V/MediaPlayer-JNI(6653): start
06-19 09:43:16.744: V/MediaPlayer(6653): start

Live555MediaServer 的Logcat

06-19 09:48:56.245: V/ARTSPConnection(211): request: 'OPTIONS rtsp://IP_ADDR:8554/Jellyfish-3-Mbps.mkv RTSP/1.0
06-19 09:48:56.245: V/ARTSPConnection(211): User-Agent: User-Agent: Samsung GT-I9505 stagefright/Beyonce/1.1.9 (Linux;Android 4.3)
06-19 09:48:56.245: V/ARTSPConnection(211): x-wap-profile: http://wap.samsungmobile.com/uaprof/GT-I9505.xml
06-19 09:48:56.245: V/ARTSPConnection(211): CSeq: 0
06-19 09:48:56.245: V/ARTSPConnection(211): 
06-19 09:48:56.245: V/ARTSPConnection(211): '
06-19 09:48:56.245: W/ARTSPConnection(211): User-Agent: User-Agent: Samsung GT-I9505 stagefright/Beyonce/1.1.9 (Linux;Android 4.3)
06-19 09:48:56.245: V/ARTSPConnection(211): request: 'DESCRIBE rtsp://IP_ADDR:8554/Jellyfish-3-Mbps.mkv RTSP/1.0
06-19 09:48:56.245: V/ARTSPConnection(211): Accept: application/sdp
06-19 09:48:56.245: V/ARTSPConnection(211): User-Agent: User-Agent: Samsung GT-I9505 stagefright/Beyonce/1.1.9 (Linux;Android 4.3)
06-19 09:48:56.245: V/ARTSPConnection(211): x-wap-profile: http://wap.samsungmobile.com/uaprof/GT-I9505.xml
06-19 09:48:56.245: V/ARTSPConnection(211): CSeq: 1
06-19 09:48:56.245: V/ARTSPConnection(211): 
06-19 09:48:56.245: V/ARTSPConnection(211): '
06-19 09:48:56.275: E/MP-Decision(1772): num online cores: 3 reqd : 2 available : 4 rq_depth:0.000000 hotplug_avg_load_dw: 79
06-19 09:48:56.275: E/MP-Decision(1772): DOWN cpu:2 core_idx:2 Ns:2.100000 Ts:240 total_time_down:245.000000
06-19 09:48:56.295: I/ARTSPConnection(211): status: RTSP/1.0 200 OK
06-19 09:48:56.295: V/ARTSPConnection(211): line: CSeq: 0
06-19 09:48:56.295: V/ARTSPConnection(211): line: Date: Thu, Jun 19 2014 07:48:57 GMT
06-19 09:48:56.295: V/ARTSPConnection(211): line: Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, GET_PARAMETER, SET_PARAMETER
06-19 09:48:56.315: I/SurfaceFlinger(204): id=35 Removed uool (5/6)
06-19 09:48:56.315: I/SurfaceFlinger(204): id=35 Removed uool (-2/6)
06-19 09:48:56.345: I/ARTSPConnection(211): status: RTSP/1.0 200 OK
06-19 09:48:56.345: V/ARTSPConnection(211): line: CSeq: 1
06-19 09:48:56.345: V/ARTSPConnection(211): line: Date: Thu, Jun 19 2014 07:48:57 GMT
06-19 09:48:56.345: V/ARTSPConnection(211): line: Content-Base: rtsp://IP_ADDR:8554/Jellyfish-3-Mbps.mkv/
06-19 09:48:56.345: V/ARTSPConnection(211): line: Content-Type: application/sdp
06-19 09:48:56.345: V/ARTSPConnection(211): line: Content-Length: 614
06-19 09:48:56.345: I/MyHandler(211): DESCRIBE completed with result 0 (Success)
06-19 09:48:56.345: I/ASessionDescription(211): v=0
06-19 09:48:56.345: I/ASessionDescription(211): o=- 1403164137695186 1 IN IP4 IP_ADDR
06-19 09:48:56.345: I/ASessionDescription(211): s=Matroska video+audio+(optional)subtitles, streamed by the LIVE555 Media Server
06-19 09:48:56.345: I/ASessionDescription(211): i=Jellyfish-3-Mbps.mkv
06-19 09:48:56.345: I/ASessionDescription(211): t=0 0
06-19 09:48:56.345: I/ASessionDescription(211): a=tool:LIVE555 Streaming Media v2014.03.25
06-19 09:48:56.345: I/ASessionDescription(211): a=type:broadcast
06-19 09:48:56.345: I/ASessionDescription(211): a=control:*
06-19 09:48:56.345: I/ASessionDescription(211): a=range:npt=0-59.977
06-19 09:48:56.345: I/ASessionDescription(211): a=x-qt-text-nam:Matroska video+audio+(optional)subtitles, streamed by the LIVE555 Media Server
06-19 09:48:56.345: I/ASessionDescription(211): a=x-qt-text-inf:Jellyfish-3-Mbps.mkv
06-19 09:48:56.345: I/ASessionDescription(211): m=video 0 RTP/AVP 96
06-19 09:48:56.345: I/ASessionDescription(211): c=IN IP4 0.0.0.0
06-19 09:48:56.345: I/ASessionDescription(211): b=AS:500
06-19 09:48:56.345: I/ASessionDescription(211): a=rtpmap:96 H264/90000
06-19 09:48:56.345: I/ASessionDescription(211): a=fmtp:96 packetization-mode=1;profile-level-id=640028;sprop-parameter-sets=Z2QAKKwspAHgCJ+XAVICAgKAAAH0gABdwE7QsWiQ,aOtzUlA=
06-19 09:48:56.345: I/ASessionDescription(211): a=control:track1
06-19 09:48:56.345: W/MyHandler(211): mBaseURL is change to rtsp://IP_ADDR:8554/Jellyfish-3-Mbps.mkv/ from 'content-base'
06-19 09:48:56.345: W/MyHandler(211): Property [net.connectivity.qosbw] NOT Found, bwQoS=2147483647
06-19 09:48:56.345: W/APacketSource(211): Format:video 0 RTP/AVP 96  / MIME-Type:H264/90000
06-19 09:48:56.345: I/APacketSource(211): dimensions 1920x1080
06-19 09:48:56.345: I/ARTPConnection(211): Start:16130
06-19 09:48:56.345: W/ASessionDescription(211): system prop 3gpp-ra option is not found
06-19 09:48:56.345: V/ARTSPConnection(211): request: 'SETUP rtsp://IP_ADDR:8554/Jellyfish-3-Mbps.mkv/track1 RTSP/1.0
06-19 09:48:56.345: V/ARTSPConnection(211): Transport: RTP/AVP/UDP;unicast;client_port=16130-16131
06-19 09:48:56.345: V/ARTSPConnection(211): Blocksize: 1400
06-19 09:48:56.345: V/ARTSPConnection(211): User-Agent: User-Agent: Samsung GT-I9505 stagefright/Beyonce/1.1.9 (Linux;Android 4.3)
06-19 09:48:56.345: V/ARTSPConnection(211): x-wap-profile: http://wap.samsungmobile.com/uaprof/GT-I9505.xml
06-19 09:48:56.345: V/ARTSPConnection(211): CSeq: 2
06-19 09:48:56.345: V/ARTSPConnection(211): 
06-19 09:48:56.345: V/ARTSPConnection(211): '
06-19 09:48:56.395: I/ARTSPConnection(211): status: RTSP/1.0 200 OK
06-19 09:48:56.395: V/ARTSPConnection(211): line: CSeq: 2
06-19 09:48:56.395: V/ARTSPConnection(211): line: Date: Thu, Jun 19 2014 07:48:57 GMT
06-19 09:48:56.395: V/ARTSPConnection(211): line: Transport: RTP/AVP;unicast;destination=2.128.61.4;source=IP_ADDR;client_port=16130-16131;server_port=6970-6971
06-19 09:48:56.395: V/ARTSPConnection(211): line: Session: 41241BFD;timeout=65
06-19 09:48:56.395: I/MyHandler(211): SETUP(1) completed with result 0 (Success)
06-19 09:48:56.395: I/MyHandler(211): server specified timeout of 65 secs.
06-19 09:48:56.395: W/MyHandler(211): successfully poked holes (Server IP : IP_ADDR, rtp port : 6970, rtcp port : 6971)
06-19 09:48:56.405: V/ARTSPConnection(211): request: 'PLAY rtsp://IP_ADDR:8554/Jellyfish-3-Mbps.mkv RTSP/1.0
06-19 09:48:56.405: V/ARTSPConnection(211): Session: 41241BFD
06-19 09:48:56.405: V/ARTSPConnection(211): Range: npt=0.000-59.977001
06-19 09:48:56.405: V/ARTSPConnection(211): User-Agent: User-Agent: Samsung GT-I9505 stagefright/Beyonce/1.1.9 (Linux;Android 4.3)
06-19 09:48:56.405: V/ARTSPConnection(211): x-wap-profile: http://wap.samsungmobile.com/uaprof/GT-I9505.xml
06-19 09:48:56.405: V/ARTSPConnection(211): CSeq: 3
06-19 09:48:56.405: V/ARTSPConnection(211): 
06-19 09:48:56.405: V/ARTSPConnection(211): '
06-19 09:48:56.465: I/ARTSPConnection(211): status: RTSP/1.0 200 OK
06-19 09:48:56.465: I/ARTPSource(211): Format: video 0 RTP/AVP 96 / MIME-Type: H264/90000
06-19 09:48:56.465: V/ARTSPConnection(211): line: CSeq: 3
06-19 09:48:56.465: V/ARTSPConnection(211): line: Date: Thu, Jun 19 2014 07:48:57 GMT
06-19 09:48:56.465: V/ARTSPConnection(211): line: Range: npt=0.000-59.977
06-19 09:48:56.465: V/ARTSPConnection(211): line: Session: 41241BFD
06-19 09:48:56.465: V/ARTSPConnection(211): line: RTP-Info: url=rtsp://IP_ADDR:8554/Jellyfish-3-Mbps.mkv/track1;seq=2003;rtptime=1125446341
06-19 09:48:56.465: I/MyHandler(211): PLAY completed with result 0 (Success)
06-19 09:48:56.465: W/MyHandler(211): set mInitialSeqNum to 2003 - by RTP-Info
06-19 09:48:56.465: W/MyHandler(211): postNormalPlayTimeMapping at 'accu' [1125446341, 0]
06-19 09:48:56.465: I/MyHandler(211): Time now established for all tracks.
06-19 09:48:56.465: I/MyHandler(211): PLAY CASE: posting postOnDemandAUBufferRequest for the first time
06-19 09:48:56.465: I/ARTPSource(211): Added the first buff with seq:2003 to Q
06-19 09:48:56.465: I/power(710): *** release_dvfs_lock : lockType : 1 
06-19 09:48:56.465: D/SSRMv2:CustomFrequencyManagerService(710): releaseDVFSLockLocked : Getting Lock type frm List : DVFS_MIN_LIMIT  frequency : 1350000  uid : 1000  pid : 710  tag : ACTIVITY_RESUME_BOOSTER@9
06-19 09:48:56.535: E/MP-Decision(1772): num online cores: 2 reqd : 1 available : 4 rq_depth:0.000000 hotplug_avg_load_dw: 20
06-19 09:48:56.535: E/MP-Decision(1772): DOWN cpu:1 core_idx:1 Ns:1.100000 Ts:190 total_time_down:206.000000
06-19 09:48:56.555: E/MyHandler(211): first segment unit rtpTime=1125446341 seq=2003
06-19 09:48:56.555: E/MyHandler(211): video only mode : disable buffering
06-19 09:48:56.565: V/MediaPlayerService(211): [10] notify (0xb74eb070, 1, 0, 0)
06-19 09:48:56.565: V/MediaPlayer(6975): message received msg=1, ext1=0, ext2=0
06-19 09:48:56.565: V/MediaPlayer(6975): prepared
06-19 09:48:56.565: V/MediaPlayer(6975): callback application
06-19 09:48:56.565: V/MediaPlayer(6975): back from callback
06-19 09:48:56.575: D/MediaPlayer(6975): getMetadata
06-19 09:48:56.575: V/MediaPlayer(6975): getVideoWidth
06-19 09:48:56.575: V/MediaPlayer-JNI(6975): getVideoWidth: 0
06-19 09:48:56.575: V/MediaPlayer(6975): getVideoHeight
06-19 09:48:56.575: V/MediaPlayer-JNI(6975): getVideoHeight: 0
06-19 09:48:56.575: V/MediaPlayer-JNI(6975): start
06-19 09:48:56.575: V/MediaPlayer(6975): start
4

1 回答 1

2

您没有在粘贴的会话中请求 RTP/UDP:

设置 rtsp://IP_ADDR:5555/test.sdp/trackID=1 RTSP/1.0 传输:RTP/AVP/TCP;单播;交错=0-1

这会尝试建立一个 RTP over RTSP/TCP 会话。由于 VLC 不支持此传输,因此它会以461. 这与我记得的不谋而合,即 VLC 还没有实现这种传输。然而,Live555 RTSP 服务器确实支持此选项,但我怀疑即使在这种情况下,您实际上是通过 RTSP/TCP 流式传输 RTP。

我建议寻找一个应用程序选项来选择传输。

一种可能是您的 LTE 服务提供商正在阻止 UDP 数据包。您是否为所有移动设备使用相同的 LTE 服务提供商?

通过查看您的日志,一旦在特定时间范围内未收到任何数据,您的 RTSP 客户端就会自动切换传输。在您针对 live555 服务器进行测试的情况下,即使 UDP 被阻止,这也会导致您成功接收流。因此,您始终能够从 live555 接收,并且只能在从 VLC 流式传输时通过 WIFI 接收,因为 VLC 不支持交错传输。您可以通过编写一个简单的 UDP 应用程序来测试它。

其他要检查的事情是详细检查其他移动设备的日志,并在它工作时找出你实际在流式传输的内容。

于 2014-06-18T14:48:08.933 回答