Code Monkey home page Code Monkey logo

elixir-media-libs's Introduction

Elixir Media Libs

The Elixir Media Libs is a collection of libraries and applications written in that that revolve around working with media.

This project currently contains the following systems:

  • amf0 - Library providing functionality for serializing and deserializing values with the AMF0 data format.
  • amf3 - INCOMPLETE Library providing functionality for serializing and deserializing values with the AMF3 data format.
  • flv - INCOMPLETE Library providing functionality for reading FLV media files and streams
  • rtmp - Library providing functionality for handling RTMP handshakes, protocol (de)serialization, and low level/expandable server handling (with client handling coming soon)
  • gen_rtmp_server - A generic behaviour for building your own custom RTMP server
  • simple_rtmp_server - An example RTMP server built upon the gen_rtmp_server library, for testing and reference purposes.
  • rtmp_reader_cli - A command line application for reading raw RTMP chunk byte streams from a file. Mostly utilized to debug input and output dumps generated from the raw I/O logging mechanisms of a rtmp_session.

elixir-media-libs's People

Contributors

kalldrexx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

elixir-media-libs's Issues

Creates video stream on the fly

Hi,

It's nice to check your project, hopefully can become BIG soon :)
By the way... I contact you through this, is not for any issue (I haven't try yours yet), but I do have a question regarding your project.

Currently I'm still learning elixir phoenix, I'm creating a simple video conference meeting site where each user can meet others and have a video conversations (more than 2 users).
I managed to push a stream of images (base64 png without voice) to a channel, and planning to push it to each joined sockets, so each user can received it and renders it on their browser using an img tag every 40 milliseconds (25fps) --> but this approach creates skip frames on browser other than Chrome.

I wonder if your library can receives a stream of image files and converts it on the fly to video stream (in memory not disk) so I can push it to joined sockets?

Thanks :)
P.S my project is in my repo here, named portal.

Actionscript error occurs on Wowza test player on playback

When viewing a stream on https://www.wowza.com/testplayers, an actionscript 3 error occurs.

I assume this is because Wowza's test players are expecting an AMF3 onMetaData message and I'm sending it as an AMF0 message (since its sending me AMF0 encoded commands wrapped in an AMF3 message type).

I'd probably have to add an extra 0x00 in front of the AMF0 encodings and have it adjust the type to 15 instead of 18, but only in these situations

How to use gen_rtmp_client?

Hi @KallDrexx, Thanks so much for making this library. I'm very impressed with your work. But I'm curious about how can we use the gen_rtmp_client? I see adopter_module but actually not yet understand it. If you can describe more, it will be helpful, thanks.

Create GenRtmpClient behaviour

There should be a GenRtmpClient behaviour that allows issuing connect, createstream, play, pause, closestream and publish commands, and allows sending and receiving audio/video data and metadata.

First iteration only requires one stream at a time.

This will include updating rtmp_session to successfully act as a client.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.