[erlang-questions] Real time audio transcoding with a port driver

Dan Bender danbenderr@REDACTED
Tue Jul 2 10:41:17 CEST 2013


When you suggest using libav, do you mean something like the following?
https://github.com/libav/libav/blob/master/libavcodec/api-example.c

Using a port driver per stream will not scale?

Is there an example for using async threads to do a similar task?
Will my transcoding compete with file I/O because they are using the same
threads?
How do I know how many threads to use?

Why not use NIF?
Encoding/decoding a single frame will probably take about 3ms.
If the NIF will bump reductions, will this be ok?




On Mon, Jul 1, 2013 at 5:52 PM, Max Lapshin <max.lapshin@REDACTED> wrote:

> You have following choices:
>
> 1) start program based on libav, one per stream and speak with it via
> port. You cannot use avconv directly because it will be
> unmaintainable.
> 2) launch driver based on libav and schedule transcoding to async threads
> 3) transcode in NIF.
>
> I think that if you have really hundreds of streams, than 2-nd choice
> is best, because it is much better to schedule 20-40 threads than 400
> processes.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20130702/23907935/attachment.htm>


More information about the erlang-questions mailing list