we run rtmp streams all the time without crashing so something weird is going on, i doubt it's the packaging. Can you get a backtrace of the crash and report a bug to jira so we can investigate?<span></span><br><br>On Wednesday, September 14, 2016, Charlie DeTar <<a href="mailto:cfd-fs@fohn.org">cfd-fs@fohn.org</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><u></u>
<div><div>Thanks for clarifying that. I configured nginx-rtmp-module, and was able to successfully got an rtmp stream sent from the conference to sent to it and transcoded to HLS / MPEG-DASH. However, freeswitch still crashes a short time after invoking `conference <name> record ...` (I've seen between 10 seconds and 2 minutes after).<br></div>
<div><br></div>
<div>My next attempt will be to compile freeswitch from source rather than using freeswitch's debian packages, to see if a more recent commit can survive recording to rtmp without crashing.<br></div>
<div><br></div>
<div>Thanks for the offer Anthony, I am working with an MIT lab on a research project. I'll follow up separately.<br></div>
<div><br></div>
<div>-charlie<br></div>
<div><br></div>
<div>On Wed, Sep 14, 2016, at 02:26 PM, Anthony Minessale wrote:<br></div>
<blockquote type="cite"><div dir="ltr"><div>It only broadcasts to a server, it does not act as a relay you need either crtmpd or redfive etc.<br></div>
<div>We could maybe make that possible some day with enough code but its not possible at all today.<br></div>
<div><br></div>
<div><br></div>
<div>I see <a href="http://mit.edu" target="_blank">mit.edu</a> in your logs. Doing some academic research? Contact us directly, <a href="javascript:_e(%7B%7D,'cvml','consulting@freeswitch.org');" target="_blank">consulting@freeswitch.org</a> and/or press the "live chat" button on <a href="https://freeswitch.org" target="_blank">https://freeswitch.org</a> we like working with universities.<br></div>
<div><br></div>
<div><br></div>
</div>
<div><div><br></div>
<div><div>On Wed, Sep 14, 2016 at 1:52 PM, Stephen Dame <span dir="ltr"><<a href="javascript:_e(%7B%7D,'cvml','sdame@207me.com');" target="_blank">sdame@207me.com</a>></span> wrote:<br></div>
<blockquote style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div>rtmp://<a href="http://nothangout.media.mit.edu/plenary-test" target="_blank">nothangout.media.mit.ed<wbr>u/plenary-test</a> <--- this needs to be a server<br></div>
<div> publish point on some red5/fms server. or nginx configured correctly to<br></div>
<div> publish the stream to it at that mount point.<br></div>
<div> <span><br> <br> <br> Regards,<br> Stephen<br> <br> HostBBB - Online Learning Solutions<br> 207 Technology Group Inc. <a href="tel:1-888-229-9756" target="_blank">1-888-229-9756</a> skype: Stephen_Dame<br> <br> -----Original Message-----<br> From: <a href="javascript:_e(%7B%7D,'cvml','freeswitch-users-bounces@lists.freeswitch.org');" target="_blank">freeswitch-users-bounces@lists<wbr>.freeswitch.org</a><br> [mailto:<a href="javascript:_e(%7B%7D,'cvml','freeswitch-users-bounces@lists.freeswitch.org');" target="_blank">freeswitch-users-bounc<wbr>es@lists.freeswitch.org</a>] On Behalf Of Charlie<br> DeTar<br> </span><span>Sent: Wednesday, September 14, 2016 1:56 PM<br> To: <a href="javascript:_e(%7B%7D,'cvml','freeswitch-users@lists.freeswitch.org');" target="_blank">freeswitch-users@lists.freeswi<wbr>tch.org</a><br> Subject: Re: [Freeswitch-users] Broadcasting conference with mod_rtmp<br> <br> Thanks! I tried this, but didn't get success yet. Maybe I've misunderstood<br> something. Here's what I tried:<br> <br> 1. I added `<load module="mod_av"/>` to modules.conf.xml, and restarted<br> freeswitch.<br> <br> 2. I connected participants to a conference with destination number<br> "plenary-test". This is what `conference list` in fs_cli shows after<br> this:<br> <br> Conference plenary-test (1 member rate: 44100 flags:<br> running|answered|enforce_min|d<wbr>ynamic|exit_sound|enter_sound|<wbr>livearray_sy<br> </span>running|answered|nc|transcode_<wbr>video|video_muxing|minimize_vi<wbr>deo_encoding</div>
<div> running|answered||json_status)<br></div>
<div> <br></div>
<div><div><div>1;verto.rtc/plenary-test;4ae28<wbr>d9e-cf98-363f-ed40-2b6544fb868<wbr>5;Anonymous;plen<br></div>
<div> <a href="javascript:_e(%7B%7D,'cvml','ary_user@nothangout.media.mit.edu');" target="_blank">ary_user@nothangout.media.mit.<wbr>edu</a>;hear|speak|video|floor|vid<wbr>-floor;0;0;0;200<br></div>
<div> <br></div>
<div> 3. In fs_cli, I issued the following command:<br></div>
<div> <br></div>
<div> conference plenary-test record<br></div>
<div> rtmp://<a href="http://nothangout.media.mit.edu/plenary-test" target="_blank">nothangout.media.mit.ed<wbr>u/plenary-test</a><br></div>
<div> <br></div>
<div> The domain here is the same domain as the freeswitch server. There is no<br></div>
<div> red5/wowza/nginx-mod-rtmp/etc running on this server yet. This produced the<br></div>
<div> logs below. [0]<br></div>
<div> <br></div>
<div> 4. I attempted to connect to<br></div>
<div> rtmp://<a href="http://nothangout.media.mit.edu/plenary-test" target="_blank">nothangout.media.mit.ed<wbr>u/plenary-test</a> using mplayer, vlc, and<br></div>
<div> rtmpdump. None of them receive any data.<br></div>
<div> <br></div>
<div> Shortly after issuing `conference plenary-test record ...`, whether or not I<br></div>
<div> attempt to connect an rtmp client, freeswitch appears to crash -- the logs<br></div>
<div> show freeswitch starting up, the verto browser session reloads, and the<br></div>
<div> fs_cli socket is lost. I don't see anything in the logs about a crash (it<br></div>
<div> just up-and-reboots).<br></div>
<div> <br></div>
<div> <br></div>
<div> Have I missed a step here? Does freeswitch need a running red5/etc.<br></div>
<div> server that it is connecting to when I issue the `record` command, or is it<br></div>
<div> producing a stream that an rtmp client should be able to consume?<br></div>
<div> Forgive my ignorance here; I'm new to rtmp streaming.<br></div>
<div> <br></div>
<div> I'm running freeswitch 1.6.10~17~726, via freeswitch's debian packages, on<br></div>
<div> debian 8.5.<br></div>
<div> <br></div>
<div> best,<br></div>
<div> Charlie<br></div>
<div> <br></div>
<div> <br></div>
<div> [0] Debug log after issuing `conference plenary-test record ...`, and before<br></div>
<div> freeswitch crashes:<br></div>
<div> <br></div>
<div> 2016-09-14 17:41:57.378173 [DEBUG] avformat.c:1701 sample rate: 44100,<br></div>
<div> channels: 2<br></div>
<div> Parsing...<br></div>
<div> Parsed protocol: 0<br></div>
<div> Parsed host : <a href="http://nothangout.media.mit.edu" target="_blank">nothangout.media.mit.edu</a><br></div>
<div> Parsed app : plenary-test<br></div>
<div> RTMP_Connect1, ... connected, handshaking<br></div>
<div> 2016-09-14 17:41:57.408166 [NOTICE] mod_rtmp.c:903 New RTMP session<br></div>
<div> [81e27b34-92ae-4fd8-9d8b-6ba58<wbr>ed32e80]<br></div>
<div> 81e27b34-92ae-4fd8-9d8b-6ba58e<wbr>d32e80 2016-09-14 17:41:57.408166 [INFO]<br></div>
<div> rtmp_tcp.c:234 Rtmp connection from <a href="http://18.85.44.183:54786" target="_blank">18.85.44.183:54786</a><br></div>
<div> 81e27b34-92ae-4fd8-9d8b-6ba58e<wbr>d32e80 2016-09-14 17:41:57.408166 [DEBUG]<br></div>
<div> rtmp.c:882 Sent handshake response<br></div>
<div> HandShake: Type Answer : 03<br></div>
<div> HandShake: Server Uptime : 414322<br></div>
<div> HandShake: FMS Version : 0.0.0.0<br></div>
<div> HandShake: Handshaking finished....<br></div>
<div> RTMP_Connect1, handshaked<br></div>
<div> 81e27b34-92ae-4fd8-9d8b-6ba58e<wbr>d32e80 2016-09-14 17:41:57.408166 [DEBUG]<br></div>
<div> rtmp.c:907 Done with handshake<br></div>
<div> 81e27b34-92ae-4fd8-9d8b-6ba58e<wbr>d32e80 2016-09-14 17:41:57.408166 [DEBUG]<br></div>
<div> rtmp.c:1081 [chunk_stream=3 type=0x14 ts=0 stream_id=0x0] len=116 Invoking<br></div>
<div> connect<br></div>
<div> 81e27b34-92ae-4fd8-9d8b-6ba58e<wbr>d32e80 2016-09-14 17:41:57.408166 [DEBUG]<br></div>
<div> rtmp.c:192 [amfnumber=3] Got INVOKE for connect<br></div>
<div> 81e27b34-92ae-4fd8-9d8b-6ba58e<wbr>d32e80 2016-09-14 17:41:57.408166 [DEBUG]<br></div>
<div> rtmp.c:656 [amfnumber=2 type=0x1 stream_id=0x0] len=4<br></div>
<div> 81e27b34-92ae-4fd8-9d8b-6ba58e<wbr>d32e80 2016-09-14 17:41:57.408166 [DEBUG]<br></div>
<div> rtmp.c:656 [amfnumber=2 type=0x5 stream_id=0x0] len=4<br></div>
<div> 81e27b34-92ae-4fd8-9d8b-6ba58e<wbr>d32e80 2016-09-14 17:41:57.408166 [DEBUG]<br></div>
<div> rtmp.c:656 [amfnumber=2 type=0x6 stream_id=0x0] len=5<br></div>
<div> 81e27b34-92ae-4fd8-9d8b-6ba58e<wbr>d32e80 2016-09-14 17:41:57.408166 [DEBUG]<br></div>
<div> rtmp.c:656 [amfnumber=2 type=0x4 stream_id=0x0] len=6 HandleChangeChunkSize,<br></div>
<div> received: chunk size change to 512<br></div>
<div> HandleServerBW: server BW = 2097152<br></div>
<div> HandleClientBW: client BW = 2097152 1<br></div>
<div> 81e27b34-92ae-4fd8-9d8b-6ba58e<wbr>d32e80 2016-09-14 17:41:57.408166 [DEBUG]<br></div>
<div> rtmp.c:656 [amfnumber=3 type=0x14 stream_id=0x0] len=201 HandleCtrl,<br></div>
<div> received ctrl. type: 0, len: 6 HandleCtrl, Stream Begin 0<br></div>
<div> 81e27b34-92ae-4fd8-9d8b-6ba58e<wbr>d32e80 2016-09-14 17:41:57.408166 [DEBUG]<br></div>
<div> rtmp.c:656 [amfnumber=3 type=0x14 stream_id=0x0] len=61<br></div>
<div> 81e27b34-92ae-4fd8-9d8b-6ba58e<wbr>d32e80 2016-09-14 17:41:57.408166 [NOTICE]<br></div>
<div> rtmp_sig.c:122 Sent connect reply<br></div>
<div> RTMP_ClientPacket, received: invoke 201 bytes (object begin)<br></div>
<div> Property: <Name: no-name., STRING: _result><br></div>
<div> Property: <Name: no-name., NUMBER: 1.00><br></div>
<div> Property: <Name: no-name., OBJECT><br></div>
<div> (object begin)<br></div>
<div> Property: <Name: fmsVer, NUMBER: 1.00><br></div>
<div> Property: <Name: capabilities, NUMBER: 31.00><br></div>
<div> (object end)<br></div>
<div> Property: <Name: no-name., OBJECT><br></div>
<div> (object begin)<br></div>
<div> Property: <Name: level, STRING: status><br></div>
<div> Property: <Name: code, STRING:<br></div>
<div> NetConnection.Connect.Success><br></div>
<div> Property: <Name: description, STRING: Connection succeeded><br></div>
<div> Property: <Name: clientId, NUMBER: 217834719.00><br></div>
<div> Property: <Name: objectEncoding, NUMBER: 0.00><br></div>
<div> (object end)<br></div>
<div> (object end)<br></div>
<div> HandleInvoke, server invoking <_result><br></div>
<div> HandleInvoke, received result for method call <connect> Invoking<br></div>
<div> releaseStream Invoking FCPublish Invoking createStream RTMP_ClientPacket,<br></div>
<div> received: invoke 61 bytes (object begin)<br></div>
<div> Property: <Name: no-name., STRING: connected><br></div>
<div> Property: <Name: no-name., NUMBER: 0.00><br></div>
<div> Property: NULL<br></div>
<div> Property: <Name: no-name., STRING:<br></div>
<div> 81e27b34-92ae-4fd8-9d8b-6ba58e<wbr>d32e80><br></div>
<div> (object end)<br></div>
<div> HandleInvoke, server invoking <connected><br></div>
<div> 81e27b34-92ae-4fd8-9d8b-6ba58e<wbr>d32e80 2016-09-14 17:41:57.408166 [DEBUG]<br></div>
<div> rtmp.c:1081 [chunk_stream=3 type=0x14 ts=0 stream_id=0x0] len=29<br></div>
<div> 81e27b34-92ae-4fd8-9d8b-6ba58e<wbr>d32e80 2016-09-14 17:41:57.408166 [DEBUG]<br></div>
<div> rtmp.c:192 [amfnumber=3] Got INVOKE for releaseStream<br></div>
<div> 81e27b34-92ae-4fd8-9d8b-6ba58e<wbr>d32e80 2016-09-14 17:41:57.408166 [WARNING]<br></div>
<div> rtmp.c:198 Unhandled invoke for "releaseStream"<br></div>
<div> 81e27b34-92ae-4fd8-9d8b-6ba58e<wbr>d32e80 2016-09-14 17:41:57.408166 [DEBUG]<br></div>
<div> rtmp.c:1081 [chunk_stream=3 type=0x14 ts=0 stream_id=0x0] len=25<br></div>
<div> 81e27b34-92ae-4fd8-9d8b-6ba58e<wbr>d32e80 2016-09-14 17:41:57.408166 [DEBUG]<br></div>
<div> rtmp.c:192 [amfnumber=3] Got INVOKE for FCPublish<br></div>
<div> 81e27b34-92ae-4fd8-9d8b-6ba58e<wbr>d32e80 2016-09-14 17:41:57.408166 [WARNING]<br></div>
<div> rtmp.c:198 Unhandled invoke for "FCPublish"<br></div>
<div> 81e27b34-92ae-4fd8-9d8b-6ba58e<wbr>d32e80 2016-09-14 17:41:57.408166 [DEBUG]<br></div>
<div> rtmp.c:1081 [chunk_stream=3 type=0x14 ts=0 stream_id=0x0] len=25<br></div>
<div> 81e27b34-92ae-4fd8-9d8b-6ba58e<wbr>d32e80 2016-09-14 17:41:57.408166 [DEBUG]<br></div>
<div> rtmp.c:192 [amfnumber=3] Got INVOKE for createStream<br></div>
<div> 81e27b34-92ae-4fd8-9d8b-6ba58e<wbr>d32e80 2016-09-14 17:41:57.408166 [DEBUG]<br></div>
<div> rtmp.c:656 [amfnumber=3 type=0x14 stream_id=0x0] len=29<br></div>
<div> 81e27b34-92ae-4fd8-9d8b-6ba58e<wbr>d32e80 2016-09-14 17:41:57.408166 [INFO]<br></div>
<div> rtmp_sig.c:137 Replied to createStream (0) RTMP_ClientPacket, received:<br></div>
<div> invoke 29 bytes (object begin)<br></div>
<div> Property: <Name: no-name., STRING: _result><br></div>
<div> Property: <Name: no-name., NUMBER: 4.00><br></div>
<div> Property: NULL<br></div>
<div> Property: <Name: no-name., NUMBER: 1.00><br></div>
<div> (object end)<br></div>
<div> HandleInvoke, server invoking <_result><br></div>
<div> HandleInvoke, received result for method call <createStream> Invoking<br></div>
<div> publish<br></div>
<div> 81e27b34-92ae-4fd8-9d8b-6ba58e<wbr>d32e80 2016-09-14 17:41:57.408166 [DEBUG]<br></div>
<div> rtmp.c:1081 [chunk_stream=4 type=0x14 ts=0 stream_id=0x1] len=30<br></div>
<div> 81e27b34-92ae-4fd8-9d8b-6ba58e<wbr>d32e80 2016-09-14 17:41:57.408166 [DEBUG]<br></div>
<div> rtmp.c:192 [amfnumber=4] Got INVOKE for publish<br></div>
<div> 81e27b34-92ae-4fd8-9d8b-6ba58e<wbr>d32e80 2016-09-14 17:41:57.408166 [DEBUG]<br></div>
<div> rtmp.c:656 [amfnumber=2 type=0x4 stream_id=0x0] len=6<br></div>
<div> 81e27b34-92ae-4fd8-9d8b-6ba58e<wbr>d32e80 2016-09-14 17:41:57.408166 [DEBUG]<br></div>
<div> rtmp.c:656 [amfnumber=5 type=0x14 stream_id=0x1] len=138<br></div>
<div> 81e27b34-92ae-4fd8-9d8b-6ba58e<wbr>d32e80 2016-09-14 17:41:57.408166 [INFO]<br></div>
<div> rtmp_sig.c:290 Got publish on stream 1.<br></div>
<div> HandleCtrl, received ctrl. type: 0, len: 6 HandleCtrl, Stream Begin 1<br></div>
<div> RTMP_ClientPacket, received: invoke 138 bytes (object begin)<br></div>
<div> Property: <Name: no-name., STRING: onStatus><br></div>
<div> Property: <Name: no-name., NUMBER: 0.00><br></div>
<div> Property: NULL<br></div>
<div> Property: <Name: no-name., OBJECT><br></div>
<div> (object begin)<br></div>
<div> Property: <Name: level, STRING: status><br></div>
<div> Property: <Name: code, STRING: NetStream.Publish.Start><br></div>
<div> Property: <Name: description, STRING: description><br></div>
<div> Property: <Name: details, STRING: details><br></div>
<div> Property: <Name: clientid, NUMBER: 217834719.00><br></div>
<div> (object end)<br></div>
<div> (object end)<br></div>
<div> HandleInvoke, server invoking <onStatus> HandleInvoke, onStatus:<br></div>
<div> NetStream.Publish.Start<br></div>
<div> 2016-09-14 17:41:57.408166 [DEBUG] avformat.c:1804 use video codec: [28]<br></div>
<div> h264 (H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10)<br></div>
<div> 2016-09-14 17:41:57.408166 [WARNING] avformat.c:506 Codec [aac] is<br></div>
<div> experimental feature in libavcodec, never mind<br></div>
<div> 2016-09-14 17:41:57.408166 [NOTICE] avformat.c:531 sample_rate: 44100<br></div>
<div> nb_samples: 1024<br></div>
<div> 2016-09-14 17:41:57.408166 [NOTICE] avformat.c:535 sample_fmt 8 !=<br></div>
<div> AV_SAMPLE_FMT_S16, start resampler Output #0, flv, to<br></div>
<div> 'rtmp://<a href="http://nothangout.media.mit.edu/plenary-test" target="_blank">nothangout.media.mit.e<wbr>du/plenary-test</a>':<br></div>
<div> Stream #0.0: Audio: aac, 44100 Hz, stereo, fltp, 131 kb/s<br></div>
<div> 2016-09-14 17:41:57.408166 [INFO] avformat.c:1829 Opening File<br></div>
<div> [rtmp://<a href="http://nothangout.media.mit.edu/plenary-test" target="_blank">nothangout.media.mit.e<wbr>du/plenary-test</a>] 44100hz with VIDEO<br></div>
<div> 2016-09-14 17:41:57.408166 [DEBUG] conference_record.c:279 Setup timer<br></div>
<div> success interval: 20 samples: 882 using cpu capabilities: MMX2 SSE2Fast<br></div>
<div> SSSE3 SSE4.2 AVX profile Constrained Baseline, level 4.1<br></div>
<div> 264 - core 142 r2431 a5831aa - H.264/MPEG-4 AVC codec - Copyleft<br></div>
<div> 2003-2014 - <a href="http://www.videolan.org/x264.html" target="_blank">http://www.videolan.org/x264.h<wbr>tml</a> - options: cabac=0 ref=1<br></div>
<div> deblock=1:0:0 analyse=0x1:0x111 me=hex subme=2 psy=1 psy_rd=1.00:0.00<br></div>
<div> mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0<br></div>
<div> deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=4<br></div>
<div> lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0<br></div>
<div> bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=30<br></div>
<div> keyint_min=16 scenecut=40 intra_refresh=0 rc_lookahead=10 rc=crf<br></div>
<div> mbtree=1 crf=18.0 qcomp=0.60 qpmin=10 qpmax=31 qpstep=4 ip_ratio=1.41<br></div>
<div> aq=1:1.00<br></div>
<div> 2016-09-14 17:41:57.478159 [INFO] avformat.c:2366 use video codec<br></div>
<div> implementation Video: libx264, yuv420p, 800x600, q=10-31, 516 kb/s<br></div>
<div> 2016-09-14 17:41:57.478159 [NOTICE] avformat.c:613 video thread start<br></div>
<div> 81e27b34-92ae-4fd8-9d8b-6ba58e<wbr>d32e80 2016-09-14 17:41:58.458161 [DEBUG]<br></div>
<div> rtmp.c:1081 [chunk_stream=4 type=0x12 ts=0 stream_id=0x1] len=382<br></div>
<div> <br></div>
<div> <br></div>
<div> On Wed, Sep 14, 2016, at 05:58 AM, Stephen Dame wrote:<br></div>
<div> > You want to load mod_av<br></div>
<div> ><br></div>
<div> > Then use<br></div>
<div> ><br></div>
<div> > conference xxxxxx record rtmp://yourserver.cpm/stream_i<wbr>d<br></div>
<div> ><br></div>
<div> > you can pass avconv args in this command as well to control encoding<br></div>
<div> > options like frames per second and presets.<br></div>
<div> ><br></div>
<div> > This will send output of MCU to your red5, wowza, or properly<br></div>
<div> > configure nginx rtmp module.<br></div>
<div> ><br></div>
<div> > Can also send it directly to youtube.<br></div>
<div> ><br></div>
<div> > Regards,<br></div>
<div> > Stephen<br></div>
<div> ><br></div>
<div> > HostBBB - Online Learning Solutions<br></div>
<div> > 207 Technology Group Inc. 1-888-229-9756 skype: Stephen_Dame<br></div>
<div> ><br></div>
<div> > -----Original Message-----<br></div>
<div> > From: <a href="javascript:_e(%7B%7D,'cvml','freeswitch-users-bounces@lists.freeswitch.org');" target="_blank">freeswitch-users-bounces@lists<wbr>.freeswitch.org</a><br></div>
<div> > [mailto:<a href="javascript:_e(%7B%7D,'cvml','freeswitch-users-bounces@lists.freeswitch.org');" target="_blank">freeswitch-users-bounc<wbr>es@lists.freeswitch.org</a>] On Behalf Of<br></div>
<div> > Charlie DeTar<br></div>
<div> > Sent: Tuesday, September 13, 2016 10:55 PM<br></div>
<div> > To: <a href="javascript:_e(%7B%7D,'cvml','freeswitch-users@lists.freeswitch.org');" target="_blank">freeswitch-users@lists.freeswi<wbr>tch.org</a><br></div>
<div> > Subject: [Freeswitch-users] Broadcasting conference with mod_rtmp<br></div>
<div> ><br></div>
<div> > Hi,<br></div>
<div> ><br></div>
<div> > I'm trying to broadcast a WebRTC video conference (via mod_conference<br></div>
<div> > and<br></div>
<div> > mod_verto) over an rtmp stream, with the ultimate goal of transcoding<br></div>
<div> > the rtmp stream for broadcast as an HTML5 video stream (likely using<br></div>
<div> > something like <a href="https://github.com/arut/nginx-rtmp-module" target="_blank">https://github.com/arut/nginx-<wbr>rtmp-module</a><br></div>
<div> > for HSL and MPEG-DASH broadcasts). I expect I have the same sort of<br></div>
<div> > requirements of freeswitch that one would need for broadcasting rtmp<br></div>
<div> > to youtube, which the docs mention glancingly without detail [0]. :)<br></div>
<div> ><br></div>
<div> > The video conferencing is working great -- but I'm struggling to<br></div>
<div> > figure out how to access the RTMP stream for it. My rtmp.conf.xml is<br></div>
<div> > basically the default (but with `auth-calls` set to `false`). My<br></div>
<div> > dialplan is as<br></div>
<div> > follows:<br></div>
<div> ><br></div>
<div> > <include><br></div>
<div> > <extension name="plenary"><br></div>
<div> > <condition field="destination_number" expression="^plenary-.*$"<br></div>
<div> > break="never"><br></div>
<div> > <action application="answer"/><br></div>
<div> > <action application="info"/><br></div>
<div> > <action application="conference"<br></div>
<div> > data="${destination_number}@p<wbr>lenary-conference-profile"/><br></div>
<div> > </condition><br></div>
<div> > </extension><br></div>
<div> > </include><br></div>
<div> ><br></div>
<div> > I'm able to connect to freeswitch using RTMP clients (I've tried<br></div>
<div> > rtmpdump, mplayer, and vlc). In fs_cli, I see debug info (example<br></div>
<div> > copied below<br></div>
<div> > [1])<br></div>
<div> > that seems to indicate successful connections.<br></div>
<div> > However, the RTMP client never receives any data from the server and<br></div>
<div> > disconnects after around 30 seconds.<br></div>
<div> ><br></div>
<div> > I'm trying to connect via URLs like:<br></div>
<div> > rtmp://<domain>:<port>/plenary<wbr>-conferencename<br></div>
<div> > rtmp://<domain>:<port>/plenary<wbr>-conferencename@plenary-<wbr>conference-profi<br></div>
</div>
</div>
<div>> le rtmp://<domain>:<port>/default<wbr>/plenary-conferencename<br></div>
<div> <br></div>
<div><div><div>> and so on, and all exhibit the same behavior. It doesn't seem to<br></div>
<div> > matter what path I put -- freeswitch accepts the connection, sends no<br></div>
<div> > data, then disconnects after a while. This leads me to suspect I<br></div>
<div> > might just be getting the path name wrong.<br></div>
<div> ><br></div>
<div> > My questions, if anyone has experience with this:<br></div>
<div> ><br></div>
<div> > What is the correct path for the rtmp URL to connect to a video<br></div>
<div> > conference<br></div>
<div> > -- is it just the $destination_number, or something else?<br></div>
<div> > Are there any obvious steps I'm missing to set up rtmp feeds, or any<br></div>
<div> > suggestions for how to do smarter debugging of this?<br></div>
<div> > Does anyone have an example project that successfully broadcasts RTMP<br></div>
<div> > from a video conference to e.g. youtube?<br></div>
<div> > Is there a better or more convenient approach to broadcasting a video<br></div>
<div> > stream from a conference that you prefer to rtmp?<br></div>
<div> ><br></div>
<div> ><br></div>
<div> > The full freeswitch config I'm using is here:<br></div>
<div> > <a href="https://gitlab.com/cdetar/plenary-server/tree/master/ansible/roles/ple" target="_blank">https://gitlab.com/cdetar/plen<wbr>ary-server/tree/master/ansible<wbr>/roles/ple</a><br></div>
<div> > nary/t<br></div>
<div> > emplates/freeswitch<br></div>
<div> > , if that's helpful. (Those are templates for an ansible config, so<br></div>
<div> > they contain variables that get interpolated in using {{var}} syntax).<br></div>
<div> ><br></div>
<div> > best,<br></div>
<div> > Charlie<br></div>
<div> ><br></div>
<div> > [0] Glancing reference to youtube+rtmp:<br></div>
<div> > <a href="https://freeswitch.org/confluence/display/FREESWITCH/FreeSWITCH+1.6+Vi" target="_blank">https://freeswitch.org/conflue<wbr>nce/display/FREESWITCH/FreeSWI<wbr>TCH+1.6+Vi</a><br></div>
<div> > deo#Fr<br></div>
<div> > eeSWITCH1.6Video-What%27snew<br></div>
<div> ><br></div>
<div> > [1] fs_cli debug info while attempting to connect via RTMP:<br></div>
<div> ><br></div>
<div> > 2016-09-13 23:37:40.551744 [NOTICE] mod_rtmp.c:903 New RTMP session<br></div>
<div> > [1513874f-9084-470c-a2de-7e5f9<wbr>2bb2296]<br></div>
<div> > 2016-09-13 23:37:40.551744 [INFO] rtmp_tcp.c:234 Rtmp connection from<br></div>
<div> > <a href="http://98.127.250.255:44131" target="_blank">98.127.250.255:44131</a><br></div>
<div> > 2016-09-13 23:37:40.551744 [DEBUG] rtmp.c:882 Sent handshake response<br></div>
<div> > 2016-09-13 23:37:40.711748 [DEBUG] rtmp.c:907 Done with handshake<br></div>
<div> > 2016-09-13 23:37:40.711748 [DEBUG] rtmp.c:1081 [chunk_stream=3<br></div>
<div> > type=0x14<br></div>
<div> > ts=0 stream_id=0x0] len=204<br></div>
<div> > 2016-09-13 23:37:40.711748 [DEBUG] rtmp.c:192 [amfnumber=3] Got INVOKE<br></div>
<div> > for connect<br></div>
<div> > 2016-09-13 23:37:40.711748 [DEBUG] rtmp.c:656 [amfnumber=2 type=0x1<br></div>
<div> > stream_id=0x0] len=4<br></div>
<div> > 2016-09-13 23:37:40.711748 [DEBUG] rtmp.c:656 [amfnumber=2 type=0x5<br></div>
<div> > stream_id=0x0] len=4<br></div>
<div> > 2016-09-13 23:37:40.711748 [DEBUG] rtmp.c:656 [amfnumber=2 type=0x6<br></div>
<div> > stream_id=0x0] len=5<br></div>
<div> > 2016-09-13 23:37:40.711748 [DEBUG] rtmp.c:656 [amfnumber=2 type=0x4<br></div>
<div> > stream_id=0x0] len=6<br></div>
<div> > 2016-09-13 23:37:40.711748 [DEBUG] rtmp.c:656 [amfnumber=3 type=0x14<br></div>
<div> > stream_id=0x0] len=201<br></div>
<div> > 2016-09-13 23:37:40.711748 [DEBUG] rtmp.c:656 [amfnumber=3 type=0x14<br></div>
<div> > stream_id=0x0] len=61<br></div>
<div> > 2016-09-13 23:37:40.711748 [NOTICE] rtmp_sig.c:122 Sent connect reply<br></div>
<div> > 2016-09-13 23:37:40.851748 [DEBUG] rtmp.c:1081 [chunk_stream=2<br></div>
<div> > type=0x5<br></div>
<div> > ts=0 stream_id=0x0] len=4<br></div>
<div> > 2016-09-13 23:37:40.851748 [DEBUG] rtmp.c:1184 Set window size: from<br></div>
<div> > 2097152 to 2097152 bytes<br></div>
<div> > 2016-09-13 23:37:40.851748 [DEBUG] rtmp.c:1081 [chunk_stream=2<br></div>
<div> > type=0x4<br></div>
<div> > ts=0 stream_id=0x0] len=10<br></div>
<div> > 2016-09-13 23:37:40.851748 [DEBUG] rtmp.c:91 Control (3): 00 00 00 00<br></div>
<div> > 00<br></div>
<div> > 00 01 2c<br></div>
<div> > 2016-09-13 23:37:40.851748 [INFO] rtmp.c:118 stream=0 Client buffer<br></div>
<div> > set to 300ms<br></div>
<div> > 2016-09-13 23:37:40.851748 [DEBUG] rtmp.c:1081 [chunk_stream=3<br></div>
<div> > type=0x14<br></div>
<div> > ts=0 stream_id=0x0] len=25<br></div>
<div> > 2016-09-13 23:37:40.851748 [DEBUG] rtmp.c:192 [amfnumber=3] Got INVOKE<br></div>
<div> > for createStream<br></div>
<div> > 2016-09-13 23:37:40.851748 [DEBUG] rtmp.c:656 [amfnumber=3 type=0x14<br></div>
<div> > stream_id=0x0] len=29<br></div>
<div> > 2016-09-13 23:37:40.851748 [INFO] rtmp_sig.c:137 Replied to<br></div>
<div> > createStream<br></div>
<div> > (0)<br></div>
<div> > 2016-09-13 23:37:40.991748 [DEBUG] rtmp.c:1081 [chunk_stream=8<br></div>
<div> > type=0x14<br></div>
<div> > ts=0 stream_id=0x1] len=82<br></div>
<div> > 2016-09-13 23:37:40.991748 [DEBUG] rtmp.c:192 [amfnumber=8] Got INVOKE<br></div>
<div> > for play<br></div>
<div> > 2016-09-13 23:37:40.991748 [DEBUG] rtmp_sig.c:198 Got play for<br></div>
<div> > plenary-test-pattern-alpha@ple<wbr>nary-conference-profile on stream 1<br></div>
<div> > 2016-09-13 23:37:40.991748 [DEBUG] rtmp.c:656 [amfnumber=2 type=0x1<br></div>
<div> > stream_id=0x0] len=4<br></div>
<div> > 2016-09-13 23:37:40.991748 [DEBUG] rtmp.c:656 [amfnumber=2 type=0x4<br></div>
<div> > stream_id=0x0] len=6<br></div>
<div> > 2016-09-13 23:37:40.991748 [DEBUG] rtmp.c:656 [amfnumber=2 type=0x4<br></div>
<div> > stream_id=0x0] len=10<br></div>
<div> > 2016-09-13 23:37:40.991748 [DEBUG] rtmp.c:656 [amfnumber=5 type=0x14<br></div>
<div> > stream_id=0x1] len=135<br></div>
<div> > 2016-09-13 23:37:40.991748 [DEBUG] rtmp.c:656 [amfnumber=5 type=0x14<br></div>
<div> > stream_id=0x1] len=135<br></div>
<div> > 2016-09-13 23:37:40.991748 [DEBUG] rtmp.c:656 [amfnumber=5 type=0x12<br></div>
<div> > stream_id=0x1] len=44<br></div>
<div> > 2016-09-13 23:37:40.991748 [DEBUG] rtmp.c:656 [amfnumber=5 type=0x12<br></div>
<div> > stream_id=0x1] len=24<br></div>
<div> > 2016-09-13 23:37:40.991748 [DEBUG] rtmp.c:1081 [chunk_stream=2<br></div>
<div> > type=0x4<br></div>
<div> > ts=0 stream_id=0x0] len=10<br></div>
<div> > 2016-09-13 23:37:40.991748 [DEBUG] rtmp.c:91 Control (3): 00 00 00 01<br></div>
<div> > 02<br></div>
<div> > 25 51 00<br></div>
<div> > 2016-09-13 23:37:40.991748 [INFO] rtmp.c:118 stream=1 Client buffer<br></div>
<div> > set to 36000000ms<br></div>
<div> > 2016-09-13 23:37:43.951733 [DEBUG] rtmp.c:1081 [chunk_stream=3<br></div>
<div> > type=0x14<br></div>
<div> > ts=0 stream_id=0x0] len=34<br></div>
<div> > 2016-09-13 23:37:43.951733 [DEBUG] rtmp.c:192 [amfnumber=3] Got INVOKE<br></div>
<div> > for deleteStream<br></div>
<div> > 2016-09-13 23:37:43.951733 [NOTICE] rtmp.c:918 Disconnected from flash<br></div>
<div> > client<br></div>
<div> > 2016-09-13 23:37:43.951733 [DEBUG] rtmp_tcp.c:243 Closing socket<br></div>
<div> > 2016-09-13 23:37:44.691705 [NOTICE] mod_rtmp.c:1025 RTMP session ended<br></div>
<div> > [1513874f-9084-470c-a2de-7e5f9<wbr>2bb2296]<br></div>
<div> ><br></div>
<div> > ______________________________<wbr>______________________________<wbr>__________<br></div>
</div>
</div>
<div>> ___ Professional FreeSWITCH Consulting Services:<br></div>
<div> <span>> <a href="javascript:_e(%7B%7D,'cvml','consulting@freeswitch.org');" target="_blank">consulting@freeswitch.org</a><br> > <a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions<wbr>.com</a><br> ><br> > Official FreeSWITCH Sites<br> > <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br> > <a href="http://confluence.freeswitch.org" target="_blank">http://confluence.freeswitch.o<wbr>rg</a><br> > <a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br> ><br> > FreeSWITCH-users mailing list<br> > <a href="javascript:_e(%7B%7D,'cvml','FreeSWITCH-users@lists.freeswitch.org');" target="_blank">FreeSWITCH-users@lists.freeswi<wbr>tch.org</a><br> > <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/ma<wbr>ilman/listinfo/freeswitch-user<wbr>s</a><br> > UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-use" target="_blank">http://lists.frees<wbr>witch.org/mailman/options/<wbr>freeswitch-use</a><br> > rs<br> > <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br> ><br> ><br> > ______________________________<wbr>______________________________<wbr>__________<br> </span>> ___ Professional FreeSWITCH Consulting Services:</div>
<div> <br></div>
<div><div><div>> <a href="javascript:_e(%7B%7D,'cvml','consulting@freeswitch.org');" target="_blank">consulting@freeswitch.org</a><br></div>
<div> > <a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions<wbr>.com</a><br></div>
<div> ><br></div>
<div> > Official FreeSWITCH Sites<br></div>
<div> > <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br></div>
<div> > <a href="http://confluence.freeswitch.org" target="_blank">http://confluence.freeswitch.o<wbr>rg</a><br></div>
<div> > <a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br></div>
<div> ><br></div>
<div> > FreeSWITCH-users mailing list<br></div>
<div> > <a href="javascript:_e(%7B%7D,'cvml','FreeSWITCH-users@lists.freeswitch.org');" target="_blank">FreeSWITCH-users@lists.freeswi<wbr>tch.org</a><br></div>
<div> > <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/ma<wbr>ilman/listinfo/freeswitch-user<wbr>s</a><br></div>
<div> > UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-use" target="_blank">http://lists.frees<wbr>witch.org/mailman/options/<wbr>freeswitch-use</a><br></div>
<div> > rs<br></div>
<div> > <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br></div>
<div> <br></div>
<div> ______________________________<wbr>______________________________<wbr>_____________<br></div>
<div> Professional FreeSWITCH Consulting Services:<br></div>
<div> <a href="javascript:_e(%7B%7D,'cvml','consulting@freeswitch.org');" target="_blank">consulting@freeswitch.org</a><br></div>
<div> <a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions<wbr>.com</a><br></div>
<div> <br></div>
<div> Official FreeSWITCH Sites<br></div>
<div> <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br></div>
<div> <a href="http://confluence.freeswitch.org" target="_blank">http://confluence.freeswitch.o<wbr>rg</a><br></div>
<div> <a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br></div>
<div> <br></div>
<div> FreeSWITCH-users mailing list<br></div>
<div> <a href="javascript:_e(%7B%7D,'cvml','FreeSWITCH-users@lists.freeswitch.org');" target="_blank">FreeSWITCH-users@lists.freeswi<wbr>tch.org</a><br></div>
<div> <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/ma<wbr>ilman/listinfo/freeswitch-user<wbr>s</a><br></div>
<div> UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.frees<wbr>witch.org/mailman/options/<wbr>freeswitch-users</a><br></div>
<div> <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br></div>
<div> <br></div>
<div> <br></div>
<div> ______________________________<wbr>______________________________<wbr>_____________<br></div>
<div> Professional FreeSWITCH Consulting Services:<br></div>
<div> <a href="javascript:_e(%7B%7D,'cvml','consulting@freeswitch.org');" target="_blank">consulting@freeswitch.org</a><br></div>
<div> <a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions<wbr>.com</a><br></div>
<div> <br></div>
<div> Official FreeSWITCH Sites<br></div>
<div> <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br></div>
<div> <a href="http://confluence.freeswitch.org" target="_blank">http://confluence.freeswitch.o<wbr>rg</a><br></div>
<div> <a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br></div>
<div> <br></div>
<div> FreeSWITCH-users mailing list<br></div>
<div> <a href="javascript:_e(%7B%7D,'cvml','FreeSWITCH-users@lists.freeswitch.org');" target="_blank">FreeSWITCH-users@lists.freeswi<wbr>tch.org</a><br></div>
<div> <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/ma<wbr>ilman/listinfo/freeswitch-user<wbr>s</a><br></div>
<div> UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.frees<wbr>witch.org/mailman/options/<wbr>freeswitch-users</a><br></div>
<div> <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br></div>
</div>
</div>
</blockquote></div>
<div><br></div>
<div><br></div>
<div><br></div>
<div>-- <br></div>
<div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>Anthony Minessale II ♬ @anthmfs ♬ @FreeSWITCH ♬<br></div>
<div><div><br></div>
<div>☞ <a href="http://freeswitch.org/" target="_blank">http://freeswitch.org/</a> ☞ <a href="http://cluecon.com/" target="_blank">http://cluecon.com/</a> ☞ <a href="http://twitter.com/FreeSWITCH" target="_blank">http://twitter.com/FreeSWITCH</a><br></div>
<div><div><div>☞ <a href="http://irc.freenode.net" target="_blank">irc.freenode.net</a> #freeswitch ☞ <u><a href="http://freeswitch.org/g+" target="_blank">http://freeswitch.org/g+</a></u><br></div>
</div>
<div>ClueCon Weekly Development Call <br></div>
<div>☎ <a href="javascript:_e(%7B%7D,'cvml','sip:888@conference.freeswitch.org');" target="_blank">sip:888@conference.<wbr>freeswitch.org</a> ☎ +19193869900 <br></div>
<div><br></div>
</div>
</div>
<div><a style="color:rgb(17,85,204);font-size:12.8px" href="https://www.youtube.com/watch?v=9XXgW34t40s" target="_blank">https://www.youtube.com/watch?<wbr>v=9XXgW34t40s</a><br></div>
<div><a href="https://www.youtube.com/watch?v=NLaDpGQuZDA" target="_blank">https://www.youtube.com/watch?<wbr>v=NLaDpGQuZDA</a><br></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div><u>______________________________<wbr>______________________________<wbr>_____________</u><br></div>
<div>Professional FreeSWITCH Consulting Services:<br></div>
<div><a href="javascript:_e(%7B%7D,'cvml','consulting@freeswitch.org');" target="_blank">consulting@freeswitch.org</a><br></div>
<div><a href="http://www.freeswitchsolutions.com" target="_blank">http://www.<wbr>freeswitchsolutions.com</a><br></div>
<div> <br></div>
<div>Official FreeSWITCH Sites<br></div>
<div><a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br></div>
<div><a href="http://confluence.freeswitch.org" target="_blank">http://confluence.freeswitch.<wbr>org</a><br></div>
<div><a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br></div>
<div> <br></div>
<div>FreeSWITCH-users mailing list<br></div>
<div><a href="javascript:_e(%7B%7D,'cvml','FreeSWITCH-users@lists.freeswitch.org');" target="_blank">FreeSWITCH-users@lists.<wbr>freeswitch.org</a><br></div>
<div><a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/<wbr>mailman/listinfo/freeswitch-<wbr>users</a><br></div>
<div>UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.<wbr>freeswitch.org/mailman/<wbr>options/freeswitch-users</a><br></div>
<div><a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br></div>
</blockquote><div><br></div>
</div>
</blockquote>