Hello all,
I am attempting to publish an flv encoded/muxed live video stream to Red5 using gstreamer's rtmpsink element.
My test pipeline is launched from
GST_DEBUG=3 gst-launch videotestsrc ! ffenc_flv ! flvmux ! rtmpsink location="rtmp://localhost/oflaDemo/test live=1"
However, the stream is stopping with a write error on the client side( "ERROR: WriteN, RTMP send error 104 (129 bytes)" and a ProtocolException in Red5. Here is the exception:
[INFO] [NioProcessor-1] org.red5.server.net.rtmp.RTMPHandler -Connecting to: [WebScope@c95daa Depth = 1, Path = '/default', Name = 'oflaDemo'] [INFO] [NioProcessor-1] org.red5.server.stream. ClientBroadcastStream - Provider connect [INFO] [NioProcessor-1] org.red5.server.stream. ClientBroadcastStream - Stream start [INFO] [NioProcessor-1] org.red5.server.stream. ClientBroadcastStream - Provider connect [ERROR] [NioProcessor-1] org.red5.server.net.rtmp. codec.RTMPProtocolDecoder - Error decoding buffer org.red5.server.net.protocol.ProtocolException: Error during decoding at org.red5.server.net.rtmp. codec.RTMPProtocolDecoder. decode(RTMPProtocolDecoder.java:203) [red5.jar:na] at org.red5.server.net.rtmp. codec.RTMPProtocolDecoder.decodeBuffer( RTMPProtocolDecoder.java:122) [red5.jar:na] at org.red5.server.net.rtmp. codec.RTMPMinaProtocolDecoder.decode( RTMPMinaProtocolDecoder.java:61) [red5.jar:na] at org.apache.mina.filter.codec. ProtocolCodecFilter.messageReceived( ProtocolCodecFilter.java:225) [mina-core-2.0.0-RC1.jar:na] at org.apache.mina.core.filterchain. DefaultIoFilterChain.callNextMessageReceived( DefaultIoFilterChain.java:434) [mina-core-2.0.0-RC1.jar:na] at org.apache.mina.core.filterchain. DefaultIoFilterChain.access$ 1200(DefaultIoFilterChain.java:46) [mina-core-2.0.0-RC1.jar:na] at org.apache.mina.core.filterchain. DefaultIoFilterChain$ EntryImpl$1.messageReceived( DefaultIoFilterChain.java:793) [mina-core-2.0.0-RC1.jar:na] at org.apache.mina.core. filterchain.IoFilterAdapter.messageReceived( IoFilterAdapter.java:119) [mina-core-2.0.0-RC1.jar:na] at org.apache.mina.core.filterchain. DefaultIoFilterChain.callNextMessageReceived( DefaultIoFilterChain.java:434) [mina-core-2.0.0-RC1.jar:na] at org.apache.mina.core.filterchain. DefaultIoFilterChain.fireMessageReceived( DefaultIoFilterChain.java:426) [mina-core-2.0.0-RC1.jar:na] at org.apache.mina.core.polling. AbstractPollingIoProcessor.read( AbstractPollingIoProcessor.java:638) [mina-core-2.0.0-RC1.jar:na] at org.apache.mina.core.polling. AbstractPollingIoProcessor.process( AbstractPollingIoProcessor.java:598) [mina-core-2.0.0-RC1.jar:na] at org.apache.mina.core.polling. AbstractPollingIoProcessor.process( AbstractPollingIoProcessor.java:587) [mina-core-2.0.0-RC1.jar:na] at org.apache.mina.core.polling. AbstractPollingIoProcessor.access$400( AbstractPollingIoProcessor.java:61) [mina-core-2.0.0-RC1.jar:na] at org.apache.mina.core.polling. AbstractPollingIoProcessor$Processor.run( AbstractPollingIoProcessor.java:969) [mina-core-2.0.0-RC1.jar:na] at org.apache.mina.util. NamePreservingRunnable.run( NamePreservingRunnable.java:64) [mina-core-2.0.0-RC1.jar:na] at java.util.concurrent. ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1110) [na:1.6.0_24] at java.util.concurrent. ThreadPoolExecutor$Worker.run( ThreadPoolExecutor.java:603) [na:1.6.0_24] at java.lang.Thread.run(Thread.java:679) [na:1.6.0_24] Caused by: java.lang.IllegalArgumentException: null at java.nio.Buffer.limit(Buffer.java:266) [na:1.6.0_24] at org.red5.io.amf.Input. bufferToString(Input.java:275) [red5.jar:na] at org.red5.io.amf.Input. getString(Input.java:258) [red5.jar:na] at org.red5.io.amf.Input. readPropertyName(Input.java:565) [red5.jar:na] at org.red5.io.amf.Input. readKeyValues(Input.java:351) [red5.jar:na] at org.red5.io.amf.Input. readSimpleObject(Input.java:501) [red5.jar:na] at org.red5.io.amf.Input. readObject(Input.java:537) [red5.jar:na] at org.red5.server.net.rtmp. codec.RTMPProtocolDecoder. decodeStreamMetadata( RTMPProtocolDecoder.java:978) [red5.jar:na] at org.red5.server.net.rtmp. codec.RTMPProtocolDecoder.decodeMessage( RTMPProtocolDecoder.java:564) [red5.jar:na] at org.red5.server.net.rtmp. codec.RTMPProtocolDecoder.decodePacket( RTMPProtocolDecoder.java:385) [red5.jar:na] at org.red5.server.net.rtmp. codec.RTMPProtocolDecoder. decode(RTMPProtocolDecoder.java:190) [red5.jar:na] ... 18 common frames omitted [WARN] [NioProcessor-1] org.red5.server.net.rtmp. codec.RTMPProtocolDecoder - Closing connection because decoding failed: RTMPMinaConnection from 127.0.0.1 : 38148 to localhost (in: 6407 out 3514 ) [INFO] [NioProcessor-1] org.red5.server.stream. ClientBroadcastStream - Close [INFO] [NioProcessor-1] org.red5.server.stream. ClientBroadcastStream - Provider disconnect [INFO] [NioProcessor-1] org.red5.server.stream. ClientBroadcastStream - Provider disconnect
I very much appreciate any help. Thank you!