Andrei and others,
Can somebody connect to my camera and Unbuntu server to test my config file and crtmpserver ? I still cannot access my IP camera, Andrei try it successfully but not me ....
My config file is:
-- Start of the configuration. This is the only node in the config file.
-- The rest of them are sub-nodes
configuration=
{
-- if true, the server will run as a daemon.
-- NOTE: all console appenders will be ignored if this is a daemon
daemon=false,
-- the OS's path separator. Used in composing paths
pathSeparator="/",
-- this is the place where all the logging facilities are setted up
-- you can add/remove any number of locations
logAppenders=
{
{
-- name of the appender. Not too important, but is mandatory
name="console appender",
-- type of the appender. We can have the following values:
-- console, coloredConsole and file
-- NOTE: console appenders will be ignored if we run the server
-- as a daemon
type="coloredConsole",
-- the level of logging. 6 is the FINEST message, 0 is FATAL message.
-- The appender will "catch" all the messages below or equal to this level
-- bigger the level, more messages are recorded
level=6
},
{
name="file appender",
type="file",
level=6,
-- the file where the log messages are going to land
fileName="/var/log/crtmpserver/crtmpserver.log"
}
},
-- this node holds all the RTMP applications
applications=
{
-- this is the root directory of all applications
-- usually this is relative to the binary execuable
rootDirectory="/usr/lib/crtmpserver/applications",
--this is where the applications array starts
{
-- The name of the application. It is mandatory and must be unique
name="appselector",
-- Short description of the application. Optional
description="Application for selecting the rest of the applications",
-- The type of the application. Possible values are:
-- dynamiclinklibrary - the application is a shared library
protocol="dynamiclinklibrary",
-- the complete path to the library. This is optional. If not provided,
-- the server will try to load the library from here
-- <rootDirectory>/<name>/lib<name>.{so|dll|dylib}
-- library="/some/path/to/some/shared/library.so"
-- Tells the server to validate the clien's handshake before going further.
-- It is optional, defaulted to true
validateHandshake=true,
default=true,
acceptors =
{
{
ip="0.0.0.0",
port=1935,
protocol="inboundRtmp"
},
{
ip="0.0.0.0",
port=8081,
protocol="inboundRtmps",
sslKey="server.key",
sslCert="server.crt"
},
{
ip="0.0.0.0",
port=8080,
protocol="inboundRtmpt"
},
}
},
{
description="FLV Playback Sample",
name="flvplayback",
protocol="dynamiclinklibrary",
aliases=
{
"simpleLive",
"vod",
"live",
"WeeklyQuest",
"SOSample",
"oflaDemo",
},
acceptors =
{
{
ip="0.0.0.0",
port=1935,
protocol="inboundRtmfp"
},
{
ip="0.0.0.0",
port=6666,
protocol="inboundLiveFlv",
waitForMetadata=true,
},
{
ip="0.0.0.0",
port=9999,
protocol="inboundTcpTs"
},
--[[{
ip="0.0.0.0",
port=554,
protocol="inboundRtsp"
},]]--
},
externalStreams =
{
{
uri="rtsp://
guest:gu...@192.168.1.22:554/11",
localStreamName="rtsp_test",
forceTcp=false
}
},
validateHandshake=true,
keyframeSeek=true,
seekGranularity=1.5, --in seconds, between 0.1 and 600
clientSideBuffer=12, --in seconds, between 5 and 30
--generateMetaFiles=true, --this will generate seek/meta files on application startup
--renameBadFiles=false,
--[[authentication=
{
type="adobe",
encoderAgents=
{
"FMLE/3.0 (compatible; FMSc/1.0)",
"my 3rd party encoder",
"some other encoder",
},
usersFile="users.lua",
}]]--
},
{
name="samplefactory",
description="asdsadasdsa",
protocol="dynamiclinklibrary",
aliases=
{
"httpOutboundTest"
},
acceptors =
{
{
ip="0.0.0.0",
port=8989,
protocol="httpEchoProtocol"
},
{
ip="0.0.0.0",
port=8988,
protocol="echoProtocol"
}
}
--validateHandshake=true,
--default=true,
},
{
name="vptests",
description="Variant protocol tests",
protocol="dynamiclinklibrary",
aliases=
{
"vptests_alias1",
"vptests_alias2",
"vptests_alias3",
},
acceptors =
{
{
ip="0.0.0.0",
port=1111,
protocol="inboundHttpXmlVariant"
}
}
},
{
name="admin",
description="Application for administering",
protocol="dynamiclinklibrary",
aliases=
{
"admin_alias1",
"admin_alias2",
"admin_alias3",
},
acceptors =
{
{
ip="0.0.0.0",
port=1112,
protocol="inboundJsonCli",
useLengthPadding=true
},
}
--validateHandshake=true,
--default=true,
},
{
name="proxypublish",
description="Application for forwarding streams to another RTMP server",
protocol="dynamiclinklibrary",
acceptors =
{
{
ip="0.0.0.0",
port=6665,
protocol="inboundLiveFlv"
},
},
abortOnConnectError=true,
targetServers =
{
--[[{
targetUri="rtmp://
x.xxxxxxx.fme.ustream.tv/ustreamVideo/xxxxxxx",
targetStreamName="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
localStreamName="gigi",
emulateUserAgent="FMLE/3.0 (compatible; FMSc/1.0
http://www.rtmpd.com)"
}]]--,
{
targetUri="rtmp://localhost/vod",
targetStreamType="live", -- (live, record or append)
emulateUserAgent="My user agent",
localStreamName="stream1"
},
},
},
{
name="stresstest",
description="Application for stressing a streaming server",
protocol="dynamiclinklibrary",
targetServer="localhost",
targetApp="vod",
active=false,
--[[streams =
{
"lg00","lg01","lg02","lg03","lg04","lg05","lg06","lg07","lg08",
"lg09","lg10","lg11","lg12","lg13","lg14","lg15","lg16","lg17",
"lg18","lg19","lg20","lg21","lg22","lg23","lg24","lg25","lg26",
"lg27","lg28","lg29","lg30","lg31","lg32","lg33","lg34","lg35",
"lg36","lg37","lg38","lg39","lg40","lg41","lg42","lg43","lg44",
"lg45","lg46","lg47","lg48","lg49"
},]]--
streams =
{
"mp4:lg.mp4"
},
numberOfConnections=10,
randomAccessStreams=false
},
{
name="applestreamingclient",
description="Apple Streaming Client",
protocol="dynamiclinklibrary",
--[[acceptors =
{
{
ip="0.0.0.0",
port=5544,
protocol="inboundRtsp"
}
},]]--
aliases=
{
"asc",
},
--validateHandshake=true,
--default=true,
},
--#INSERTION_MARKER# DO NOT REMOVE THIS. USED BY appscaffold SCRIPT.
}
}
My Log file is :
1330705721:3:/build/buildd/crtmpserver-0.0~dfsg+svn474/crtmpserver/src/crtmpserver.cpp:231:Run:GO! GO! GO! (1423)
1330705721:4:/build/buildd/crtmpserver-0.0~dfsg+svn474/thelib/src/netio/epoll/iohandlermanager.cpp:98:RegisterIOHandler:Handlers count changed: 12->13 IOHT_TCP_CARRIER
1330705721:4:/build/buildd/crtmpserver-0.0~dfsg+svn474/thelib/src/netio/epoll/iohandlermanager.cpp:107:UnRegisterIOHandler:Handlers count changed: 13->12 IOHT_TCP_CONNECTOR
1330705721:0:/build/buildd/crtmpserver-0.0~dfsg+svn474/thelib/src/protocols/rtp/basertspappprotocolhandler.cpp:736:HandleRTSPResponse:Response not yet implemented. request:
<MAP name="" isArray="false">
<MAP name="firstLine" isArray="false">
<STR name="method">DESCRIBE</STR>
<STR name="url">rtsp://
guest:gu...@192.168.1.22:554/11</STR>
<STR name="version">RTSP/1.0</STR>
</MAP>
<MAP name="headers" isArray="false">
<STR name="Accept">application/sdp</STR>
<STR name="Authorization">Basic Z3Vlc3Q6Z3Vlc3Q=</STR>
<STR name="CSeq">2</STR>
<STR name="Server">C++ RTMP Server (
http://www.rtmpd.com)</STR>
<STR name="X-Powered-By">C++ RTMP Server (
http://www.rtmpd.com)</STR>
</MAP>
</MAP>
response:
<MAP name="" isArray="false">
<MAP name="firstLine" isArray="false">
<STR name="reason">Unauthorized</STR>
<UINT32 name="statusCode">401</UINT32>
<STR name="version">RTSP/1.0</STR>
</MAP>
<MAP name="headers" isArray="false">
<STR name="Content-Length">0</STR>
<STR name="Cseq">2</STR>
<STR name="Server">HiIpcam/V100R003 VodServer/1.0.0</STR>
<STR name="WWW-Authenticate">Digest realm="Hipcam RealServer", nonce="9f8452d2793c34214e5c2b1d0a82fb0a"</STR>
</MAP>
<BOOL name="isRequest">false</BOOL>
</MAP>
1330705721:0:/build/buildd/crtmpserver-0.0~dfsg+svn474/thelib/src/protocols/rtp/rtspprotocol.cpp:197:SignalInputData:Unable to handle content
1330705721:0:/build/buildd/crtmpserver-0.0~dfsg+svn474/thelib/src/netio/epoll/tcpcarrier.cpp:88:OnEvent:Unable to signal data available
1330705721:6:/build/buildd/crtmpserver-0.0~dfsg+svn474/thelib/src/protocols/protocolmanager.cpp:43:EnqueueForDelete:Enqueue for delete for protool [TCP(3)] <-> RTSP(4)
1330705721:4:/build/buildd/crtmpserver-0.0~dfsg+svn474/thelib/src/netio/epoll/iohandlermanager.cpp:107:UnRegisterIOHandler:Handlers count changed: 12->11 IOHT_TCP_CARRIER
1330705721:6:/build/buildd/crtmpserver-0.0~dfsg+svn474/thelib/src/protocols/protocolmanager.cpp:43:EnqueueForDelete:Enqueue for delete for protool [RTSP(4)]
1330705721:6:/build/buildd/crtmpserver-0.0~dfsg+svn474/thelib/src/application/baseclientapplication.cpp:153:UnRegisterProtocol:Protocol [RTSP(4)] unregistered from application: flvplayback
and TCPDUMProot@streamer:/var/log/crtmpserver# tcpdump host 192.168.1.22
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
17:41:21.422003 IP 192.168.1.10.51080 > 192.168.1.22.rtsp: Flags [S], seq 2000801980, win 14600, options [mss 1460,sackOK,TS val 503029 ecr 0,nop,wscale 3], length 0
17:41:21.432535 ARP, Request who-has 192.168.1.10 tell 192.168.1.22, length 46
17:41:21.432550 ARP, Reply 192.168.1.10 is-at 00:19:b9:67:df:3a (oui Unknown), length 28
17:41:21.435876 IP 192.168.1.22.rtsp > 192.168.1.10.51080: Flags [S.], seq 1192134878, ack 2000801981, win 5792, options [mss 1460,sackOK,TS val 209711 ecr 503029,nop,wscale 1], length 0
17:41:21.435910 IP 192.168.1.10.51080 > 192.168.1.22.rtsp: Flags [.], ack 1, win 1825, options [nop,nop,TS val 503033 ecr 209711], length 0
17:41:21.436350 IP 192.168.1.10.51080 > 192.168.1.22.rtsp: Flags [P.], seq 1:210, ack 1, win 1825, options [nop,nop,TS val 503033 ecr 209711], length 209
17:41:21.439782 IP 192.168.1.22.rtsp > 192.168.1.10.51080: Flags [.], ack 210, win 3432, options [nop,nop,TS val 209712 ecr 503033], length 0
17:41:21.441922 IP 192.168.1.22.rtsp > 192.168.1.10.51080: Flags [P.], seq 1:121, ack 210, win 3432, options [nop,nop,TS val 209712 ecr 503033], length 120
17:41:21.441929 IP 192.168.1.10.51080 > 192.168.1.22.rtsp: Flags [.], ack 121, win 1825, options [nop,nop,TS val 503034 ecr 209712], length 0
17:41:21.442261 IP 192.168.1.10.51080 > 192.168.1.22.rtsp: Flags [P.], seq 210:445, ack 121, win 1825, options [nop,nop,TS val 503034 ecr 209712], length 235
17:41:21.449243 IP 192.168.1.22.rtsp > 192.168.1.10.51080: Flags [P.], seq 121:295, ack 445, win 3968, options [nop,nop,TS val 209713 ecr 503034], length 174
17:41:21.449688 IP 192.168.1.10.51080 > 192.168.1.22.rtsp: Flags [F.], seq 445, ack 295, win 1959, options [nop,nop,TS val 503036 ecr 209713], length 0
17:41:21.457594 IP 192.168.1.22.rtsp > 192.168.1.10.51080: Flags [F.], seq 295, ack 446, win 3968, options [nop,nop,TS val 209714 ecr 503036], length 0
17:41:21.457609 IP 192.168.1.10.51080 > 192.168.1.22.rtsp: Flags [.], ack 296, win 1959, options [nop,nop,TS val 503038 ecr 209714], length 0
Any idea ?
My ip camera is at
89.85.245.210:8080 guest guest for web access,
89.85.245.210:554/11 or /12 with guest:guest for rtsp,
ubuntu server is at
89.85.245.210:22 using ssh, mail me for user access.
Thank you