richard-vd
New Member
Hi,
WCS doesn't want to take the RTSP stream from my HDMI H.264 encoder device. The RTSP stream plays just fine in VLC. What can I change to get this to work? All configs are default. I tried this on my Debian server, but I get the same result on AWS.
Here is the RTSP communication log from a Wireshark capture. It shows that the SETUP and PLAY steps are missing:
OPTIONS rtsp://163.x.x.x/hdmi2 RTSP/1.0
Host: 163.x.x.x
User-Agent: WebCallServer-5.2.629-dd8778ba58690d19a44ed583cd116650fe511539
CSeq: 2
RTSP/1.0 200 OK
CSeq: 2
Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY
Server: RtspServer1.0
DESCRIBE rtsp://163.x.x.x/hdmi2 RTSP/1.0
Host: 163.x.x.x
User-Agent: WebCallServer-5.2.629-dd8778ba58690d19a44ed583cd116650fe511539
CSeq: 3
Accept: application/sdp
RTSP/1.0 200 OK
CSeq: 3
Server: RtspServer1.0
Content-Base: rtsp://163.x.x.x/hdmi2
Content-Type: application/sdp
Content-Length: 492
v=0
o=- 18467 41 IN IP4 0.0.0.0
c=IN IP4 0.0.0.0
a=control:*
a=range:npt=0-
t=0 0
m=video 0 RTP/AVP 96
a=rtpmap:96 H264/90000
a=fmtp:96 profile-level-id=0; packetization-mode=2; sprop-parameter-sets=Z2QAKqwsaoHgCJ+XAG4CAgKAAAADAIAAADJC,aO48sA==;
a=control:trackID=1
m=audio 0 RTP/AVP 97
a=rtpmap:97 MPEG4-GENERIC/48000/2
a=fmtp:97 streamtype=5;mode=AAC-hbr;profile-level-id=15;SizeLength=13;IndexLength=3;IndexDeltaLength=3;object=1;cpresent=0;config=1190
a=control:trackID=2
The flashphoner.log file has this "String index out of range: 2" error:
15:32:38,296 INFO RestClient - API-ASYNC-pool-12-thread-6 RECEIVED REST OBJECT <==
URL:http://localhost:8081/apps/EchoApp/publishStream
OBJECT:
{
"nodeId" : "DbnxXbU4HjGDDasKOHLUpHEaG895Za1A@127.0.0.1",
"appKey" : "defaultApp",
"sessionId" : "rtsp://163.x.x.x/hdmi2-738994cd-efbe-404e-ac7a-397f0b1f7560",
"mediaSessionId" : "3091345a-90af-43ae-baeb-6a8726a5a8f2",
"name" : "rtsp://163.x.x.x/hdmi2",
"published" : true,
"hasVideo" : false,
"hasAudio" : true,
"status" : "NEW",
"record" : false,
"width" : 0,
"height" : 0,
"bitrate" : 0,
"minBitrate" : 0,
"maxBitrate" : 0,
"quality" : 0,
"history" : false,
"gop" : 0,
"fps" : 0,
"audioBitrate" : 0,
"codecImpl" : "",
"transport" : "UDP",
"cvoExtension" : false,
"mediaType" : "pull",
"mediaProvider" : "RTSP"
}
15:32:38,299 INFO RtpVideoConfig - pool-49-thread-1 VideoResolution C 0x0
15:32:38,299 INFO MediaSession - pool-49-thread-1 Stop MediaSession id: 3091345a-90af-43ae-baeb-6a8726a5a8f2
15:32:38,300 INFO MediaSession - pool-49-thread-1 '3091345a-90af-43ae-baeb-6a8726a5a8f2' has been terminated
15:32:38,300 ERROR MediaHandler - pool-49-thread-1 publishStream exception
java.lang.StringIndexOutOfBoundsException: String index out of range: 2
at java.lang.String.substring(String.java:1963)
at com.flashphoner.media.F.A.A.C(Unknown Source)
at com.flashphoner.media.F.A.A.B(Unknown Source)
at com.flashphoner.media.F.A.A.A(Unknown Source)
at com.flashphoner.media.B.N.getMediaDescription(Unknown Source)
at com.flashphoner.media.B.G.A(Unknown Source)
at com.flashphoner.media.B.G.createLocalSdp(Unknown Source)
at com.flashphoner.server.client.handler.wcs4.media.MediaHandlerUtils.setRemoteSDP(Unknown Source)
at com.flashphoner.server.client.handler.wcs4.media.MediaHandlerUtils.createMediaSession(Unknown Source)
at com.flashphoner.server.client.handler.wcs4.media.MediaHandler.publishStream(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.flashphoner.server.client.handler.MediaHandlerProxyCreator$MediaHandlerInvocationHandler.invoke(Unknown Source)
at com.flashphoner.server.client.handler.wcs4.WCS4Handler_$$_jvstb86_0.publishStream(WCS4Handler_$$_jvstb86_0.java)
at com.flashphoner.server.remote.E.D.A(Unknown Source)
at com.flashphoner.D.B.messageReceived(Unknown Source)
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(Unknown Source)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(Unknown Source)
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(Unknown Source)
at org.jboss.netty.channel.Channels.fireMessageReceived(Unknown Source)
at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(Unknown Source)
at org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(Unknown Source)
at org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(Unknown Source)
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(Unknown Source)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(Unknown Source)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(Unknown Source)
at org.jboss.netty.channel.Channels.fireMessageReceived(Unknown Source)
at org.jboss.netty.channel.Channels.fireMessageReceived(Unknown Source)
at org.jboss.netty.channel.socket.nio.NioWorker.read(Unknown Source)
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.processSelectedKeys(Unknown Source)
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(Unknown Source)
at org.jboss.netty.channel.socket.nio.NioWorker.run(Unknown Source)
at org.jboss.netty.util.ThreadRenamingRunnable.run(Unknown Source)
at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
15:32:38,301 INFO RestClient - API-ASYNC-pool-12-thread-7 SEND REST OBJECT ==>
WCS doesn't want to take the RTSP stream from my HDMI H.264 encoder device. The RTSP stream plays just fine in VLC. What can I change to get this to work? All configs are default. I tried this on my Debian server, but I get the same result on AWS.
Here is the RTSP communication log from a Wireshark capture. It shows that the SETUP and PLAY steps are missing:
OPTIONS rtsp://163.x.x.x/hdmi2 RTSP/1.0
Host: 163.x.x.x
User-Agent: WebCallServer-5.2.629-dd8778ba58690d19a44ed583cd116650fe511539
CSeq: 2
RTSP/1.0 200 OK
CSeq: 2
Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY
Server: RtspServer1.0
DESCRIBE rtsp://163.x.x.x/hdmi2 RTSP/1.0
Host: 163.x.x.x
User-Agent: WebCallServer-5.2.629-dd8778ba58690d19a44ed583cd116650fe511539
CSeq: 3
Accept: application/sdp
RTSP/1.0 200 OK
CSeq: 3
Server: RtspServer1.0
Content-Base: rtsp://163.x.x.x/hdmi2
Content-Type: application/sdp
Content-Length: 492
v=0
o=- 18467 41 IN IP4 0.0.0.0
c=IN IP4 0.0.0.0
a=control:*
a=range:npt=0-
t=0 0
m=video 0 RTP/AVP 96
a=rtpmap:96 H264/90000
a=fmtp:96 profile-level-id=0; packetization-mode=2; sprop-parameter-sets=Z2QAKqwsaoHgCJ+XAG4CAgKAAAADAIAAADJC,aO48sA==;
a=control:trackID=1
m=audio 0 RTP/AVP 97
a=rtpmap:97 MPEG4-GENERIC/48000/2
a=fmtp:97 streamtype=5;mode=AAC-hbr;profile-level-id=15;SizeLength=13;IndexLength=3;IndexDeltaLength=3;object=1;cpresent=0;config=1190
a=control:trackID=2
The flashphoner.log file has this "String index out of range: 2" error:
15:32:38,296 INFO RestClient - API-ASYNC-pool-12-thread-6 RECEIVED REST OBJECT <==
URL:http://localhost:8081/apps/EchoApp/publishStream
OBJECT:
{
"nodeId" : "DbnxXbU4HjGDDasKOHLUpHEaG895Za1A@127.0.0.1",
"appKey" : "defaultApp",
"sessionId" : "rtsp://163.x.x.x/hdmi2-738994cd-efbe-404e-ac7a-397f0b1f7560",
"mediaSessionId" : "3091345a-90af-43ae-baeb-6a8726a5a8f2",
"name" : "rtsp://163.x.x.x/hdmi2",
"published" : true,
"hasVideo" : false,
"hasAudio" : true,
"status" : "NEW",
"record" : false,
"width" : 0,
"height" : 0,
"bitrate" : 0,
"minBitrate" : 0,
"maxBitrate" : 0,
"quality" : 0,
"history" : false,
"gop" : 0,
"fps" : 0,
"audioBitrate" : 0,
"codecImpl" : "",
"transport" : "UDP",
"cvoExtension" : false,
"mediaType" : "pull",
"mediaProvider" : "RTSP"
}
15:32:38,299 INFO RtpVideoConfig - pool-49-thread-1 VideoResolution C 0x0
15:32:38,299 INFO MediaSession - pool-49-thread-1 Stop MediaSession id: 3091345a-90af-43ae-baeb-6a8726a5a8f2
15:32:38,300 INFO MediaSession - pool-49-thread-1 '3091345a-90af-43ae-baeb-6a8726a5a8f2' has been terminated
15:32:38,300 ERROR MediaHandler - pool-49-thread-1 publishStream exception
java.lang.StringIndexOutOfBoundsException: String index out of range: 2
at java.lang.String.substring(String.java:1963)
at com.flashphoner.media.F.A.A.C(Unknown Source)
at com.flashphoner.media.F.A.A.B(Unknown Source)
at com.flashphoner.media.F.A.A.A(Unknown Source)
at com.flashphoner.media.B.N.getMediaDescription(Unknown Source)
at com.flashphoner.media.B.G.A(Unknown Source)
at com.flashphoner.media.B.G.createLocalSdp(Unknown Source)
at com.flashphoner.server.client.handler.wcs4.media.MediaHandlerUtils.setRemoteSDP(Unknown Source)
at com.flashphoner.server.client.handler.wcs4.media.MediaHandlerUtils.createMediaSession(Unknown Source)
at com.flashphoner.server.client.handler.wcs4.media.MediaHandler.publishStream(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.flashphoner.server.client.handler.MediaHandlerProxyCreator$MediaHandlerInvocationHandler.invoke(Unknown Source)
at com.flashphoner.server.client.handler.wcs4.WCS4Handler_$$_jvstb86_0.publishStream(WCS4Handler_$$_jvstb86_0.java)
at com.flashphoner.server.remote.E.D.A(Unknown Source)
at com.flashphoner.D.B.messageReceived(Unknown Source)
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(Unknown Source)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(Unknown Source)
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(Unknown Source)
at org.jboss.netty.channel.Channels.fireMessageReceived(Unknown Source)
at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(Unknown Source)
at org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(Unknown Source)
at org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(Unknown Source)
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(Unknown Source)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(Unknown Source)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(Unknown Source)
at org.jboss.netty.channel.Channels.fireMessageReceived(Unknown Source)
at org.jboss.netty.channel.Channels.fireMessageReceived(Unknown Source)
at org.jboss.netty.channel.socket.nio.NioWorker.read(Unknown Source)
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.processSelectedKeys(Unknown Source)
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(Unknown Source)
at org.jboss.netty.channel.socket.nio.NioWorker.run(Unknown Source)
at org.jboss.netty.util.ThreadRenamingRunnable.run(Unknown Source)
at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
15:32:38,301 INFO RestClient - API-ASYNC-pool-12-thread-7 SEND REST OBJECT ==>