arut / nginx-rtmp-module

NGINX-based Media Streaming Server
http://nginx-rtmp.blogspot.com
BSD 2-Clause "Simplified" License
13.35k stars 3.51k forks source link

Live Streams Dropping #637

Open aalavandhan opened 9 years ago

aalavandhan commented 9 years ago

I've noticed that in some instances live streams disappear from the stat page.

My stream source seems to be transmitting and any active clients I have seem to be receiving data just fine.

But, When a new client tries to listen to this particular stream it seems to be timing out.

Can you point me to where I should start debugging this issue?

marudhupandiyang commented 9 years ago

I also encounter this issue. The stream seems to start fine and play for like 3 minutes before disappearing from the stat page. Im trying to stream using this https://github.com/bytedeco/javacv/

Also after this disappearance, when i try to connect from a new client, it fails.But the old clients who are playing the stream are playing it continuously. Wireshark shows me a continuous rtmp audio and video data in and out.

Below is my config

events { worker_connections 1024; } error_log logs/error.log debug; rtmp { access_log logs/rtmp_access.log; server { listen 1935; chunk_size 4000;

TV mode: one publisher, many subscribers

    application mytv {
        # enable live streaming
        live on;
        # record first 1K of stream
        record all;
        record_path /tmp/av;
        record_max_size 1K;
        # append current timestamp to each flv
        record_unique on;
        # publish only from localhost
        allow publish 127.0.0.1;
        allow publish all;
        allow play all;
    }

....

MoffTigriss commented 9 years ago

You need to limit the number of worker processes to 1. (First lines of nginx.conf, add or change : worker_processes 1; )

nginx-rtmp only work on first worker, and stats works on all... but only for the worker who served the page, and it's random.

marudhupandiyang commented 9 years ago

Thanks @MoffTigriss , Ill try and let you know Is this specified somewhere in doc? or should did you read the code :-/

sergey-dryabzhinsky commented 9 years ago

Confirmed. With 1 worker process module start serve again.

It's hard to understand without reading code what all things working in one "context" - stat, configs, apps, streams.

whty020660 commented 8 years ago

@sergey-dryabzhinsky @MoffTigriss I had add this to my nginx.conf and restart the nginx but when i use the /etc/init.d/nginx reload the stat page disappear all the live streams......

sergey-dryabzhinsky commented 8 years ago

@whty020660 you should restart nginx-rtmp.

whty020660 commented 8 years ago

@sergey-dryabzhinsky I had restart it before! do you need I put the nginx.conf ?

ctaity commented 8 years ago

Hi, after reconnection or respwan of ffmpeg, my HLS stream continue working fine, but stats and RTMP clients no.

Look the stats xml:

<rtmp>
<script/>
<nginx_version>1.9.15</nginx_version>
<nginx_rtmp_version>1.1.7.11-dev</nginx_rtmp_version>
<compiler>gcc 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3)</compiler>
<built>Jun 11 2016 22:24:19</built>
<pid>3581</pid>
<uptime>12</uptime>
<naccepted>0</naccepted>
<bw_in>0</bw_in>
<bytes_in>0</bytes_in>
<bw_out>0</bw_out>
<bytes_out>0</bytes_out>
<server>
<application>
<name>live</name>
<live>
<nclients>0</nclients>
</live>
</application>
<application>
<name>show</name>
<live>
<nclients>0</nclients>
</live>
</application>
</server>
</rtmp>

My config:

worker_processes  1;
error_log  logs/error.log warn;
events {
    # Allows up to 1024 connections, can be adjusted
    worker_connections  1024;
}

# RTMP configuration
rtmp {
    server {
        listen 1935; # Listen on standard RTMP port
     respawn on;
     respawn_timeout 2s;
     chunk_size 4096;
     ping 20s;
     ping_timeout 10s;
     drop_idle_publisher 20s;
     publish_notify on;
     idle_streams off;

        # This application is to accept incoming stream
        application live {
            live on; # Allows live input
        allow play all;

        #-re para native rate
            exec ffmpeg  -v verbose -i rtmp://localhost/live/$name
                         -c:v libx264 -c:a copy -b:v 256k  -vf "scale=360:trunc(ow/a/2)*2" -tune zerolatency -preset veryfast -crf 23 -g 50 -maxrate 512k -bufsize 256k -x264opts keyint=50:min-keyint=50:scenecut=-1 -f flv rtmp://localhost/show/$name_360
                         -c:v libx264 -c:a copy -b:v 512k  -vf "scale=480:trunc(ow/a/2)*2" -tune zerolatency -preset veryfast -crf 23 -g 50 -maxrate 1024k -bufsize 512k -x264opts keyint=50:min-keyint=50:scenecut=-1 -f flv rtmp://localhost/show/$name_480
                         -c:v libx264 -c:a copy -b:v 1024k -vf "scale=720:trunc(ow/a/2)*2" -tune zerolatency -preset veryfast -crf 23 -g 50 -maxrate 2048k -bufsize 1024k -x264opts keyint=50:min-keyint=50:scenecut=-1 -f flv rtmp://localhost/show/$name_720 2>>/tmp/ffmpeg-$name.log;
            }

        # This application is for splitting the stream into HLS fragments
        application show {
            live on; # Allows live input from above
            # hls_type live;
        hls on; # Enable HTTP Live Streaming
        hls_nested on;
            hls_path /tmp/hls/;
        hls_fragment 4s;
        hls_playlist_length 1h;
        hls_continuous on;
        hls_cleanup on;
        hls_fragment_naming system;
        hls_datetime system;        #https://github.com/sergey-dryabzhinsky/nginx-rtmp-module/issues/125

            # Instruct clients to adjust resolution according to bandwidth
            # hls_variant _240 BANDWIDTH=256000; # Low bitrate, sub-SD resolution
             hls_variant _360 BANDWIDTH=384000; # Low bitrate, sub-SD resolution
             hls_variant _480 BANDWIDTH=640000; # High bitrate, higher-than-SD resolution
             hls_variant _720 BANDWIDTH=1152000; # Source bitrate, source resolution
        }
    }
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    gzip            on;
    gzip_min_length 500;
    gzip_proxied    any;
    gzip_comp_level 5;

    gzip_types      text/plain application/xml application/vnd.apple.mpegurl;

    server {
        listen 80;

    location /stat {
        default_type application/xml;
        rtmp_stat all;
    }
    location /stat.xsl {
        # you can move stat.xsl to a different location
        root /usr/local/nginx/html;
    }

    location /control {
        rtmp_control all;
    }

        location / {
            root html;
        }

        location /hls {

        types {
                application/vnd.apple.mpegurl m3u8;
            video/mp2t ts;
        }

        more_set_headers 'Access-Control-Allow-Origin: $http_origin';
        more_set_headers 'Access-Control-Allow-Methods: GET, POST, OPTIONS';
            more_set_headers 'Access-Control-Allow-Credentials: true';

        more_set_headers -t application/vnd.apple.mpegurl 'Cache-Control: max-age=1';
            more_set_headers -t video/mp2t 'Cache-Control: max-age=86400';

            root /tmp/;
        }

    location /imgs {
        autoindex on;
        root /tmp/;
    }
    }

    server {
    listen 80;
    server_name streams.tvpublica.com.ar;

        location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
    }
}

And the incident with ffmpeg version 3.0.2

Past duration 0.874992 too large
    Last message repeated 2 times
Past duration 0.724998 too large
    Last message repeated 2 times
Past duration 0.874992 too large
    Last message repeated 2 times
Past duration 0.724998 too large
    Last message repeated 2 times
Past duration 0.874992 too large
    Last message repeated 2 times
Past duration 0.724998 too large
    Last message repeated 2 times
Past duration 0.874992 too large
    Last message repeated 2 times
Past duration 0.724998 too large
    Last message repeated 2 times
Past duration 0.874992 too large0 q=24.0 size=     615kB time=00:00:35.48 bitrate= 142.1kbits/s dup=0 drop=6 speed=2.15x
    Last message repeated 2 times
Past duration 0.724998 too large
    Last message repeated 2 times
Past duration 0.874992 too large
WriteN, RTMP send error 104 (136 bytes)
WriteN, RTMP send error 32 (48 bytes)
WriteN, RTMP send error 9 (42 bytes)
av_interleaved_write_frame(): Operation not permitted
No more output streams to write to, finishing.
[flv @ 0x1816440] Failed to update header with correct duration.
[flv @ 0x1816440] Failed to update header with correct filesize.
Error writing trailer of rtmp://localhost/show/tvpublica_360: Operation not permittedWriteN, RTMP send error 104 (136 bytes)
WriteN, RTMP send error 32 (48 bytes)
WriteN, RTMP send error 9 (42 bytes)
[flv @ 0x170ef40] Failed to update header with correct duration.
[flv @ 0x170ef40] Failed to update header with correct filesize.
Error writing trailer of rtmp://localhost/show/tvpublica_480: Operation not permittedWriteN, RTMP send error 104 (136 bytes)
WriteN, RTMP send error 32 (48 bytes)
WriteN, RTMP send error 9 (42 bytes)
[flv @ 0x178c6c0] Failed to update header with correct duration.
[flv @ 0x178c6c0] Failed to update header with correct filesize.
Error writing trailer of rtmp://localhost/show/tvpublica_720: Operation not permittedframe=  870 fps= 52 q=22.0 Lq=24.0 q=24.0 size=     623kB time=00:00:35.72 bitrate= 142.9kbits/s dup=0 drop=6 speed=2.15x
video:3069kB audio:756kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Input file #0 (rtmp://localhost/live/tvpublica):
  Input stream #0:0 (video): 897 packets read (5834425 bytes); 873 frames decoded;
  Input stream #0:1 (audio): 1007 packets read (258043 bytes);
  Total: 1904 packets (6092468 bytes) demuxed
Output file #0 (rtmp://localhost/show/tvpublica_360):
  Output stream #0:0 (video): 870 frames encoded; 870 packets muxed (503360 bytes);
  Output stream #0:1 (audio): 1007 packets muxed (258043 bytes);
  Total: 1877 packets (761403 bytes) muxed
Output file #1 (rtmp://localhost/show/tvpublica_480):
  Output stream #1:0 (video): 869 frames encoded; 869 packets muxed (797199 bytes);
  Output stream #1:1 (audio): 1007 packets muxed (258043 bytes);
  Total: 1876 packets (1055242 bytes) muxed
Output file #2 (rtmp://localhost/show/tvpublica_720):
  Output stream #2:0 (video): 869 frames encoded; 869 packets muxed (1841812 bytes);
  Output stream #2:1 (audio): 1007 packets muxed (258043 bytes);
  Total: 1876 packets (2099855 bytes) muxed
[libx264 @ 0x18098e0] frame I:18    Avg QP:18.23  size:  6048
[libx264 @ 0x18098e0] frame P:852   Avg QP:20.73  size:   462
[libx264 @ 0x18098e0] mb I  I16..4: 12.1% 31.8% 56.0%
[libx264 @ 0x18098e0] mb P  I16..4:  1.3%  0.6%  0.0%  P16..4: 22.2%  8.3%  3.6%  0.0%  0.0%    skip:64.0%
[libx264 @ 0x18098e0] 8x8 transform intra:32.0% inter:32.6%
[libx264 @ 0x18098e0] coded y,uvDC,uvAC intra: 61.8% 40.2% 8.6% inter: 6.6% 6.0% 0.1%
[libx264 @ 0x18098e0] i16 v,h,dc,p: 79%  7%  6%  8%
[libx264 @ 0x18098e0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 55% 10% 17%  4%  2%  3%  2%  3%  3%
[libx264 @ 0x18098e0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 38% 17% 11%  5%  6%  7%  5%  6%  5%
[libx264 @ 0x18098e0] i8c dc,h,v,p: 64% 15% 18%  3%
[libx264 @ 0x18098e0] Weighted P-Frames: Y:0.5% UV:0.0%
[libx264 @ 0x18098e0] kb/s:115.55
[libx264 @ 0x17c7460] frame I:18    Avg QP:18.02  size:  8994
[libx264 @ 0x17c7460] frame P:851   Avg QP:20.09  size:   746
[libx264 @ 0x17c7460] mb I  I16..4: 15.7% 35.2% 49.2%
[libx264 @ 0x17c7460] mb P  I16..4:  2.5%  1.0%  0.0%  P16..4: 23.2%  8.6%  3.3%  0.0%  0.0%    skip:61.3%
[libx264 @ 0x17c7460] 8x8 transform intra:30.7% inter:31.6%
[libx264 @ 0x17c7460] coded y,uvDC,uvAC intra: 51.6% 34.7% 5.8% inter: 6.1% 6.7% 0.1%
[libx264 @ 0x17c7460] i16 v,h,dc,p: 71% 10% 13%  7%
[libx264 @ 0x17c7460] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 52%  8% 21%  3%  3%  4%  3%  3%  3%
[libx264 @ 0x17c7460] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 35% 17% 11%  6%  6%  7%  6%  7%  5%
[libx264 @ 0x17c7460] i8c dc,h,v,p: 65% 15% 18%  2%
[libx264 @ 0x17c7460] Weighted P-Frames: Y:0.5% UV:0.0%
[libx264 @ 0x17c7460] kb/s:183.31
[libx264 @ 0x178d1a0] frame I:18    Avg QP:17.49  size: 17070
[libx264 @ 0x178d1a0] frame P:851   Avg QP:19.13  size:  1802
[libx264 @ 0x178d1a0] mb I  I16..4: 19.5% 40.5% 40.1%
[libx264 @ 0x178d1a0] mb P  I16..4:  5.5%  2.6%  0.1%  P16..4: 24.0%  9.4%  3.1%  0.0%  0.0%    skip:55.4%
[libx264 @ 0x178d1a0] 8x8 transform intra:33.5% inter:31.6%
[libx264 @ 0x178d1a0] coded y,uvDC,uvAC intra: 37.9% 29.8% 3.4% inter: 6.1% 7.7% 0.1%
[libx264 @ 0x178d1a0] i16 v,h,dc,p: 63% 13% 18%  6%
[libx264 @ 0x178d1a0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 45%  9% 29%  2%  2%  4%  2%  3%  2%
[libx264 @ 0x178d1a0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 34% 17% 13%  6%  7%  7%  5%  6%  5%
[libx264 @ 0x178d1a0] i8c dc,h,v,p: 65% 16% 18%  1%
[libx264 @ 0x178d1a0] Weighted P-Frames: Y:0.2% UV:0.0%
[libx264 @ 0x178d1a0] kb/s:423.73
Invoking deleteStream
Conversion failed!
ffmpeg version 3.0.2-1~trusty Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.1)
  configuration: --prefix=/usr --extra-version='1~trusty' --libdir=/usr/lib/ffmpeg --shlibdir=/usr/lib/ffmpeg --disable-static --disable-debug --toolchain=hardened --enable-pthreads --enable-runtime-cpudetect --enable-gpl --enable-shared --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv --enable-libkvazaar --enable-libopenh264 --enable-nonfree --enable-libfdk-aac --enable-libfaac
  libavutil      55. 17.103 / 55. 17.103
  libavcodec     57. 24.102 / 57. 24.102
  libavformat    57. 25.100 / 57. 25.100
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 31.100 /  6. 31.100
  libavresample   3.  0.  0 /  3.  0.  0
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Parsing...
Parsed protocol: 0
Parsed host    : localhost
Parsed app     : live
RTMP_Connect1, ... connected, handshaking
HandShake: Type Answer   : 03
HandShake: Server Uptime : 1051529256
HandShake: FMS Version   : 0.0.0.0
HandShake: Handshaking finished....
RTMP_Connect1, handshaked
Invoking connect
HandleServerBW: server BW = 5000000
HandleClientBW: client BW = 5000000 2
HandleChangeChunkSize, received: chunk size change to 4096
RTMP_ClientPacket, received: invoke 190 bytes
(object begin)
Property: <Name:           no-name., STRING:    _result>
Property: <Name:           no-name., NUMBER:    1.00>
Property: <Name:           no-name., OBJECT>
(object begin)
Property: <Name:             fmsVer, STRING:    FMS/3,0,1,123>
Property: <Name:       capabilities, NUMBER:    31.00>
(object end)
Property: <Name:           no-name., OBJECT>
(object begin)
Property: <Name:              level, STRING:    status>
Property: <Name:               code, STRING:    NetConnection.Connect.Success>
Property: <Name:        description, STRING:    Connection succeeded.>
Property: <Name:     objectEncoding, NUMBER:    0.00>
(object end)
(object end)
HandleInvoke, server invoking <_result>
HandleInvoke, received result for method call <connect>
sending ctrl. type: 0x0003
Invoking createStream
RTMP_ClientPacket, received: invoke 29 bytes
(object begin)
Property: <Name:           no-name., STRING:    _result>
Property: <Name:           no-name., NUMBER:    2.00>
Property: NULL
Property: <Name:           no-name., NUMBER:    1.00>
(object end)
HandleInvoke, server invoking <_result>
HandleInvoke, received result for method call <createStream>
SendPlay, seekTime=0, stopTime=0, sending play: tvpublica
Invoking play
sending ctrl. type: 0x0003
HandleCtrl, received ctrl. type: 0, len: 6
HandleCtrl, Stream Begin 1
RTMP_ClientPacket, received: invoke 110 bytes
(object begin)
Property: <Name:           no-name., STRING:    onStatus>
Property: <Name:           no-name., NUMBER:    0.00>
Property: NULL
Property: <Name:           no-name., OBJECT>
(object begin)
Property: <Name:              level, STRING:    status>
Property: <Name:               code, STRING:    NetStream.Play.PublishNotify>
Property: <Name:        description, STRING:    Start publishing>
(object end)
(object end)
HandleInvoke, server invoking <onStatus>
HandleInvoke, onStatus: NetStream.Play.PublishNotify
RTMP_ClientPacket, received: invoke 96 bytes
(object begin)
Property: <Name:           no-name., STRING:    onStatus>
Property: <Name:           no-name., NUMBER:    0.00>
Property: NULL
Property: <Name:           no-name., OBJECT>
(object begin)
Property: <Name:              level, STRING:    status>
Property: <Name:               code, STRING:    NetStream.Play.Start>
Property: <Name:        description, STRING:    Start live>
(object end)
(object end)
HandleInvoke, server invoking <onStatus>
HandleInvoke, onStatus: NetStream.Play.Start
RTMP_ClientPacket, received: notify 24 bytes
(object begin)
Property: <Name:           no-name., STRING:    |RtmpSampleAccess>
Property: <Name:           no-name., BOOLEAN:   TRUE>
Property: <Name:           no-name., BOOLEAN:   TRUE>
(object end)
RTMP_ClientPacket, received: notify 402 bytes
(object begin)
Property: <Name:           no-name., STRING:    onMetaData>
Property: <Name:           no-name., OBJECT>
(object begin)
Property: <Name:             Server, STRING:    NGINX RTMP (github.com/sergey-dryabzhinsky/nginx-rtmp-module)>
Property: <Name:              width, NUMBER:    1280.00>
Property: <Name:             height, NUMBER:    720.00>
Property: <Name:       displayWidth, NUMBER:    1280.00>
Property: <Name:      displayHeight, NUMBER:    720.00>
Property: <Name:           duration, NUMBER:    0.00>
Property: <Name:          framerate, NUMBER:    25.00>
Property: <Name:                fps, NUMBER:    25.00>
Property: <Name:      videodatarate, NUMBER:    1300.00>
Property: <Name:       videocodecid, NUMBER:    0.00>
Property: <Name:      audiodatarate, NUMBER:    96.00>
Property: <Name:       audiocodecid, NUMBER:    0.00>
Property: <Name:            profile, STRING:    >
Property: <Name:              level, STRING:    >
(object end)
(object end)
Metadata:
  Server                NGINX RTMP (github.com/sergey-dryabzhinsky/nginx-rtmp-module)
  width                 1280.00
  height                720.00
  displayWidth          1280.00
  displayHeight         720.00
  duration              0.00
  framerate             25.00
  fps                   25.00
  videodatarate         1300.00
  videocodecid          0.00
  audiodatarate         96.00
  audiocodecid          0.00
  profile
  level
[h264 @ 0x23dcce0] co located POCs unavailable
Input #0, live_flv, from 'rtmp://localhost/live/tvpublica':
  Metadata:
    Server          : NGINX RTMP (github.com/sergey-dryabzhinsky/nginx-rtmp-module)
    displayWidth    : 1280
    displayHeight   : 720
    fps             : 25
    profile         :
    level           :
  Duration: 00:00:00.00, start: 74588.245000, bitrate: N/A
    Stream #0:0: Video: h264 (Main), 3 reference frames, yuv420p(tv), 1280x720 [SAR 1:1 DAR 16:9], 1331 kb/s, 25 fps, 25 tbr, 1k tbn, 50 tbc
    Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp, 98 kb/s
Parsing...
Parsed protocol: 0
Parsed host    : localhost
Parsed app     : show
RTMP_Connect1, ... connected, handshaking
HandShake: Type Answer   : 03
HandShake: Server Uptime : 1051530956
HandShake: FMS Version   : 0.0.0.0
HandShake: Handshaking finished....
RTMP_Connect1, handshaked
Invoking connect
HandleServerBW: server BW = 5000000
HandleClientBW: client BW = 5000000 2
HandleChangeChunkSize, received: chunk size change to 4096
RTMP_ClientPacket, received: invoke 190 bytes
(object begin)
Property: <Name:           no-name., STRING:    _result>
Property: <Name:           no-name., NUMBER:    1.00>
Property: <Name:           no-name., OBJECT>
(object begin)
Property: <Name:             fmsVer, STRING:    FMS/3,0,1,123>
Property: <Name:       capabilities, NUMBER:    31.00>
(object end)
Property: <Name:           no-name., OBJECT>
(object begin)
Property: <Name:              level, STRING:    status>
Property: <Name:               code, STRING:    NetConnection.Connect.Success>
Property: <Name:        description, STRING:    Connection succeeded.>
Property: <Name:     objectEncoding, NUMBER:    0.00>
(object end)
(object end)
HandleInvoke, server invoking <_result>
HandleInvoke, received result for method call <connect>
Invoking releaseStream
Invoking FCPublish
Invoking createStream
RTMP_ClientPacket, received: invoke 105 bytes
(object begin)
Property: <Name:           no-name., STRING:    onFCPublish>
Property: <Name:           no-name., NUMBER:    0.00>
Property: NULL
Property: <Name:           no-name., OBJECT>
(object begin)
Property: <Name:              level, STRING:    status>
Property: <Name:               code, STRING:    NetStream.Publish.Start>
Property: <Name:        description, STRING:    tvpublica_360>
(object end)
(object end)
HandleInvoke, server invoking <onFCPublish>
RTMP_ClientPacket, received: invoke 29 bytes
(object begin)
Property: <Name:           no-name., STRING:    _result>
Property: <Name:           no-name., NUMBER:    4.00>
Property: NULL
Property: <Name:           no-name., NUMBER:    1.00>
(object end)
HandleInvoke, server invoking <_result>
HandleInvoke, received result for method call <createStream>
Invoking publish
RTMP_ClientPacket, received: invoke 105 bytes
(object begin)
Property: <Name:           no-name., STRING:    onStatus>
Property: <Name:           no-name., NUMBER:    0.00>
Property: NULL
Property: <Name:           no-name., OBJECT>
(object begin)
Property: <Name:              level, STRING:    status>
Property: <Name:               code, STRING:    NetStream.Publish.Start>
Property: <Name:        description, STRING:    Start publishing>
(object end)
(object end)
HandleInvoke, server invoking <onStatus>
HandleInvoke, onStatus: NetStream.Publish.Start
Parsing...
Parsed protocol: 0
Parsed host    : localhost
Parsed app     : show
RTMP_Connect1, ... connected, handshaking
HandShake: Type Answer   : 03
HandShake: Server Uptime : 1051531036
HandShake: FMS Version   : 0.0.0.0
HandShake: Handshaking finished....
RTMP_Connect1, handshaked
Invoking connect
HandleServerBW: server BW = 5000000
HandleClientBW: client BW = 5000000 2
HandleChangeChunkSize, received: chunk size change to 4096
RTMP_ClientPacket, received: invoke 190 bytes
(object begin)
Property: <Name:           no-name., STRING:    _result>
Property: <Name:           no-name., NUMBER:    1.00>
Property: <Name:           no-name., OBJECT>
(object begin)
Property: <Name:             fmsVer, STRING:    FMS/3,0,1,123>
Property: <Name:       capabilities, NUMBER:    31.00>
(object end)
Property: <Name:           no-name., OBJECT>
(object begin)
Property: <Name:              level, STRING:    status>
Property: <Name:               code, STRING:    NetConnection.Connect.Success>
Property: <Name:        description, STRING:    Connection succeeded.>
Property: <Name:     objectEncoding, NUMBER:    0.00>
(object end)
(object end)
HandleInvoke, server invoking <_result>
HandleInvoke, received result for method call <connect>
Invoking releaseStream
Invoking FCPublish
Invoking createStream
RTMP_ClientPacket, received: invoke 105 bytes
(object begin)
Property: <Name:           no-name., STRING:    onFCPublish>
Property: <Name:           no-name., NUMBER:    0.00>
Property: NULL
Property: <Name:           no-name., OBJECT>
(object begin)
Property: <Name:              level, STRING:    status>
Property: <Name:               code, STRING:    NetStream.Publish.Start>
Property: <Name:        description, STRING:    tvpublica_480>
(object end)
(object end)
HandleInvoke, server invoking <onFCPublish>
RTMP_ClientPacket, received: invoke 29 bytes
(object begin)
Property: <Name:           no-name., STRING:    _result>
Property: <Name:           no-name., NUMBER:    4.00>
Property: NULL
Property: <Name:           no-name., NUMBER:    1.00>
(object end)
HandleInvoke, server invoking <_result>
HandleInvoke, received result for method call <createStream>
Invoking publish
RTMP_ClientPacket, received: invoke 105 bytes
(object begin)
Property: <Name:           no-name., STRING:    onStatus>
Property: <Name:           no-name., NUMBER:    0.00>
Property: NULL
Property: <Name:           no-name., OBJECT>
(object begin)
Property: <Name:              level, STRING:    status>
Property: <Name:               code, STRING:    NetStream.Publish.Start>
Property: <Name:        description, STRING:    Start publishing>
(object end)
(object end)
HandleInvoke, server invoking <onStatus>
HandleInvoke, onStatus: NetStream.Publish.Start
Parsing...
Parsed protocol: 0
Parsed host    : localhost
Parsed app     : show
RTMP_Connect1, ... connected, handshaking
HandShake: Type Answer   : 03
HandShake: Server Uptime : 1051531116
HandShake: FMS Version   : 0.0.0.0
HandShake: Handshaking finished....
RTMP_Connect1, handshaked
Invoking connect
HandleServerBW: server BW = 5000000
HandleClientBW: client BW = 5000000 2
HandleChangeChunkSize, received: chunk size change to 4096
RTMP_ClientPacket, received: invoke 190 bytes
(object begin)
Property: <Name:           no-name., STRING:    _result>
Property: <Name:           no-name., NUMBER:    1.00>
Property: <Name:           no-name., OBJECT>
(object begin)
Property: <Name:             fmsVer, STRING:    FMS/3,0,1,123>
Property: <Name:       capabilities, NUMBER:    31.00>
(object end)
Property: <Name:           no-name., OBJECT>
(object begin)
Property: <Name:              level, STRING:    status>
Property: <Name:               code, STRING:    NetConnection.Connect.Success>
Property: <Name:        description, STRING:    Connection succeeded.>
Property: <Name:     objectEncoding, NUMBER:    0.00>
(object end)
(object end)
HandleInvoke, server invoking <_result>
HandleInvoke, received result for method call <connect>
Invoking releaseStream
Invoking FCPublish
Invoking createStream
RTMP_ClientPacket, received: invoke 105 bytes
(object begin)
Property: <Name:           no-name., STRING:    onFCPublish>
Property: <Name:           no-name., NUMBER:    0.00>
Property: NULL
Property: <Name:           no-name., OBJECT>
(object begin)
Property: <Name:              level, STRING:    status>
Property: <Name:               code, STRING:    NetStream.Publish.Start>
Property: <Name:        description, STRING:    tvpublica_720>
(object end)
(object end)
HandleInvoke, server invoking <onFCPublish>
RTMP_ClientPacket, received: invoke 29 bytes
(object begin)
Property: <Name:           no-name., STRING:    _result>
Property: <Name:           no-name., NUMBER:    4.00>
Property: NULL
Property: <Name:           no-name., NUMBER:    1.00>
(object end)
HandleInvoke, server invoking <_result>
HandleInvoke, received result for method call <createStream>
Invoking publish
RTMP_ClientPacket, received: invoke 105 bytes
(object begin)
Property: <Name:           no-name., STRING:    onStatus>
Property: <Name:           no-name., NUMBER:    0.00>
Property: NULL
Property: <Name:           no-name., OBJECT>
(object begin)
Property: <Name:              level, STRING:    status>
Property: <Name:               code, STRING:    NetStream.Publish.Start>
Property: <Name:        description, STRING:    Start publishing>
(object end)
(object end)
HandleInvoke, server invoking <onStatus>
HandleInvoke, onStatus: NetStream.Publish.Start
[Parsed_scale_0 @ 0x23e1ea0] w:360 h:trunc(ow/a/2)*2 flags:'bicubic' interl:0
[graph 0 input from stream 0:0 @ 0x24ad0a0] w:1280 h:720 pixfmt:yuv420p tb:1/1000 fr:50/2 sar:1/1 sws_param:flags=2
[Parsed_scale_0 @ 0x23e1ea0] w:1280 h:720 fmt:yuv420p sar:1/1 -> w:360 h:202 fmt:yuv420p sar:404/405 flags:0x4
[Parsed_scale_0 @ 0x2489ea0] w:480 h:trunc(ow/a/2)*2 flags:'bicubic' interl:0
[graph 1 input from stream 0:0 @ 0x248a300] w:1280 h:720 pixfmt:yuv420p tb:1/1000 fr:50/2 sar:1/1 sws_param:flags=2
[Parsed_scale_0 @ 0x2489ea0] w:1280 h:720 fmt:yuv420p sar:1/1 -> w:480 h:270 fmt:yuv420p sar:1/1 flags:0x4
[Parsed_scale_0 @ 0x251f620] w:720 h:trunc(ow/a/2)*2 flags:'bicubic' interl:0
[graph 2 input from stream 0:0 @ 0x251eee0] w:1280 h:720 pixfmt:yuv420p tb:1/1000 fr:50/2 sar:1/1 sws_param:flags=2
[Parsed_scale_0 @ 0x251f620] w:1280 h:720 fmt:yuv420p sar:1/1 -> w:720 h:404 fmt:yuv420p sar:404/405 flags:0x4
[libx264 @ 0x23fa1c0] using SAR=404/405
[libx264 @ 0x23fa1c0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0x23fa1c0] profile High, level 1.3
[libx264 @ 0x23fa1c0] 264 - core 142 r2389 956c8d8 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=1 ref=1 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=2 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=2 lookahead_threads=2 sliced_threads=1 slices=2 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=1 keyint=50 keyint_min=26 scenecut=0 intra_refresh=0 rc_lookahead=0 rc=crf mbtree=0 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=512 vbv_bufsize=256 crf_max=0.0 nal_hrd=none filler=0 ip_ratio=1.40 aq=1:1.00
[libx264 @ 0x23e1080] using SAR=1/1
[libx264 @ 0x23e1080] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0x23e1080] profile High, level 2.1
[libx264 @ 0x23e1080] 264 - core 142 r2389 956c8d8 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=1 ref=1 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=2 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=2 lookahead_threads=2 sliced_threads=1 slices=2 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=1 keyint=50 keyint_min=26 scenecut=0 intra_refresh=0 rc_lookahead=0 rc=crf mbtree=0 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=1024 vbv_bufsize=512 crf_max=0.0 nal_hrd=none filler=0 ip_ratio=1.40 aq=1:1.00
[libx264 @ 0x246f780] using SAR=404/405
[libx264 @ 0x246f780] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0x246f780] profile High, level 3.0
[libx264 @ 0x246f780] 264 - core 142 r2389 956c8d8 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=1 ref=1 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=2 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=2 lookahead_threads=2 sliced_threads=1 slices=2 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=1 keyint=50 keyint_min=26 scenecut=0 intra_refresh=0 rc_lookahead=0 rc=crf mbtree=0 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=2048 vbv_bufsize=1024 crf_max=0.0 nal_hrd=none filler=0 ip_ratio=1.40 aq=1:1.00
Output #0, flv, to 'rtmp://localhost/show/tvpublica_360':
  Metadata:
    Server          : NGINX RTMP (github.com/sergey-dryabzhinsky/nginx-rtmp-module)
    displayWidth    : 1280
    displayHeight   : 720
    fps             : 25
    profile         :
    level           :
    encoder         : Lavf57.25.100
    Stream #0:0: Video: h264 (libx264), -1 reference frame ([7][0][0][0] / 0x0007), yuv420p, 360x202 [SAR 404:405 DAR 16:9], q=-1--1, 256 kb/s, 25 fps, 1k tbn, 25 tbc
    Metadata:
      encoder         : Lavc57.24.102 libx264
    Side data:
      unknown side data type 10 (24 bytes)
    Stream #0:1: Audio: aac (LC) ([10][0][0][0] / 0x000A), 48000 Hz, stereo, 98 kb/s
Output #1, flv, to 'rtmp://localhost/show/tvpublica_480':
  Metadata:
    Server          : NGINX RTMP (github.com/sergey-dryabzhinsky/nginx-rtmp-module)
    displayWidth    : 1280
    displayHeight   : 720
    fps             : 25
    profile         :
    level           :
    encoder         : Lavf57.25.100
    Stream #1:0: Video: h264 (libx264), -1 reference frame ([7][0][0][0] / 0x0007), yuv420p, 480x270 [SAR 1:1 DAR 16:9], q=-1--1, 512 kb/s, 25 fps, 1k tbn, 25 tbc
    Metadata:
      encoder         : Lavc57.24.102 libx264
    Side data:
      unknown side data type 10 (24 bytes)
    Stream #1:1: Audio: aac (LC) ([10][0][0][0] / 0x000A), 48000 Hz, stereo, 98 kb/s
Output #2, flv, to 'rtmp://localhost/show/tvpublica_720':
  Metadata:
    Server          : NGINX RTMP (github.com/sergey-dryabzhinsky/nginx-rtmp-module)
    displayWidth    : 1280
    displayHeight   : 720
    fps             : 25
    profile         :
    level           :
    encoder         : Lavf57.25.100
    Stream #2:0: Video: h264 (libx264), -1 reference frame ([7][0][0][0] / 0x0007), yuv420p, 720x404 [SAR 404:405 DAR 16:9], q=-1--1, 1024 kb/s, 25 fps, 1k tbn, 25 tbc
    Metadata:
      encoder         : Lavc57.24.102 libx264
    Side data:
      unknown side data type 10 (24 bytes)
    Stream #2:1: Audio: aac (LC) ([10][0][0][0] / 0x000A), 48000 Hz, stereo, 98 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (copy)
  Stream #0:0 -> #1:0 (h264 (native) -> h264 (libx264))
  Stream #0:1 -> #1:1 (copy)
  Stream #0:0 -> #2:0 (h264 (native) -> h264 (libx264))
  Stream #0:1 -> #2:1 (copy)
Press [q] to stop, [?] for help
[h264 @ 0x3107f80] co located POCs unavailable
frame=133654 fps= 25 q=25.0 q=25.0 q=25.0 size=  258907kB time=01:29:06.24 bitrate= 396.7kbits/s speed=   1x