Giter Site home page Giter Site logo

louisyoo / feng Goto Github PK

View Code? Open in Web Editor NEW

This project forked from lscube/feng

0.0 2.0 0.0 3.55 MB

Standard Streaming Server

License: GNU Lesser General Public License v2.1

Python 0.53% Shell 1.55% Makefile 0.03% C 87.95% XSLT 9.19% Ragel in Ruby Host 0.33% Awk 0.42%

feng's Introduction

Feng - standard compliant streaming server

+ What is feng?

Feng is a multimedia streaming server compliant with the IETF's standards for real-time streaming of multimedia content over Internet. Feng implements RTSP ¿ Real-Time Streaming Protocol (rfc2326) and RTP/RTCP ¿ Real-Time Transport Protocol/RTP Control Protocol (rfc3550) supporting the RTP Profile for Audio and Video Conferences with Minimal Control (rfc3551).

Feng supports the following encoding standards:

    * Audio
          o MPEG Audio (MPEG-1/2 Layer I/II/III) (rfc2250)
          o Vorbis (draft)
          o AAC (MPEG-4 Part 3) (rfc3640)

    * Video
          o MPEG Video (MPEG-1/2) (rfc2250)
          o MPEG 4 Visual (MPEG-4 Part 2) (rfc3016)
          o H.264 (MPEG-4 Part 10) (rfc3984)
          o H.263 / H.263+ (rfc4629)
          o VP8 (draft)
          o Theora (draft)

The main characteristics of Feng are the container support, the ability to handle seeking, also used internally for the compositor metademuxer, and the modular structure focused on easing the extension of codec and protocol support.

+ Usage

The simplest way to test feng is just adding a resource by putting it in the
feng root (usually /var/feng/avroot or /srv/feng/avroot/, you can change it in
the configuration file) and running feng from command line.
Feng by default will listen for incoming rtsp connection on the
port 554, serving the content matching the requested resources if available.

$ $EDITOR /etc/feng.conf

$ cp myfile.mov /var/feng/avroot

$ feng &

$ mplayer rtsp://localhost/myfile.mov

+ Advanced usage

++ Daemon mode

For a full deployment it's advised to use start-stop-daemon as shown below or
prepare initscripts for your specific distribution.

# starting the daemon, messages to the system logging facility
$ start-stop-daemon --start --quiet --background --make-pidfile \
                    --pidfile /var/run/feng.pid \
                    --exec /usr/bin/feng -- -s

# stopping the daemon
$ start-stop-daemon --stop -p /var/run/feng.pid

++ Metademuxer
Feng container layer provides a powerful infrastructure to enable customized
stream management. Currently there are two examples provided.

+++ ds - compositor metademuxer
The compositor metademuxer handles lists (see the examples provided in the avroot directory) of coherent resources (same encoding, same resolution, same streams number presents) allowing the creation of resources made out of the files/excerpts aggregation.

+++ live/sd
The sd metademuxer is present as backward compatibility with fenice, it has the very same limitation of fenice's streaming support (lack of seek, requires many informations) and should not be used if possible.

Please refer to the man page for further information.

+ Bug reports

Please use our bug tracker accessible at http://bugs.lscube.org using feng as
the Topic.

feng's People

Contributors

flameeyes avatar lu-zero avatar mstorsjo avatar vipw avatar monkey-jsun avatar io41 avatar

Watchers

James Cloos avatar  avatar

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.