I am trying to stream from rpicompute to crtmpserver which will be consumed via android device .
Following are the two near near success approaches I am pursuing but not successful yet . any hints on what i may be doing wrong in either will be really helpful
Approach 1 : Using rtmpsink and port 1935
gst-launch-1.0 -m -v --gst-debug-level=2 -e rpicamsrc bitrate=100000 ! video/x-h264,width=320,height=240,framerate=10/1 ! h264parse ! flvmux ! rtmpsink location ='rtmp://<hidden_ip>:1935/live'
inside appselector.lua
ip = "0.0.0.0",
port = 1935,
protocol = "inboundRtmp"
gst traces :
...
flvmux gstflvmux.c:1156:gst_flv_mux_write_header:<flvmux0> downstream did not handle seeking query
....
flvmux gstflvmux.c:1164:gst_flv_mux_write_header:<flvmux0> downstream is not seekable, but streamable=false. Will ignore that and create streamable output instead
....
0:00:02.139546374 2315 0xce3600 WARN rtmp :0:: HandShake: client signature does not match!
0:00:03.223509923 2315 0xce3600 ERROR rtmp :0:: WriteN, RTMP send error 104 (136 bytes)
crtmpserver traces :
amf0serializer.cpp:321:ReadMixedArray:Unable to read value
rtmpprotocolserializer.cpp:503:DeserializeNotify:Unable to de-serialize invoke parameter 2
basertmpappprotocolhandler.cpp:286:InboundMessageAvailable:Unable to deserialize message
/basertmpprotocol.cpp:799:ProcessBytes:Unable to send rtmp message to application
tcpcarrier.cpp:88:OnEvent:Unable to signal data available
iohandlermanager.cpp:109:UnRegisterIOHandler:Handlers count changed: 7->6 IOHT_TCP_CARRIER
protocolmanager.cpp:44:EnqueueForDelete:Enqueue for delete for protocol [IR(16)]
baseclientapplication.cpp:238:SignalStreamUnRegistered:Stream INR(2) with name `` unregistered from application `flvplayback` from protocol IR(16)
baseclientapplication.cpp:216:UnRegisterProtocol:Protocol [IR(16)] unregistered from application: flvplayback
--------------------------------
Approach 2 : Using tcpserversink and port 6666
settings in crtmpserver config in flvplayback.lua
ip="0.0.0.0",
port=6666,
protocol="inboundLiveFlv",
waitForMetadata=true,
gst-launch-1.0 -m -v --gst-debug-level=2 -e rpicamsrc bitrate=100000 ! video/x-h264,width=320,height=240,framerate=10/1 ! h264parse ! flvmux ! tcpclientsink host="<hidden_ip>" port=6666
gst traces:
ERROR: from element /GstPipeline:pipeline0/GstTCPClientSink:tcpclientsink0: Error while sending data to "<hidden_ip>:6666".
Additional debug info:
gsttcpclientsink.c(216): gst_tcp_client_sink_render (): /GstPipeline:pipeline0/GstTCPClientSink:tcpclientsink0:
Only 0 of 1221 bytes written: Error sending data: Broken pipe
Got message #58 from element "pipeline0" (eos): no message details
Got EOS from element "pipeline0".
EOS received - stopping pipeline...
Execution ended after 0:00:01.350670661
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
crtmpserver traces :
amf0serializer.cpp:321:ReadMixedArray:Unable to read value
inboundliveflvprotocol.cpp:166:SignalInputData:Unable to read metadata item
tcpcarrier.cpp:88:OnEvent:Unable to signal data available
iohandlermanager.cpp:109:UnRegisterIOHandler:Handlers count changed: 7->6 IOHT_TCP_CARRIER
protocolmanager.cpp:44:EnqueueForDelete:Enqueue for delete for protocol [ILFL(18)]
baseliveflvappprotocolhandler.cpp:58:UnRegisterProtocol:protocol [ILFL(18)] unregistered from app flvplayback
baseclientapplication.cpp:216:UnRegisterProtocol:Protocol [ILFL(18)] unregistered from application: flvplayback
---------------------------------------------