FFmpeg is a complete solution to record, convert and stream audio and video. It includes libavcodec, the leading audio/video codec library. FFmpeg is developed under Linux, but it can compiled under most operating systems, including Windows.
The project is made of several components:
- ffmpeg is a command line tool to convert one video file format to another. It also supports grabbing and encoding in real time from a TV card.
- ffserver is an HTTP (RTSP is being developed) multimedia streaming server for live broadcasts. Time shifting of live broadcast is also supported.
- ffplay is a simple media player based on SDL and on the FFmpeg libraries.
- libavcodec is a library containing all the FFmpeg audio/video encoders and decoders. Most codecs were developed from scratch to ensure best performances and high code reusability.
- libavformat is a library containing parsers and generators for all common audio/video formats.
All major media sharing websites i.e. YouTube use this technology for media sharing. Any video format can be converted and streamed to flv output.