AstonJ
Video Streaming with Elixir/Erlang
Are there any Elixir or Erlang libraries that help with this? I’ve been thinking how streaming services like twitch have exploded recently, and wondered what they might be using for compression of the video before it is streamed.
Most Liked
maxlapshin
Hi, I’m author of erlyvideo and Flussonic, so let me tell a bit.
Yes, I was writing opensource video streaming code some time ago, but now I had to close it, because I was the only author and opensource didn’t work in my case.
Right now Flussonic is developed by a moderate team of programmers and other people.
Erlang shows itself very powerful when it comes to reading bytes from network, repacking them and sending forward. It is incomparable with C++ because there is no C++ program that has the same functionality. Java gives the same speed.
In Flussonic we have lot of code related to unpacking and packing containers, protocols, etc.
We do not opensource most of this part because it is very highly tighed with each other. Structure of our format-reading code is rather similar to libavformat.
Part that handles large payload is rather unique. Flussonic handles extremely large traffic: 1,5 gbit of input, 20 gbit of output, 10 gbit of disk reading.
Go is not required for this and on such speeds term “speed” changes its meaning. It is much more important to flexibly control your program then just to make a throughput.
Simple example: it is prohibited in Flussonic to send message or make gen_server:cast. Only gen_server:call, because it is very dangerous to disable flow control.
As it was properly written here: transcoding can be done only via libraries that are included into ffmpeg package. libx264 is one of the best modern softwares.
We do not put our code to opensource because it is useless and it can only hurt existing users: they rely on us, but we need to earn money to work.
If you are interested in some aspects — ask, I will try to answer.
andre1sk
generally everyone is using ffmpeg on encoding side I think more or less
there was erlyvideo but it seams it’s only available as commercial product http://flussonic.com/ now
We have not used erlyvideo but we did use flussonic to stream up to 20 Gbit/ sec of video was working well as far as I remember.
shavit
They are using FFMPEG:
If you don’t want live video, Phoenix can work almost out of the box for video on demand.
Popular in Discussions
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #elixirconf-us
- #advent-of-code
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #hex









