Yes, "tcp://localhost:6665" not followed by "/live/test/" or something
like that. But ffmpeg don't say that there is some problem here. It
behaves like output stream is OK.
I tried your version with port 6666. Effect is the same: client can't
read RTMP stream ("mplayer rtmp://localhost/live/" says: "HandShake:
client signature does not match!".
FFMPEG EXECUTION:
--------------------------
xx@master1 ~ $ nice ffmpeg -f alsa -i hw:1,0 -ar 44100 -f video4linux2
-r 10 -s 864x480 -i /dev/video0 -f flv -metadata streamName="test"
tcp://localhost:6666
FFmpeg version SVN-r25767, Copyright (c) 2000-2010 the FFmpeg
developers
built on Feb 10 2011 20:03:53 with gcc 4.3.3
configuration: --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --
mandir=/usr/share/man --enable-static --enable-shared --cc=i686-pc-
linux-gnu-gcc --enable-gpl --enable-version3 --enable-postproc --
enable-avfilter --disable-stripping --disable-debug --disable-doc --
disable-vaapi --disable-static --disable-vdpau --enable-libmp3lame --
enable-libtheora --enable-libx264 --enable-x11grab --enable-pthreads --
enable-libgsm --enable-librtmp --disable-altivec --enable-hardcoded-
tables
libavutil 50.33. 0 / 50.33. 0
libavcore 0.13. 0 / 0.13. 0
libavcodec 52.96. 0 / 52.96. 0
libavformat 52.84. 0 / 52.84. 0
libavdevice 52. 2. 2 / 52. 2. 2
libavfilter 1.62. 0 / 1.62. 0
libswscale 0.12. 0 / 0.12. 0
libpostproc 51. 2. 0 / 51. 2. 0
[alsa @ 0x806b4c0] Estimating duration from bitrate, this may be
inaccurate
Input #0, alsa, from 'hw:1,0':
Duration: N/A, start: 2953418.998968, bitrate: N/A
Stream #0.0: Audio: pcm_s16le, 48000 Hz, 1 channels, s16, 768 kb/s
[video4linux2 @ 0x806c660] Estimating duration from bitrate, this may
be inaccurate
Input #1, video4linux2, from '/dev/video0':
Duration: N/A, start: 2953420.023104, bitrate: 66355 kb/s
Stream #1.0: Video: rawvideo, yuyv422, 864x480, 66355 kb/s, 10
tbr, 1000k tbn, 10 tbc
[buffer @ 0x8090180] w:864 h:480 pixfmt:yuyv422
[ffsink @ 0x8090390] auto-inserting filter 'auto-inserted scaler 0'
between the filter 'src' and the filter 'out'
[scale @ 0x8090730] w:864 h:480 fmt:yuyv422 -> w:864 h:480 fmt:yuv420p
flags:0xa0000004
Output #0, flv, to 'tcp://localhost:6666':
Metadata:
streamName : test
encoder : Lavf52.84.0
Stream #0.0: Video: flv, yuv420p, 864x480, q=2-31, 200 kb/s, 1k
tbn, 10 tbc
Stream #0.1: Audio: libmp3lame, 44100 Hz, 1 channels, s16, 64 kb/s
Stream mapping:
Stream #1.0 -> #0.0
Stream #0.0 -> #0.1
Press [q] to stop encoding
frame= 2192 fps= 10 q=12.1 size= 7627kB time=219.66 bitrate=
284.4kbits/s
--------------------------------------------------------
Console output of the crtmpserver when connecting from ffmpeg (more
quiet):
------------------------------
../../sources/thelib/src/netio/epoll/tcpacceptor.cpp:134 Client
connected:
192.168.3.1:33919 ->
0.0.0.0:6666
../../sources/thelib/src/protocols/liveflv/inboundliveflvprotocol.cpp:
45 parameters:
<MAP name="" isArray="false">
<STR name="ip">0.0.0.0</STR>
<INT16 name="port">6666</INT16>
<STR name="protocol">inboundLiveFlv</STR>
<NULL name="sslCert"></NULL>
<NULL name="sslKey"></NULL>
<BOOL name="waitForMetadata">true</BOOL>
</MAP>
../../sources/thelib/src/protocols/liveflv/inboundliveflvprotocol.cpp:
50 _waitForMetadata: 1
../../sources/thelib/src/netio/epoll/iohandlermanager.cpp:96 Handlers
count changed: 11->12 IOHT_TCP_CARRIER
../../sources/thelib/src/protocols/liveflv/
baseliveflvappprotocolhandler.cpp:45 protocol CTCP(17) <-> TCP(35) <->
[ILFL(36)] registered to app flvplayback
../../sources/thelib/src/protocols/liveflv/inboundliveflvprotocol.cpp:
234 Stream name: test
../../sources/thelib/src/application/baseclientapplication.cpp:160
Stream 4 of type INLFLV with name `test` registered to application
`flvplayback`
../../sources/thelib/src/protocols/liveflv/inboundliveflvprotocol.cpp:
188 Stream metadata:
<MAP name="" isArray="true">
<MAP name="__index__value__0" isArray="true">
<DOUBLE name="audiocodecid">-0.000</DOUBLE>
<DOUBLE name="audiodatarate">-0.000</DOUBLE>
<DOUBLE name="audiosamplerate">-0.000</DOUBLE>
<DOUBLE name="audiosamplesize">-0.000</DOUBLE>
<DOUBLE name="duration">-0.000</DOUBLE>
<STR name="encoder">Lavf52.84.0</STR>
<DOUBLE name="filesize">-0.000</DOUBLE>
<DOUBLE name="framerate">-0.000</DOUBLE>
<DOUBLE name="height">-0.000</DOUBLE>
<BOOL name="stereo">false</BOOL>
<STR name="streamName">test</STR>
<DOUBLE name="videocodecid">-0.000</DOUBLE>
<DOUBLE name="videodatarate">-0.000</DOUBLE>
<DOUBLE name="width">-0.000</DOUBLE>
</MAP>
</MAP>
------------------------------
Trying FFPLAY:
--------------------------------
xx@master1 /ar/src/crtmpserver/docs/simpleLive $ ffplay rtmp://localhost/live/test
FFplay version SVN-r25767, Copyright (c) 2003-2010 the FFmpeg
developers
built on Feb 10 2011 20:03:53 with gcc 4.3.3
configuration: --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --
mandir=/usr/share/man --enable-static --enable-shared --cc=i686-pc-
linux-gnu-gcc --enable-gpl --enable-version3 --enable-postproc --
enable-avfilter --disable-stripping --disable-debug --disable-doc --
disable-vaapi --disable-static --disable-vdpau --enable-libmp3lame --
enable-libtheora --enable-libx264 --enable-x11grab --enable-pthreads --
enable-libgsm --enable-librtmp --disable-altivec --enable-hardcoded-
tables
libavutil 50.33. 0 / 50.33. 0
libavcore 0.13. 0 / 0.13. 0
libavcodec 52.96. 0 / 52.96. 0
libavformat 52.84. 0 / 52.84. 0
libavdevice 52. 2. 2 / 52. 2. 2
libavfilter 1.62. 0 / 1.62. 0
libswscale 0.12. 0 / 0.12. 0
libpostproc 51. 2. 0 / 51. 2. 0
HandShake: client signature does not match!
--------------------------------
crtmpserver console output when connecting from FFPLAY:
-----------------------------
../../sources/thelib/src/netio/epoll/tcpacceptor.cpp:134 Client
connected:
192.168.3.1:42151 ->
0.0.0.0:1935
../../sources/thelib/src/netio/epoll/iohandlermanager.cpp:96 Handlers
count changed: 12->13 IOHT_TCP_CARRIER
../../sources/thelib/src/protocols/rtmp/basertmpappprotocolhandler.cpp:
87 Register protocol CTCP(18) <-> TCP(37) <-> [IR(38)] to application
appselector
../../sources/thelib/src/protocols/rtmp/inboundrtmpprotocol.cpp:126
This version of player doesn't support validation
../../sources/applications/appselector/src/rtmpappprotocolhandler.cpp:
83 Selected application: flvplayback (live)
../../sources/thelib/src/application/baseclientapplication.cpp:152
Protocol CTCP(18) <-> TCP(37) <-> [IR(38)] unregistered from
application: appselector
../../sources/thelib/src/protocols/rtmp/basertmpappprotocolhandler.cpp:
87 Register protocol CTCP(18) <-> TCP(37) <-> [IR(38)] to application
flvplayback
../../sources/thelib/src/protocols/rtmp/basertmpappprotocolhandler.cpp:
1008 Default implementation of ProcessInvokeGeneric: Request: _checkbw
../../sources/thelib/src/netio/epoll/tcpcarrier.cpp:86 Unable to read
data.
192.168.3.1:42151 ->
127.0.0.1:1935
../../sources/thelib/src/protocols/protocolmanager.cpp:43 Enqueue for
delete for protool [TCP(37)] <-> IR(38)
../../sources/thelib/src/netio/epoll/iohandlermanager.cpp:105 Handlers
count changed: 13->12 IOHT_TCP_CARRIER
../../sources/thelib/src/protocols/protocolmanager.cpp:43 Enqueue for
delete for protool [IR(38)]
../../sources/thelib/src/application/baseclientapplication.cpp:152
Protocol [IR(38)] unregistered from application: flvplayback
-----------------------------
Thank you!