<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link="#0563C1" vlink="#954F72"><div class=WordSection1><p class=MsoNormal>Server:<o:p></o:p></p><p class=MsoNormal>Linux CentOS 6.(x)<o:p></o:p></p><p class=MsoNormal>NGINX with RTMP module enabled (compiled myself using an online tutorial)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I use FFmpeg to stream to this server, and one stream works perfectly.<o:p></o:p></p><p class=MsoNormal><br>Example of perfectly working stream from IP camera:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>ffmpeg -loglevel verbose -rtsp_transport tcp -i rtsp://admin:admin@[ip cam address]:554/channel1 -c copy -f flv rtmp://[nginx server]:1935/live/test1<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>and to pull the stream, I use VLC/FFplay, and rtmp url is like so:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>ffplay rtmp://[nginx server]:1935/live/test1<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Problem comes when I try to stream two streams simultaneously, like so:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>ffmpeg -loglevel verbose -rtsp_transport tcp -i rtsp://admin:admin@[ip cam address]:554/channel1 -c copy -f flv rtmp://[nginx server]:1935/live/test1<o:p></o:p></p><p class=MsoNormal>ffmpeg -loglevel verbose -rtsp_transport tcp -i rtsp://admin:admin@[ip cam address]:554/channel1 -c copy -f flv rtmp://[nginx server]:1935/live/test2<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>in this case, both streams is mostly choppy, and sometimes one stream fails to load at all.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>If I extend this to 10 inputs like so:<o:p></o:p></p><p class=MsoNormal>ffmpeg -loglevel verbose -rtsp_transport tcp -i rtsp://admin:admin@[ip cam address]:554/channel1 -c copy -f flv rtmp://[nginx server]:1935/live/test1<o:p></o:p></p><p class=MsoNormal>ffmpeg -loglevel verbose -rtsp_transport tcp -i rtsp://admin:admin@[ip cam address]:554/channel1 -c copy -f flv rtmp://[nginx server]:1935/live/test2<o:p></o:p></p><p class=MsoNormal>ffmpeg -loglevel verbose -rtsp_transport tcp -i rtsp://admin:admin@[ip cam address]:554/channel1 -c copy -f flv rtmp://[nginx server]:1935/live/test3<o:p></o:p></p><p class=MsoNormal>ffmpeg -loglevel verbose -rtsp_transport tcp -i rtsp://admin:admin@[ip cam address]:554/channel1 -c copy -f flv rtmp://[nginx server]:1935/live/test4<o:p></o:p></p><p class=MsoNormal>ffmpeg -loglevel verbose -rtsp_transport tcp -i rtsp://admin:admin@[ip cam address]:554/channel1 -c copy -f flv rtmp://[nginx server]:1935/live/test5<o:p></o:p></p><p class=MsoNormal>ffmpeg -loglevel verbose -rtsp_transport tcp -i rtsp://admin:admin@[ip cam address]:554/channel1 -c copy -f flv rtmp://[nginx server]:1935/live/test6<o:p></o:p></p><p class=MsoNormal>ffmpeg -loglevel verbose -rtsp_transport tcp -i rtsp://admin:admin@[ip cam address]:554/channel1 -c copy -f flv rtmp://[nginx server]:1935/live/test7<o:p></o:p></p><p class=MsoNormal>ffmpeg -loglevel verbose -rtsp_transport tcp -i rtsp://admin:admin@[ip cam address]:554/channel1 -c copy -f flv rtmp://[nginx server]:1935/live/test8<o:p></o:p></p><p class=MsoNormal>ffmpeg -loglevel verbose -rtsp_transport tcp -i rtsp://admin:admin@[ip cam address]:554/channel1 -c copy -f flv rtmp://[nginx server]:1935/live/test9<o:p></o:p></p><p class=MsoNormal>ffmpeg -loglevel verbose -rtsp_transport tcp -i rtsp://admin:admin@[ip cam address]:554/channel1 -c copy -f flv rtmp://[nginx server]:1935/live/test10<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Then although I can see all console are streaming perfectly fine, like so:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>ffmpeg -loglevel verbose -rtsp_transport tcp -i rtsp://admin:admin@[ip cam address]:554/channel1 -c copy -f flv rtmp://[nginx server]:1935/live/test10<o:p></o:p></p><p class=MsoNormal>ffmpeg version N-80801-gc0cb53c Copyright (c) 2000-2016 the FFmpeg developers<o:p></o:p></p><p class=MsoNormal>  built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-17)<o:p></o:p></p><p class=MsoNormal>  configuration: --extra-cflags=-I/root/ffmpeg_build/include --extra-ldflags=-L/root/ffmpeg_build/lib --pkg-config-flags=--static --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265<o:p></o:p></p><p class=MsoNormal>  libavutil      55. 27.100 / 55. 27.100<o:p></o:p></p><p class=MsoNormal>  libavcodec     57. 48.101 / 57. 48.101<o:p></o:p></p><p class=MsoNormal>  libavformat    57. 40.101 / 57. 40.101<o:p></o:p></p><p class=MsoNormal>  libavdevice    57.  0.102 / 57.  0.102<o:p></o:p></p><p class=MsoNormal>  libavfilter     6. 46.102 /  6. 46.102<o:p></o:p></p><p class=MsoNormal>  libswscale      4.  1.100 /  4.  1.100<o:p></o:p></p><p class=MsoNormal>  libswresample   2.  1.100 /  2.  1.100<o:p></o:p></p><p class=MsoNormal>  libpostproc    54.  0.100 / 54.  0.100<o:p></o:p></p><p class=MsoNormal>[rtsp @ 0x46594e0] SDP:<o:p></o:p></p><p class=MsoNormal>v=0<o:p></o:p></p><p class=MsoNormal>o=- 45356132 1 IN IP4 192.168.5.100<o:p></o:p></p><p class=MsoNormal>s=Session streamed by stream<o:p></o:p></p><p class=MsoNormal>i=1<o:p></o:p></p><p class=MsoNormal>t=0 0<o:p></o:p></p><p class=MsoNormal>a=tool:LIVE555 Streaming Media v2009.01.26<o:p></o:p></p><p class=MsoNormal>a=type:broadcast<o:p></o:p></p><p class=MsoNormal>a=control:*<o:p></o:p></p><p class=MsoNormal>a=range:npt=0-<o:p></o:p></p><p class=MsoNormal>a=x-qt-text-nam:Session streamed by stream<o:p></o:p></p><p class=MsoNormal>a=x-qt-text-inf:1<o:p></o:p></p><p class=MsoNormal>m=video 0 RTP/AVP 96<o:p></o:p></p><p class=MsoNormal>c=IN IP4 0.0.0.0<o:p></o:p></p><p class=MsoNormal>b=AS:506<o:p></o:p></p><p class=MsoNormal>a=framerate:30.00<o:p></o:p></p><p class=MsoNormal>a=rtpmap:96 H264/90000<o:p></o:p></p><p class=MsoNormal>a=fmtp:96 packetization-mode=1;profile-level-id=640028;sprop-parameter-sets=Z2QAKKzoB4AiflQ=,aO48MA==<o:p></o:p></p><p class=MsoNormal>a=control:track1<o:p></o:p></p><p class=MsoNormal>m=audio 0 RTP/AVP 0<o:p></o:p></p><p class=MsoNormal>c=IN IP4 0.0.0.0<o:p></o:p></p><p class=MsoNormal>b=AS:64<o:p></o:p></p><p class=MsoNormal>a=control:track2<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>[rtsp @ 0x46594e0] setting jitter buffer size to 0<o:p></o:p></p><p class=MsoNormal>    Last message repeated 1 times<o:p></o:p></p><p class=MsoNormal>Guessed Channel Layout for Input Stream #0.1 : mono<o:p></o:p></p><p class=MsoNormal>Input #0, rtsp, from 'rtsp://admin:admin@[ip cam address]:554/channel1':<o:p></o:p></p><p class=MsoNormal>  Metadata:<o:p></o:p></p><p class=MsoNormal>    title           : Session streamed by stream<o:p></o:p></p><p class=MsoNormal>    comment         : 1<o:p></o:p></p><p class=MsoNormal>  Duration: N/A, start: 0.000000, bitrate: N/A<o:p></o:p></p><p class=MsoNormal>    Stream #0:0: Video: h264 (High), 1 reference frame, yuv420p, 1920x1080 (1920x1088), 30 tbr, 90k tbn, 180k tbc<o:p></o:p></p><p class=MsoNormal>    Stream #0:1: Audio: pcm_mulaw, 8000 Hz, 1 channels, s16, 64 kb/s<o:p></o:p></p><p class=MsoNormal>[flv @ 0x4696240] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.<o:p></o:p></p><p class=MsoNormal>    Last message repeated 1 times<o:p></o:p></p><p class=MsoNormal>Output #0, flv, to 'rtmp://[nginx server]:1935/live/test10':<o:p></o:p></p><p class=MsoNormal>  Metadata:<o:p></o:p></p><p class=MsoNormal>    title           : Session streamed by stream<o:p></o:p></p><p class=MsoNormal>    comment         : 1<o:p></o:p></p><p class=MsoNormal>    encoder         : Lavf57.40.101<o:p></o:p></p><p class=MsoNormal>    Stream #0:0: Video: h264, 1 reference frame ([7][0][0][0] / 0x0007), yuv420p, 1920x1080 (0x0), q=2-31, 30 tbr, 1k tbn, 90k tbc<o:p></o:p></p><p class=MsoNormal>    Stream #0:1: Audio: pcm_mulaw ([8][0][0][0] / 0x0008), 8000 Hz, mono, 64 kb/s<o:p></o:p></p><p class=MsoNormal>Stream mapping:<o:p></o:p></p><p class=MsoNormal>  Stream #0:0 -> #0:0 (copy)<o:p></o:p></p><p class=MsoNormal>  Stream #0:1 -> #0:1 (copy)<o:p></o:p></p><p class=MsoNormal>Press [q] to stop, [?] for help<o:p></o:p></p><p class=MsoNormal>[flv @ 0x4696240] Timestamps are unset in a packet for stream 0. This is deprecated and will stop working in the future. Fix your code to set the timestamps properly<o:p></o:p></p><p class=MsoNormal>frame=   42 fps=0.0 q=-1.0 size=      56kB time=00:00:02.83 bitrate= 163.1kbits<o:p></o:p></p><p class=MsoNormal>frame=   54 fps= 46 q=-1.0 size=      62kB time=00:00:03.43 bitrate= 147.6kbits<o:p></o:p></p><p class=MsoNormal>frame=   66 fps= 39 q=-1.0 size=      77kB time=00:00:04.03 bitrate= 157.1kbits<o:p></o:p></p><p class=MsoNormal>frame=   76 fps= 34 q=-1.0 size=      83kB time=00:00:04.53 bitrate= 149.9kbits<o:p></o:p></p><p class=MsoNormal>….<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>But when I try to pull it using FFplay, I always get this error (Invalid data found when processing input):<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> >ffplay rtmp://[nginx server]:1935/live/test10<o:p></o:p></p><p class=MsoNormal>ffplay version N-80386-g5f5a97d Copyright (c) 2003-2016 the FFmpeg developers<o:p></o:p></p><p class=MsoNormal>  built with gcc 5.4.0 (GCC)<o:p></o:p></p><p class=MsoNormal>  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-nv<o:p></o:p></p><p class=MsoNormal>enc --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enabl<o:p></o:p></p><p class=MsoNormal>e-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --en<o:p></o:p></p><p class=MsoNormal>able-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libil<o:p></o:p></p><p class=MsoNormal>bc --enable-libmodplug --enable-libmfx --enable-libmp3lame --enable-libopencore-<o:p></o:p></p><p class=MsoNormal>amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-<o:p></o:p></p><p class=MsoNormal>librtmp --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-li<o:p></o:p></p><p class=MsoNormal>bspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo<o:p></o:p></p><p class=MsoNormal>-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libweb<o:p></o:p></p><p class=MsoNormal>p --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-l<o:p></o:p></p><p class=MsoNormal>ibzimg --enable-lzma --enable-decklink --enable-zlib<o:p></o:p></p><p class=MsoNormal>  libavutil      55. 24.100 / 55. 24.100<o:p></o:p></p><p class=MsoNormal>  libavcodec     57. 46.100 / 57. 46.100<o:p></o:p></p><p class=MsoNormal>  libavformat    57. 38.100 / 57. 38.100<o:p></o:p></p><p class=MsoNormal>  libavdevice    57.  0.101 / 57.  0.101<o:p></o:p></p><p class=MsoNormal>  libavfilter     6. 46.101 /  6. 46.101<o:p></o:p></p><p class=MsoNormal>  libswscale      4.  1.100 /  4.  1.100<o:p></o:p></p><p class=MsoNormal>  libswresample   2.  1.100 /  2.  1.100<o:p></o:p></p><p class=MsoNormal>  libpostproc    54.  0.100 / 54.  0.100<o:p></o:p></p><p class=MsoNormal>RTMP_ReadPacket, failed to read RTMP packet headersq=    0B f=0/0<o:p></o:p></p><p class=MsoNormal>rtmp://64.49.234.250:1935/live/test10: Invalid data found when processing input<o:p></o:p></p><p class=MsoNormal>    nan    :  0.000 fd=   0 aq=    0KB vq=    0KB sq=    0B f=0/0<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>If I enabled verbose log, then this is generated at FFplay:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>ffplay -loglevel verbose rtmp://[nginx server]:1935/live/test10<o:p></o:p></p><p class=MsoNormal>ffplay version N-80386-g5f5a97d Copyright (c) 2003-2016 the FFmpeg developers<o:p></o:p></p><p class=MsoNormal>  built with gcc 5.4.0 (GCC)<o:p></o:p></p><p class=MsoNormal>  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-nv<o:p></o:p></p><p class=MsoNormal>enc --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enabl<o:p></o:p></p><p class=MsoNormal>e-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --en<o:p></o:p></p><p class=MsoNormal>able-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libil<o:p></o:p></p><p class=MsoNormal>bc --enable-libmodplug --enable-libmfx --enable-libmp3lame --enable-libopencore-<o:p></o:p></p><p class=MsoNormal>amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-<o:p></o:p></p><p class=MsoNormal>librtmp --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-li<o:p></o:p></p><p class=MsoNormal>bspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo<o:p></o:p></p><p class=MsoNormal>-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libweb<o:p></o:p></p><p class=MsoNormal>p --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-l<o:p></o:p></p><p class=MsoNormal>ibzimg --enable-lzma --enable-decklink --enable-zlib<o:p></o:p></p><p class=MsoNormal>  libavutil      55. 24.100 / 55. 24.100<o:p></o:p></p><p class=MsoNormal>  libavcodec     57. 46.100 / 57. 46.100<o:p></o:p></p><p class=MsoNormal>  libavformat    57. 38.100 / 57. 38.100<o:p></o:p></p><p class=MsoNormal>  libavdevice    57.  0.101 / 57.  0.101<o:p></o:p></p><p class=MsoNormal>  libavfilter     6. 46.101 /  6. 46.101<o:p></o:p></p><p class=MsoNormal>  libswscale      4.  1.100 /  4.  1.100<o:p></o:p></p><p class=MsoNormal>  libswresample   2.  1.100 /  2.  1.100<o:p></o:p></p><p class=MsoNormal>  libpostproc    54.  0.100 / 54.  0.100<o:p></o:p></p><p class=MsoNormal>Parsing... :  0.000 fd=   0 aq=    0KB vq=    0KB sq=    0B f=0/0<o:p></o:p></p><p class=MsoNormal>Parsed protocol: 0<o:p></o:p></p><p class=MsoNormal>Parsed host    : 64.49.234.250<o:p></o:p></p><p class=MsoNormal>Parsed app     : live<o:p></o:p></p><p class=MsoNormal>RTMP_Connect1, ... connected, handshaking=    0KB sq=    0B f=0/0<o:p></o:p></p><p class=MsoNormal>HandShake: Type Answer   : 03q=    0KB vq=    0KB sq=    0B f=0/0<o:p></o:p></p><p class=MsoNormal>HandShake: Server Uptime : 353698523<o:p></o:p></p><p class=MsoNormal>HandShake: FMS Version   : 0.0.0.0<o:p></o:p></p><p class=MsoNormal>HandShake: Handshaking finished....0KB vq=    0KB sq=    0B f=0/0<o:p></o:p></p><p class=MsoNormal>RTMP_Connect1, handshaked<o:p></o:p></p><p class=MsoNormal>Invoking connect<o:p></o:p></p><p class=MsoNormal>HandleServerBW: server BW = 50000000KB vq=    0KB sq=    0B f=0/0<o:p></o:p></p><p class=MsoNormal>HandleClientBW: client BW = 5000000 2B vq=    0KB sq=    0B f=0/0<o:p></o:p></p><p class=MsoNormal>HandleChangeChunkSize, received: chunk size change to 4096<o:p></o:p></p><p class=MsoNormal>RTMP_ClientPacket, received: invoke 190 bytes<o:p></o:p></p><p class=MsoNormal>(object begin)<o:p></o:p></p><p class=MsoNormal>Property: <Name:           no-name., STRING:    _result><o:p></o:p></p><p class=MsoNormal>Property: <Name:           no-name., NUMBER:    1.00><o:p></o:p></p><p class=MsoNormal>Property: <Name:           no-name., OBJECT><o:p></o:p></p><p class=MsoNormal>(object begin)<o:p></o:p></p><p class=MsoNormal>Property: <Name:             fmsVer, STRING:    FMS/3,0,1,123><o:p></o:p></p><p class=MsoNormal>Property: <Name:       capabilities, NUMBER:    31.00><o:p></o:p></p><p class=MsoNormal>(object end)  0.000 fd=   0 aq=    0KB vq=    0KB sq=    0B f=0/0<o:p></o:p></p><p class=MsoNormal>Property: <Name:           no-name., OBJECT><o:p></o:p></p><p class=MsoNormal>(object begin)<o:p></o:p></p><p class=MsoNormal>Property: <Name:              level, STRING:    status><o:p></o:p></p><p class=MsoNormal>Property: <Name:               code, STRING:    NetConnection.Connect.Success><o:p></o:p></p><p class=MsoNormal>Property: <Name:        description, STRING:    Connection succeeded.><o:p></o:p></p><p class=MsoNormal>Property: <Name:     objectEncoding, NUMBER:    0.00><o:p></o:p></p><p class=MsoNormal>(object end)<o:p></o:p></p><p class=MsoNormal>(object end)<o:p></o:p></p><p class=MsoNormal>HandleInvoke, server invoking <_result><o:p></o:p></p><p class=MsoNormal>HandleInvoke, received result for method call <connect><o:p></o:p></p><p class=MsoNormal>sending ctrl. type: 0x0003<o:p></o:p></p><p class=MsoNormal>Invoking createStream<o:p></o:p></p><p class=MsoNormal>RTMP_ClientPacket, received: invoke 29 bytes  0KB sq=    0B f=0/0<o:p></o:p></p><p class=MsoNormal>(object begin)<o:p></o:p></p><p class=MsoNormal>Property: <Name:           no-name., STRING:    _result><o:p></o:p></p><p class=MsoNormal>Property: <Name:           no-name., NUMBER:    2.00><o:p></o:p></p><p class=MsoNormal>Property: NULL<o:p></o:p></p><p class=MsoNormal>Property: <Name:           no-name., NUMBER:    1.00><o:p></o:p></p><p class=MsoNormal>(object end)<o:p></o:p></p><p class=MsoNormal>HandleInvoke, server invoking <_result><o:p></o:p></p><p class=MsoNormal>HandleInvoke, received result for method call <createStream><o:p></o:p></p><p class=MsoNormal>SendPlay, seekTime=0, stopTime=0, sending play: test10<o:p></o:p></p><p class=MsoNormal>Invoking play<o:p></o:p></p><p class=MsoNormal>sending ctrl. type: 0x0003<o:p></o:p></p><p class=MsoNormal>RTMP_ClientPacket, received: invoke 96 bytes  0KB sq=    0B f=0/0<o:p></o:p></p><p class=MsoNormal>(object begin)<o:p></o:p></p><p class=MsoNormal>Property: <Name:           no-name., STRING:    onStatus><o:p></o:p></p><p class=MsoNormal>Property: <Name:           no-name., NUMBER:    0.00><o:p></o:p></p><p class=MsoNormal>Property: NULL<o:p></o:p></p><p class=MsoNormal>Property: <Name:           no-name., OBJECT><o:p></o:p></p><p class=MsoNormal>(object begin)<o:p></o:p></p><p class=MsoNormal>Property: <Name:              level, STRING:    status><o:p></o:p></p><p class=MsoNormal>Property: <Name:               code, STRING:    NetStream.Play.Start><o:p></o:p></p><p class=MsoNormal>Property: <Name:        description, STRING:    Start live><o:p></o:p></p><p class=MsoNormal>(object end)<o:p></o:p></p><p class=MsoNormal>(object end)<o:p></o:p></p><p class=MsoNormal>HandleInvoke, server invoking <onStatus><o:p></o:p></p><p class=MsoNormal>HandleInvoke, onStatus: NetStream.Play.Start<o:p></o:p></p><p class=MsoNormal>RTMP_ClientPacket, received: notify 24 bytes  0KB sq=    0B f=0/0<o:p></o:p></p><p class=MsoNormal>(object begin)<o:p></o:p></p><p class=MsoNormal>Property: <Name:           no-name., STRING:    |RtmpSampleAccess><o:p></o:p></p><p class=MsoNormal>Property: <Name:           no-name., BOOLEAN:   TRUE><o:p></o:p></p><p class=MsoNormal>Property: <Name:           no-name., BOOLEAN:   TRUE><o:p></o:p></p><p class=MsoNormal>(object end)<o:p></o:p></p><p class=MsoNormal>RTMPSockBuf_Fill, recv returned -1. GetSockError(): 10060 (Unknown error)<o:p></o:p></p><p class=MsoNormal>RTMP_ReadPacket, failed to read RTMP packet header<o:p></o:p></p><p class=MsoNormal>Invoking deleteStreamd=   0 aq=    0KB vq=    0KB sq=    0B f=0/0<o:p></o:p></p><p class=MsoNormal>rtmp://[nginx server]:1935/live/test10: Invalid data found when processing input<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>This is my nginx.conf:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>#user  nobody;<o:p></o:p></p><p class=MsoNormal>worker_processes  4;<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>#error_log  logs/error.log;<o:p></o:p></p><p class=MsoNormal>#error_log  logs/error.log  notice;<o:p></o:p></p><p class=MsoNormal>error_log  logs/error.log  info;<o:p></o:p></p><p class=MsoNormal>#error_log  logs/error.log  debug;<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>#pid        logs/nginx.pid;<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>events {<o:p></o:p></p><p class=MsoNormal>    worker_connections  1024;<o:p></o:p></p><p class=MsoNormal>}<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>http {<o:p></o:p></p><p class=MsoNormal>    include       mime.types;<o:p></o:p></p><p class=MsoNormal>    default_type  application/octet-stream;<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '<o:p></o:p></p><p class=MsoNormal>    #                  '$status $body_bytes_sent "$http_referer" '<o:p></o:p></p><p class=MsoNormal>    #                  '"$http_user_agent" "$http_x_forwarded_for"';<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>    #access_log  logs/access.log  main;<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>    sendfile        on;<o:p></o:p></p><p class=MsoNormal>    #tcp_nopush     on;<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>    #keepalive_timeout  0;<o:p></o:p></p><p class=MsoNormal>    keepalive_timeout  65;<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>    #gzip  on;<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>    server {<o:p></o:p></p><p class=MsoNormal>        listen       80;<o:p></o:p></p><p class=MsoNormal>        server_name  localhost;<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>        #charset koi8-r;<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>        #access_log  logs/host.access.log  main;<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>        location / {<o:p></o:p></p><p class=MsoNormal>            root   /usr/share/nginx/html;<o:p></o:p></p><p class=MsoNormal>            index  index.html index.htm;<o:p></o:p></p><p class=MsoNormal>        }<o:p></o:p></p><p class=MsoNormal>        location ~ \.php$ {<o:p></o:p></p><p class=MsoNormal>            fastcgi_pass 127.0.0.1:9000;<o:p></o:p></p><p class=MsoNormal>            fastcgi_index index.php;<o:p></o:p></p><p class=MsoNormal>            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;<o:p></o:p></p><p class=MsoNormal>            include fastcgi_params;<o:p></o:p></p><p class=MsoNormal>        }<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>        #error_page  404              /404.html;<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>        # redirect server error pages to the static page /50x.html<o:p></o:p></p><p class=MsoNormal>        #<o:p></o:p></p><p class=MsoNormal>        error_page   500 502 503 504  /50x.html;<o:p></o:p></p><p class=MsoNormal>               <o:p></o:p></p><p class=MsoNormal># location = /50x.html {<o:p></o:p></p><p class=MsoNormal>  #          root   html;<o:p></o:p></p><p class=MsoNormal>   #     }<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>        # proxy the PHP scripts to Apache listening on 127.0.0.1:80<o:p></o:p></p><p class=MsoNormal>        #<o:p></o:p></p><p class=MsoNormal>        #location ~ \.php$ {<o:p></o:p></p><p class=MsoNormal>        #    proxy_pass   http://127.0.0.1;<o:p></o:p></p><p class=MsoNormal>        #}<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000<o:p></o:p></p><p class=MsoNormal>        #<o:p></o:p></p><p class=MsoNormal>        #location ~ \.php$ {<o:p></o:p></p><p class=MsoNormal>        #    root           html;<o:p></o:p></p><p class=MsoNormal>        #    fastcgi_pass   127.0.0.1:9000;<o:p></o:p></p><p class=MsoNormal>        #    fastcgi_index  index.php;<o:p></o:p></p><p class=MsoNormal>        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;<o:p></o:p></p><p class=MsoNormal>        #    include        fastcgi_params;<o:p></o:p></p><p class=MsoNormal>        #}<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>        # deny access to .htaccess files, if Apache's document root<o:p></o:p></p><p class=MsoNormal>        # concurs with nginx's one<o:p></o:p></p><p class=MsoNormal>        #<o:p></o:p></p><p class=MsoNormal>        #location ~ /\.ht {<o:p></o:p></p><p class=MsoNormal>        #    deny  all;<o:p></o:p></p><p class=MsoNormal>        #}<o:p></o:p></p><p class=MsoNormal>    }<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>    # another virtual host using mix of IP-, name-, and port-based configuration<o:p></o:p></p><p class=MsoNormal>    #<o:p></o:p></p><p class=MsoNormal>    #server {<o:p></o:p></p><p class=MsoNormal>    #    listen       8000;<o:p></o:p></p><p class=MsoNormal>    #    listen       somename:8080;<o:p></o:p></p><p class=MsoNormal>    #    server_name  somename  alias  another.alias;<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>    #    location / {<o:p></o:p></p><p class=MsoNormal>    #        root   html;<o:p></o:p></p><p class=MsoNormal>    #        index  index.html index.htm;<o:p></o:p></p><p class=MsoNormal>    #    }<o:p></o:p></p><p class=MsoNormal>    #}<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>    # HTTPS server<o:p></o:p></p><p class=MsoNormal>    #<o:p></o:p></p><p class=MsoNormal>    #server {<o:p></o:p></p><p class=MsoNormal>    #    listen       443 ssl;<o:p></o:p></p><p class=MsoNormal>    #    server_name  localhost;<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>    #    ssl_certificate      cert.pem;<o:p></o:p></p><p class=MsoNormal>    #    ssl_certificate_key  cert.key;<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>    #    ssl_session_cache    shared:SSL:1m;<o:p></o:p></p><p class=MsoNormal>    #    ssl_session_timeout  5m;<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>    #    ssl_ciphers  HIGH:!aNULL:!MD5;<o:p></o:p></p><p class=MsoNormal>    #    ssl_prefer_server_ciphers  on;<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>    #    location / {<o:p></o:p></p><p class=MsoNormal>    #        root   html;<o:p></o:p></p><p class=MsoNormal>    #        index  index.html index.htm;<o:p></o:p></p><p class=MsoNormal>    #    }<o:p></o:p></p><p class=MsoNormal>    #}<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>}<o:p></o:p></p><p class=MsoNormal>rtmp {<o:p></o:p></p><p class=MsoNormal>        server {<o:p></o:p></p><p class=MsoNormal>                <o:p></o:p></p><p class=MsoNormal>                listen 1935;<o:p></o:p></p><p class=MsoNormal>                chunk_size 4096;<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>                application live {<o:p></o:p></p><p class=MsoNormal>                        live on;<o:p></o:p></p><p class=MsoNormal>                        record off;<o:p></o:p></p><p class=MsoNormal>                }<o:p></o:p></p><p class=MsoNormal>                application vod {<o:p></o:p></p><p class=MsoNormal>              play /var/flvs;<o:p></o:p></p><p class=MsoNormal>          }<o:p></o:p></p><p class=MsoNormal>        }<o:p></o:p></p><p class=MsoNormal>}<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Can anyone tell why multiple RTMP streams are not being entertained? Is there any streaming restriction  on nginx I am unaware of?<o:p></o:p></p></div></body></html>