[Freeswitch-users] Record and live stream WAV to HTTP server

Michael Jerris mike at jerris.com
Tue Apr 5 19:39:28 MSD 2016


I would stay away from mod_vlc.  Its audio portions with recording have known issues.  We do use the rtmp streaming in mod_av heavily but thats obviously not wav.  Can you explain a bit more why you have this requirement?

> On Apr 5, 2016, at 5:36 AM, Vincent Gire <vincent.gire at gmail.com> wrote:
> 
> Ok thanks.
> It looks promising !
> I'll dig into mod_vlc.
> 
> Best 
> 
> Vincent
> 
> On Tue, Apr 5, 2016 at 10:04 AM, Sergey Safarov <s.safarov at gmail.com <mailto:s.safarov at gmail.com>> wrote:
> Think is requred streaming feature of freeswitch.
> Look at mod_esf <https://freeswitch.org/confluence/display/FREESWITCH/mod_esf> and mod_vlc <https://wiki.freeswitch.org/wiki/Mod_vlc>
> Instruction to compile mod_vlc on provided link is to old but helpfull to undestand how to stream media to http server.
> 
> For compiling mod_vlc please use vlc repo <https://freeswitch.org/stash/projects/SD/repos/vlc/browse> and centos instruction <https://freeswitch.org/confluence/display/FREESWITCH/Creating+RPM+repositary>.
> After you intall vlc, then you can enable mod_vlc module in freeswitch sources(SPEC file) and compile freeswitch.
> 
> Sergey
> 
> 
> вт, 5 апр. 2016 г. в 10:31, Vincent Gire <vincent.gire at gmail.com <mailto:vincent.gire at gmail.com>>:
> webdav, mod_http_cache or mod_httapi all results in sending the recording only after it is complete.
> They all write the recording to a file, wait for the recording to complete and the file to close and then send it over HTTP.
> 
> I would like to start sending the recording to the remove server as soon as it starts (max 1 sec latency).
> mod_http_cache or mod_httapi would be perfect if they were streaming the recording like mod_shout.
> 
> 
> On Mon, Apr 4, 2016 at 8:50 PM, Sergey Safarov <s.safarov at gmail.com <mailto:s.safarov at gmail.com>> wrote:
> Input/output latency is not problem.  I use Kazoo on my servers and call recording is stored to database during 5 seconds after hangup.
> What is broken in your case if save file using webdav or http_cache?
> 
> 
> On Mon, Apr 4, 2016, 21:10 Vincent Gire <vincent.gire at gmail.com <mailto:vincent.gire at gmail.com>> wrote:
> Hello Sergey,
> 
> Thank you for your answer.
> I've looked into webdav mounted filesystem.
> 
> Unfortunately, most WebDav clients (especially davfs2 on debian) do a lot of buffering, caching and even lock-null requests (lock a non existent resource before writing to it). I also suspect that they wait for the end of the write operation.
> The result is a latency of a few seconds witch is not much better than what I achieve with mod_shout if I transcode the MP3.
> 
> Any other idea ?
> 
> Thank you !
> 
> Best regards
> 
> Vincent
> 
> On Sun, Apr 3, 2016 at 7:30 PM, Sergey Safarov <s.safarov at gmail.com <mailto:s.safarov at gmail.com>> wrote:
> Please look at webdav mounted filesystem.
> 
> 
> On Sun, Apr 3, 2016, 19:17 Vincent Gire <vincent.gire at gmail.com <mailto:vincent.gire at gmail.com>> wrote:
> Hi all,
> 
> Thank you to all contributing to FreeSWITCH !
> 
> I'm working on a IVR project where logic is implemented on a HTTP server.
> We are leaving Twilio because we now need to record and live stream the session to the HTTP server in WAV format (chunked transfer encoding).
> 
> mod_httapi looks great (HT TAPI very similar to Twilio's) but it seems that the records are first saved to disk before there are sent to the server as chunked data. 
> We need the transfer to start as soon as the recording starts.
> 
> mod_shout does start the request almost as the records starts but it does not support WAV file and shout:// is not exactly a HTTP request (SOURCE method instead of PUT).
> 
> Is there a way to use these modules to achieve our goal ?
> 
> If not, we are willing to author a specific module or rather contribute to the existing ones.
> 
> We've identified two approaches:
> From mod_httapi
> Modify mod_httapi to directly stream the record instead of completely saving it to disk before the HTTP chunked transfer starts.
> This seems the most logical but with more than 3000 lines, mod_httapi does not seem to be the easiest module to build upon for newcomers!
> 
> From mod_shout
> Modify libshoot to replace the custom SOURCE method with standard HTTP PUT method
> Modify mod_shout to support wav files
> Implement our IVR in script (javascript/lua)
> What do you think ?
> 
> Thank you for your help.
> 
> Cheers,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20160405/a4808f2d/attachment.html 


Join us at ClueCon 2016 Aug 8-12, 2016
More information about the FreeSWITCH-users mailing list