FreePBX Asterisk play local audio file on demand - asterisk

I have a working asterisk freepbn server running several conference call rooms. I would like to be able to play specific audio files from the server over the conference when selected from a simple interface (I'm thinking HTML) but have no idea where to start.
The rough plan is that in time critical conferences the leader could select audio files that remind people how long is left "15mins remaining ". Later I play to script the playback but for now I am wondering if this is possible.
Thanks for any help,
Andy

Avatar-like systems are quite complex solutions.
There are no easy way do that. Very likly need expert/guru help.
You can start reading from this articles
http://www.voip-info.org/wiki/view/Asterisk+channels
http://www.voip-info.org/wiki/view/asterisk+manager+events
http://www.voip-info.org/wiki/view/Asterisk+auto-dial+out+deliver+message

Related

What is the current best practice for synchronising streaming video between two clients? (Inter-destination multimedia synchronization)

For example, 3 users are streaming a video from a remote url. 1 user is master, and can play, pause, and set the current playback position. They are talking to each other while they watch (voip), so their video streams need to be synced.
A solution off the top of my head is that the master broadcasts high-level actions (play, stop, scrub position). For minor deviations, the clients could regularly ping the master to get his playback position, and to apply a speed factor to their playback to speed up or slow down to keep in sync.
I can find a few papers on the subject (eg, https://www.sciencedirect.com/science/article/pii/S0306437908000525, https://link.springer.com/article/10.1007/s00530-012-0278-9) but nothing in terms of example projects or community discussion.
Any guidance would be appreciated.
Synching video across clients is not easy but there are some examples.
This is an open source client based solution:
https://github.com/Syncplay/syncplay
And these are a couple of browser based ones:
https://pdfs.semanticscholar.org/c0bc/b42b63b6d88ebbb5fb4c6686662300d3611b.pdf
https://github.com/povdocs/sync-player
As you suggest some sort of feedback either to a master or to a synching server along with responses suggesting synch adjustments is the most frequent approach.

Video and Audio Chat Protocols/Frameworks

I've been doing some research in how to implement a server free, point-to-point video/audio chat (i.e., my own skype without text messaging).
I've been looking for ways to implement it and I had this next ideas:
A multithreaded c++ (cause I know some c++) program getting audio and video (with qt), sending it through 2 different UDP sockets and reading video and audio from 2 other different UDP sockets from the other 'point'. So I'll had to write the UDP server and client multithreaded with a sum of 4 threads: 2 for sending audio and video, other 2 to receive audio and video.
Writing my own protocol to enable video and audio in the same thread, something like parsing half of the packet data size for audio and video buffering, which would leave me with only 2 threads in the application and a lot more 'error prone' code to write.
I've been looking to some real time media protocols, and some of them looked interesting. Maybe study and implement interfaces to this protocols and use them instead of 'creating' my own.
Now, the actual question(s):
Are there some documentation on how to accomplish this? Maybe some 'state of the art' apis/protocols that are being used or well implemented/suited solutions for this problem?
If I choose to implement audio separated from video, is VoIP a possible solution to the audio connection?
Is Qt a good tool for this purpose? I never used Qt before, and for video and audio interfaces I also thought about openframeworks, so I was wondering if anyone has ever used one of this frameworks and if this is the right choice.
I know that my question has no code and that the range of possible answers is wide, but I really need some help here.
Thanks.
First, you should answer on question: How your clients should connect / authorize without server part?
Notes: 1) Skype has servers. 2) A lot of internet users are visiting web throught NAT / Proxy.
Ofc, you can try to implement something for learning proposes, but if you want to create something usefull - try thirdparty solutions that are created by specialists. For example: google libjingle.
You need VOIP library’s :)
There's no need to start from scratch you can use library’s opensource like: opalvoip

What percentage of home computers are awake at any given time?

