I am currently working on video streaming via RTSP/UDP for Android devices. My goal is to stream a video over a 4G cellular network. The problem I am facing is that the method used does not work with the Samsung Galaxy Core SM-G386F.
我目前正在通过RTSP/UDP为Android设备进行视频流流。我的目标是在4G蜂窝网络上播放视频。我所面临的问题是使用的方法与三星Galaxy smg - g386f不兼容。
Below is a summary of the method and a log file. I would like to know if there is any apparent mistake I am making or basically it is not supported for said device.
下面是方法和日志文件的摘要。我想知道我是否有明显的错误,或者基本上不支持该设备。
SERVER SIDE
服务器端
Streaming servers:
流媒体服务器:
- Live555MediaServer
- Live555MediaServer
live555MediaServer
live555MediaServer
source: http://www.live555.com/liveMedia/
来源:http://www.live555.com/liveMedia/
- VideoLAN / VLC
- VideoLAN / VLC
vlc -vvv Jellyfish-3-Mbps.mkv --sout '#rtp{sdp=rtsp://0.0.0.0:5555/test.sdp}'
vlc -vvv Jellyfish-3-Mbps。mkv——多' # rtp { sdp = rtsp:/ / 0.0.0.0:5555 / test.sdp }”
source: http://www.videolan.org/vlc/download-debian.html
来源:http://www.videolan.org/vlc/download-debian.html
Video test files:
视频测试文件:
-
Jellyfish Video Bitrate Test Files
水母视频比特率测试文件。
ex: Jellyfish-3-Mbps.mkv - 60s, 3 Mbps AVG Bitrate, 21 MB
例:Jellyfish-3-Mbps。mkv - 60, 3mbps AVG比特率,2mb。
source: http://jell.yfish.us/
来源:http://jell.yfish.us/
CLIENT SIDE
客户端
String url = "rtsp://IP_ADDR:8554/Jellyfish-3-Mbps.mkv"; // Live555MediaServer
String url = "rtsp://IP_ADDR:5555/test.sdp"; // VLC
Player.java (Method 1)
的球员。java(方法1)
VideoView v1 = (VideoView) findViewById(R.id.videoView1);
v1.setVideoURI(Uri.parse(url));
v1.requestFocus();
v1.start();
Player.java (Method 2) - UDP TEST
的球员。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
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" />
Both methods (VideoView & MediaPlayer) and media servers (Live555MediaServer and VLC) work fine on the following android devices:
这两种方法(VideoView & MediaPlayer)和媒体服务器(Live555MediaServer和VLC)在以下android设备上运行良好:
- Samsung Galaxy S4 (Android 4.3)
- 三星Galaxy S4(安卓4.3)
- Samsung Galaxy S5 (Android 4.4.2)
- 三星Galaxy S5(安卓4.4.2)
- Samsung Galaxy Note 3 (Android 4.4.2)
- 三星Galaxy Note 3(安卓4.4.2)
The problem appears on the Android Galaxy Core SM-G386F (Android 4.2). It can play stream from Live555MediaServer by using both methods, but it cannot play the stream from VLC.
这一问题出现在安卓(Android)星系核心SM-G386F (Android 4.2)上。它可以使用这两种方法从Live555MediaServer中播放流,但不能从VLC中播放流。
Full logcats: GALAXY_CORE_VLC, GALAXY_CORE_LIVE555
满logcats:GALAXY_CORE_VLC GALAXY_CORE_LIVE555
Logcat from Android Galaxy Core SM-G386F for VLC streaming media by using Method 1. It requests for RTP/AVP/UDP but id does not receive UPD packets.
使用方法1,从Android Galaxy Core smg - g386f中使用的Logcat用于VLC流媒体。它请求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
- All devices can play this test video (tested by playing video from device' memory)
- 所有的设备都可以播放这个测试视频(通过播放设备内存的视频测试)
- All devices can play stream (RTSP/UDP) from Live555MediaServer by using WIFI/4G
- 所有的设备都可以通过使用WIFI/4G来从Live555MediaServer中播放流(RTSP/UDP)。
- All devices can play stream (RTSP/UDP) from VLC by using WIFI
- 所有的设备都可以通过无线网络从VLC中播放流(RTSP/UDP)。
- Only one device cannot play stream (RTSP/UPD) from VLC by using 4G (VLC detects connected device)
- 只有一个设备不能使用4G (VLC检测连接设备)从VLC中播放流(RTSP/UPD)
- I have tried different ports
- 我尝试过不同的港口。
UPDATE
更新
Samsung Galaxy S4
三星Galaxy S4
Logcat for VLC
Logcat的VLC
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
Logcat for Live555MediaServer
为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
1 个解决方案
#1
2
You are not requesting RTP/UDP in your pasted session:
您没有在您的粘贴会话中请求RTP/UDP:
SETUP rtsp://IP_ADDR:5555/test.sdp/trackID=1 RTSP/1.0 Transport: RTP/AVP/TCP;unicast;interleaved=0-1
设置rtsp:/ / IP_ADDR:5555 /测试。sdp / trackID = 1 1.0 RTSP /运输:RTP / avon / TCP;单播;交叉= 0 - 1
This attempts to setup up an RTP over RTSP/TCP session. Since VLC does not support this transport it responds with a 461
. This coincides with what I remember, namely that VLC has not implemented this transport yet. Live555 RTSP servers however do support this option, but I suspect that even in that case, you were actually streaming RTP over RTSP/TCP.
这尝试在RTSP/TCP会话上设置RTP。由于VLC不支持这种传输,它以461进行响应。这与我所记得的一致,即VLC还没有实现这个传输。然而,Live555 RTSP服务器确实支持这个选项,但我怀疑,即使在这种情况下,您实际上也在RTSP/TCP上流RTP。
I would suggest looking for an application option to select the transport.
我建议寻找一个应用程序选项来选择传输。
One possibility could be that your LTE service provider is blocking UDP packets. Are you using the same LTE service provider for all mobile devices?
一种可能是,你的LTE服务提供商正在拦截UDP数据包。你是否在所有移动设备上使用相同的LTE服务提供商?
From looking at your logs, your RTSP client automatically switches transport once no data is received within a certain time frame. In the case where you are testing against a live555 server, this would result in you successfully receiving the stream even when UDP is blocked. Therefore you are always able to receive from live555, and only over WIFI when streaming from VLC since VLC does not support the interleaved transport. You can test this by writing a simple UDP application.
从查看您的日志,您的RTSP客户端在一个特定的时间范围内没有收到数据,就会自动切换传输。在您对live555服务器进行测试的情况下,即使在UDP被阻塞时,也会成功地接收到流。因此,您总是能够从live555接收,并且只有在从VLC流到VLC时才会通过WIFI,因为VLC不支持交叉传输。您可以通过编写一个简单的UDP应用程序来测试它。
Other things to check are to examine the logs of the other mobile devices in detail and to find out what you're actually streaming when it does work.
其他需要检查的事情是详细检查其他移动设备的日志,并找出当它工作时你实际上在流的是什么。
#1
2
You are not requesting RTP/UDP in your pasted session:
您没有在您的粘贴会话中请求RTP/UDP:
SETUP rtsp://IP_ADDR:5555/test.sdp/trackID=1 RTSP/1.0 Transport: RTP/AVP/TCP;unicast;interleaved=0-1
设置rtsp:/ / IP_ADDR:5555 /测试。sdp / trackID = 1 1.0 RTSP /运输:RTP / avon / TCP;单播;交叉= 0 - 1
This attempts to setup up an RTP over RTSP/TCP session. Since VLC does not support this transport it responds with a 461
. This coincides with what I remember, namely that VLC has not implemented this transport yet. Live555 RTSP servers however do support this option, but I suspect that even in that case, you were actually streaming RTP over RTSP/TCP.
这尝试在RTSP/TCP会话上设置RTP。由于VLC不支持这种传输,它以461进行响应。这与我所记得的一致,即VLC还没有实现这个传输。然而,Live555 RTSP服务器确实支持这个选项,但我怀疑,即使在这种情况下,您实际上也在RTSP/TCP上流RTP。
I would suggest looking for an application option to select the transport.
我建议寻找一个应用程序选项来选择传输。
One possibility could be that your LTE service provider is blocking UDP packets. Are you using the same LTE service provider for all mobile devices?
一种可能是,你的LTE服务提供商正在拦截UDP数据包。你是否在所有移动设备上使用相同的LTE服务提供商?
From looking at your logs, your RTSP client automatically switches transport once no data is received within a certain time frame. In the case where you are testing against a live555 server, this would result in you successfully receiving the stream even when UDP is blocked. Therefore you are always able to receive from live555, and only over WIFI when streaming from VLC since VLC does not support the interleaved transport. You can test this by writing a simple UDP application.
从查看您的日志,您的RTSP客户端在一个特定的时间范围内没有收到数据,就会自动切换传输。在您对live555服务器进行测试的情况下,即使在UDP被阻塞时,也会成功地接收到流。因此,您总是能够从live555接收,并且只有在从VLC流到VLC时才会通过WIFI,因为VLC不支持交叉传输。您可以通过编写一个简单的UDP应用程序来测试它。
Other things to check are to examine the logs of the other mobile devices in detail and to find out what you're actually streaming when it does work.
其他需要检查的事情是详细检查其他移动设备的日志,并找出当它工作时你实际上在流的是什么。