FFmpeg Library – Video and Audio Converter
FFmpeg is a wonderful library for creating video applications or even general purpose utilities. FFmpeg takes care of all the hard work of video processing by doing all the decoding, encoding, muxing and demuxing for you. This can make media applications much simpler to write.
It’s simple, written in C, fast, and can decode almost any codec you’ll find in use today, as well as encode several other formats. FFmpeg is a very fast video and audio converter. It can also grab from a live audio/video source. It can also convert from any sample rate to any other, and resize video on the fly with a high-quality polyphase filter. FFmpeg is basically a computer program that can record, convert and stream digital audio and video in numerous formats. It is a command line tool that is composed of a collection of free software / open source libraries. It includes libavcodec, an audio/video codec library used by several other projects, and libavformat, an audio/video container mux and demux library. The name of the project comes from the MPEG video standards group, together with “FF” for “fast forward”.
An Insight
FFmpeg is developed under Linux, but it can be compiled under most operating systems, including Apple Inc. Mac OS X, Microsoft Windows and AmigaOS. The command line interface is designed to be intuitive, in the sense that FFmpeg tries to figure out all parameters that can possibly be derived automatically. You usually only have to specify the target bitrate you want. The generic syntax is: ffmpeg [[infile options][`-i’ infile]]… {[outfile options] outfile}…
The project is made of several components:
- ffmpeg is a command line tool to convert one video file format to another. It can also grab and encode in real time from a TV card.
- ffserver is an HTTP and RTSP multimedia streaming server for live broadcasts. It can also time shift live broadcast.
- 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 performance and high code reusability.
- libavformat is a library containing demuxers and muxers for audio/video container formats.
- libavutil is a helper library containing routines common to different parts of FFmpeg. This library include adler32, crc, md5, sha1, lzo decompressor, Base64 encoder/decoder, des encrypter/decrypter, rc4 encrypter/decrypter and aes encrypter/decrypter.
- libpostproc is a library containing video postprocessing routines.
- libswscale is a library containing video image scaling routines.
- libavfilter is the substitute for vhook which allows the video to be modified or examined between the decoder and the encoder.
Major use over the Internet:
FFmpeg Hosting or ffmpeg webhosting is special hosting for online video sharing websites. FFmpeg converts video to .flv format or any other video format. With FFmpeg web hosting you can create powerful online video sharing websites just like YouTube. FFmpeg is used by many open source projects, including VLC, MPlayer, Handbrake, Google Chrome.
Multimedia frameworks using FFmpeg
- DirectShow/VFW: ffdshow (external project)
- QuickTime: Perian (external project)
- GStreamer: GStreamer FFmpeg plug-in (external project)
Advantages of using FFmpeg
- Commandline driven
- Many options
- Multi-platform, free, source available
Disadvantages of using FFmpeg
- Does not ensure bitrate consistency across a set of files. So a set of AVI files produced from a set of VOB files cannot be merged into a single AVI.
- The latest version available at Sourceforge (strangely) predates the version bundled with gui4ffmpeg. Currently, the version available on Sourceforge does not support the “-vtag xvid” option. So users are stuck with Windows if they want to run the latest.
- According to rumor, the codec does not accurately compress at the bitrate requested by the user.
To conclude, FFmpeg is a free and open-source project consisting of a vast software suite of libraries and programs for handling video, audio, and other multimedia files. It is an efficient and fast video and audio converter. It can also record, convert and stream in various formats digital audio and video.
Give exposure to your content on the RedAlkemi blog! Click here to write a blog post for us. Or write to us at redalkemi.blog@gmail.com to publish your guest post or request a link exchange on the RedAlkemi blog.