<div dir="ltr"><div class="gmail_extra">No, external port is not an easy thing.</div><div class="gmail_extra"><br></div><div class="gmail_extra">I've tried to do so, but stopped: too many work is done in C around packing/unpacking logic and commands. It is much easier to write small C code in C and wrapper in erlang: video is decoded to plain binaries, then coded back into binaries.</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">Everything is running in a separate node. So transcoder node is a separate unix process with all it's threads. Different streams are transcoded in different processes.</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">Steve, thanks for the explanation. I didn't knew how many dirty threads are there.  There is flag: CPU or IO bound nif. How does this flag affects scheduling?</div>
</div>