If I am making a p2p file sharing application, I need to know how many regular home computers must I replicate a file on for it to be ALMOST ALWAYS available. Any idea?
It is very hard to evaluate, because it is not only a question of being awake, it is also a question of being reachable and of workload capacity and bandwidth. It is not because a PC has the file and that's it is online that it will be able to deliver the file (especially if it is a big file).
This kind of info is impossible to guess from a theoretical perspective. The best approach is to measure it from your live system. But, if you really need some estimation, an average user would open its PC between 7-9 AM and shut it down between 20-23 PM, with may be a couple of hours off during the day.
You may want to Google about P2P CHURN. There is some theory out there that could help you create some model, but honestly, in my experience, there is nothing like concrete/real data.

Need a free Application for network monitoring, traffic per port, and a weekly report

I would like to know if there's an open source application that can:
-Being open-source (obviously free, no cost at all)
-Check which ports are being used and check the bandwith used by each of them.
-Based on requirements above create a weekly report. With details of each prt per day and time specifications.
I have read about Ethereal for the Network Monitoring and JasperReports for the Report-creation-stage, but haven't gone much on details yet..
If my specifications cannot be met with a free app then I would like to say that I could work with Java to check which ports are being used, but I still don't know if Java could handle ALL the requirements... please, I would really like to have an answer for that.. Because I could start working on it right now but I want to be sure Java can have everything covered.
PD: If Java can't be a solution what would you suggest?
suggestions for you:
Colasoft Capsa Free: http://www.colasoft.com
Spiceworks: new user, cannot give link.
Or google: free traffic monitor

Is it possible to downsample an audio stream at runtime with Flash or FMS?

I'm no expert in audio, so if any of you folks are, I'd appreciate your insights on this.
My client has a handful of MP3 podcasts stored at a relatively high bit rate, and I'd like to be able to serve those files to her users at "different" bit rates depending on that user's credentials. (For example, if you're an authenticated user, you might get the full, unaltered stream, but if you're not, you'd get a lower-bit-rate version -- or at least a purposely tweaked lower-quality version than the original.)
Seems like there are two options: downsampling at the source and downsampling at the client. In this case, knowing of course that the source stream would arrive at the client at a high bit rate (and that there are considerations to be made about that, which I realize), I'd prefer to alter the stream at the client somehow, rather than on the server, for several reasons.
Is doing so possible with the Flash Player and ActionScript alone, at runtime (even with a third-party library), or does a scenario like this one require a server-based solution? If the latter, can Flash Media Server handle this requirement specifically? Again, I'd like to avoid using FMS if I can, since she doesn't really have the budget for it, but if that's the only option and it's really an option, I'm open to considering it.
Thanks in advance...
Note: Please don't question the sanity of the request -- I realize it might sound a bit strange, but the requirements are what they are. In that light, for purposes of answering the question, you can ignore the source and delivery path of the bits; all I'm really looking for is an explanation of whether (and ideally how) a Flash client can downsample an MP3 audio stream at runtime, irrespective of whether the audio's arriving over a network connection or being read directly from disk. Thanks much!
I'd prefer to alter the stream at the client somehow, rather than on the server, for several reasons.
Please elucidate the reasons, because resampling on the client end would normally be considered crazy: wasting bandwidth sending the higher-quality version to a user who cannot hear it, and risking a canny user ripping the higher-quality stream at it comes in through the network.
In any case the Flash Player doesn't give you the tools to process audio, only play it.
You shouldn't need FMS to process audio at the server end. You could have a server-side script that loaded the newly-uploaded podcasts and saved them back out as lower-bitrate files which could be served to lowly users via a normal web server. For Python see eg. PyMedia, py-lame; or even a shell script using lame or ffmpeg or something from the command line should be pretty easy to pull off.
If storage is at a premium, have you looked into AAC audio? I believe Flash 9 and 10 on desktop browsers will play it. AAC in my experience takes only half of the size of the comparable MP3 (i.e. a 80kbps AAC will sound the same as a 160kbps MP3).
As for playback quality, if I recall correctly there's audio playback settings in the Publish Settings section in the Flash editor. Wether or not the playback bitrate can be changed at runtime is something I'm not sure of.

Resources