FFmpeg - Multimedia Hacking for the Masses
Transcript of FFmpeg - Multimedia Hacking for the Masses
FFmpeg - Multimedia hacking for the masses
FFmpeg - Multimedia hacking for the masses
Jai Menon
September 30, 2009
1 / 12
FFmpeg - Multimedia hacking for the masses
Outline
Outline
1 IntroductionHistoryCurrent Status
2 FeaturesCodec Layer — LibavcodecContainer Layer — Libavformat
3 Projects using FFmpegProjects using FFmpeg
4 QuestionsQuestions
2 / 12
FFmpeg - Multimedia hacking for the masses
Introduction
Outline
1 IntroductionHistoryCurrent Status
2 FeaturesCodec Layer — LibavcodecContainer Layer — Libavformat
3 Projects using FFmpegProjects using FFmpeg
4 QuestionsQuestions
3 / 12
FFmpeg - Multimedia hacking for the masses
Introduction
History
History
Started by Fabrice Bellard in 2000.
Began with the aim of creating fast/efficient open sourceimplementations of popular multimedia formats.
Licensed under LGPL 2.1 (or later)
4 / 12
FFmpeg - Multimedia hacking for the masses
Introduction
History
History
Started by Fabrice Bellard in 2000.
Began with the aim of creating fast/efficient open sourceimplementations of popular multimedia formats.
Licensed under LGPL 2.1 (or later)
4 / 12
FFmpeg - Multimedia hacking for the masses
Introduction
History
History
Started by Fabrice Bellard in 2000.
Began with the aim of creating fast/efficient open sourceimplementations of popular multimedia formats.
Licensed under LGPL 2.1 (or later)
4 / 12
FFmpeg - Multimedia hacking for the masses
Introduction
Current Status
Current Status
Primary Maintainer and Guru — Michael Niedermayer.
Mostly independent of MPlayer, even though most developerswork on both projects.
5 / 12
FFmpeg - Multimedia hacking for the masses
Introduction
Current Status
Current Status
Primary Maintainer and Guru — Michael Niedermayer.
Mostly independent of MPlayer, even though most developerswork on both projects.
5 / 12
FFmpeg - Multimedia hacking for the masses
Features
Outline
1 IntroductionHistoryCurrent Status
2 FeaturesCodec Layer — LibavcodecContainer Layer — Libavformat
3 Projects using FFmpegProjects using FFmpeg
4 QuestionsQuestions
6 / 12
FFmpeg - Multimedia hacking for the masses
Features
Codec Layer — Libavcodec
Codec Layer — Libavcodec
Supports a multitude of formats
Mainstream formats - Mpeg 1/2/4 Video, H.264Proprietary Formats (through collaborative ReverseEngineering)
RV30/40, WMA, WMV, Apple Lossless, VP3/5/6 and a lotmore....
Misc. codecs like Theora.Game Formats
Bink, Smacker and more, again through RE efforts.
Highly optimized DSP code for most microarchitectures.
In house codecs — FFV1 and Snow.
7 / 12
FFmpeg - Multimedia hacking for the masses
Features
Codec Layer — Libavcodec
Codec Layer — Libavcodec
Supports a multitude of formats
Mainstream formats - Mpeg 1/2/4 Video, H.264
Proprietary Formats (through collaborative ReverseEngineering)
RV30/40, WMA, WMV, Apple Lossless, VP3/5/6 and a lotmore....
Misc. codecs like Theora.Game Formats
Bink, Smacker and more, again through RE efforts.
Highly optimized DSP code for most microarchitectures.
In house codecs — FFV1 and Snow.
7 / 12
FFmpeg - Multimedia hacking for the masses
Features
Codec Layer — Libavcodec
Codec Layer — Libavcodec
Supports a multitude of formats
Mainstream formats - Mpeg 1/2/4 Video, H.264Proprietary Formats (through collaborative ReverseEngineering)
RV30/40, WMA, WMV, Apple Lossless, VP3/5/6 and a lotmore....
Misc. codecs like Theora.Game Formats
Bink, Smacker and more, again through RE efforts.
Highly optimized DSP code for most microarchitectures.
In house codecs — FFV1 and Snow.
7 / 12
FFmpeg - Multimedia hacking for the masses
Features
Codec Layer — Libavcodec
Codec Layer — Libavcodec
Supports a multitude of formats
Mainstream formats - Mpeg 1/2/4 Video, H.264Proprietary Formats (through collaborative ReverseEngineering)
RV30/40, WMA, WMV, Apple Lossless, VP3/5/6 and a lotmore....
Misc. codecs like Theora.Game Formats
Bink, Smacker and more, again through RE efforts.
Highly optimized DSP code for most microarchitectures.
In house codecs — FFV1 and Snow.
7 / 12
FFmpeg - Multimedia hacking for the masses
Features
Codec Layer — Libavcodec
Codec Layer — Libavcodec
Supports a multitude of formats
Mainstream formats - Mpeg 1/2/4 Video, H.264Proprietary Formats (through collaborative ReverseEngineering)
RV30/40, WMA, WMV, Apple Lossless, VP3/5/6 and a lotmore....
Misc. codecs like Theora.
Game Formats
Bink, Smacker and more, again through RE efforts.
Highly optimized DSP code for most microarchitectures.
In house codecs — FFV1 and Snow.
7 / 12
FFmpeg - Multimedia hacking for the masses
Features
Codec Layer — Libavcodec
Codec Layer — Libavcodec
Supports a multitude of formats
Mainstream formats - Mpeg 1/2/4 Video, H.264Proprietary Formats (through collaborative ReverseEngineering)
RV30/40, WMA, WMV, Apple Lossless, VP3/5/6 and a lotmore....
Misc. codecs like Theora.Game Formats
Bink, Smacker and more, again through RE efforts.
Highly optimized DSP code for most microarchitectures.
In house codecs — FFV1 and Snow.
7 / 12
FFmpeg - Multimedia hacking for the masses
Features
Codec Layer — Libavcodec
Codec Layer — Libavcodec
Supports a multitude of formats
Mainstream formats - Mpeg 1/2/4 Video, H.264Proprietary Formats (through collaborative ReverseEngineering)
RV30/40, WMA, WMV, Apple Lossless, VP3/5/6 and a lotmore....
Misc. codecs like Theora.Game Formats
Bink, Smacker and more, again through RE efforts.
Highly optimized DSP code for most microarchitectures.
In house codecs — FFV1 and Snow.
7 / 12
FFmpeg - Multimedia hacking for the masses
Features
Codec Layer — Libavcodec
Codec Layer — Libavcodec
Supports a multitude of formats
Mainstream formats - Mpeg 1/2/4 Video, H.264Proprietary Formats (through collaborative ReverseEngineering)
RV30/40, WMA, WMV, Apple Lossless, VP3/5/6 and a lotmore....
Misc. codecs like Theora.Game Formats
Bink, Smacker and more, again through RE efforts.
Highly optimized DSP code for most microarchitectures.
In house codecs — FFV1 and Snow.
7 / 12
FFmpeg - Multimedia hacking for the masses
Features
Codec Layer — Libavcodec
Codec Layer — Libavcodec
Supports a multitude of formats
Mainstream formats - Mpeg 1/2/4 Video, H.264Proprietary Formats (through collaborative ReverseEngineering)
RV30/40, WMA, WMV, Apple Lossless, VP3/5/6 and a lotmore....
Misc. codecs like Theora.Game Formats
Bink, Smacker and more, again through RE efforts.
Highly optimized DSP code for most microarchitectures.
In house codecs — FFV1 and Snow.
7 / 12
FFmpeg - Multimedia hacking for the masses
Features
Container Layer — Libavformat
Container Layer — Libavformat
Aims to support all prominent media containers
MPEG PS, TS and variantsMatroskaProprietary Formats like TiVo, RED R3d etc.Game Formats
Also includes a very flexible network streaming and subtitleframework.
8 / 12
FFmpeg - Multimedia hacking for the masses
Features
Container Layer — Libavformat
Container Layer — Libavformat
Aims to support all prominent media containers
MPEG PS, TS and variants
MatroskaProprietary Formats like TiVo, RED R3d etc.Game Formats
Also includes a very flexible network streaming and subtitleframework.
8 / 12
FFmpeg - Multimedia hacking for the masses
Features
Container Layer — Libavformat
Container Layer — Libavformat
Aims to support all prominent media containers
MPEG PS, TS and variantsMatroska
Proprietary Formats like TiVo, RED R3d etc.Game Formats
Also includes a very flexible network streaming and subtitleframework.
8 / 12
FFmpeg - Multimedia hacking for the masses
Features
Container Layer — Libavformat
Container Layer — Libavformat
Aims to support all prominent media containers
MPEG PS, TS and variantsMatroskaProprietary Formats like TiVo, RED R3d etc.
Game Formats
Also includes a very flexible network streaming and subtitleframework.
8 / 12
FFmpeg - Multimedia hacking for the masses
Features
Container Layer — Libavformat
Container Layer — Libavformat
Aims to support all prominent media containers
MPEG PS, TS and variantsMatroskaProprietary Formats like TiVo, RED R3d etc.Game Formats
Also includes a very flexible network streaming and subtitleframework.
8 / 12
FFmpeg - Multimedia hacking for the masses
Features
Container Layer — Libavformat
Container Layer — Libavformat
Aims to support all prominent media containers
MPEG PS, TS and variantsMatroskaProprietary Formats like TiVo, RED R3d etc.Game Formats
Also includes a very flexible network streaming and subtitleframework.
8 / 12
FFmpeg - Multimedia hacking for the masses
Projects using FFmpeg
Outline
1 IntroductionHistoryCurrent Status
2 FeaturesCodec Layer — LibavcodecContainer Layer — Libavformat
3 Projects using FFmpegProjects using FFmpeg
4 QuestionsQuestions
9 / 12
FFmpeg - Multimedia hacking for the masses
Projects using FFmpeg
Projects using FFmpeg
Projects using FFmpeg
FFdshow
Windows port of (parts) of the FFmpeg codeBecame quite popular in the windows world and still is fromwhat we hear ;)
Perian
Quicktime component which is similar to FFDshow in itsintent and allows native playback support for a lot of medianot playable out-of-the-box through Qt on MacOS.
Most A/V players (both open as well as commercial)
MPlayer :)The Videolan projectMythTVRockboxXmms2insert your favorite player here
Youtube
10 / 12
FFmpeg - Multimedia hacking for the masses
Projects using FFmpeg
Projects using FFmpeg
Projects using FFmpeg
FFdshowWindows port of (parts) of the FFmpeg code
Became quite popular in the windows world and still is fromwhat we hear ;)
Perian
Quicktime component which is similar to FFDshow in itsintent and allows native playback support for a lot of medianot playable out-of-the-box through Qt on MacOS.
Most A/V players (both open as well as commercial)
MPlayer :)The Videolan projectMythTVRockboxXmms2insert your favorite player here
Youtube
10 / 12
FFmpeg - Multimedia hacking for the masses
Projects using FFmpeg
Projects using FFmpeg
Projects using FFmpeg
FFdshowWindows port of (parts) of the FFmpeg codeBecame quite popular in the windows world and still is fromwhat we hear ;)
Perian
Quicktime component which is similar to FFDshow in itsintent and allows native playback support for a lot of medianot playable out-of-the-box through Qt on MacOS.
Most A/V players (both open as well as commercial)
MPlayer :)The Videolan projectMythTVRockboxXmms2insert your favorite player here
Youtube
10 / 12
FFmpeg - Multimedia hacking for the masses
Projects using FFmpeg
Projects using FFmpeg
Projects using FFmpeg
FFdshowWindows port of (parts) of the FFmpeg codeBecame quite popular in the windows world and still is fromwhat we hear ;)
Perian
Quicktime component which is similar to FFDshow in itsintent and allows native playback support for a lot of medianot playable out-of-the-box through Qt on MacOS.
Most A/V players (both open as well as commercial)
MPlayer :)The Videolan projectMythTVRockboxXmms2insert your favorite player here
Youtube
10 / 12
FFmpeg - Multimedia hacking for the masses
Projects using FFmpeg
Projects using FFmpeg
Projects using FFmpeg
FFdshowWindows port of (parts) of the FFmpeg codeBecame quite popular in the windows world and still is fromwhat we hear ;)
PerianQuicktime component which is similar to FFDshow in itsintent and allows native playback support for a lot of medianot playable out-of-the-box through Qt on MacOS.
Most A/V players (both open as well as commercial)
MPlayer :)The Videolan projectMythTVRockboxXmms2insert your favorite player here
Youtube
10 / 12
FFmpeg - Multimedia hacking for the masses
Projects using FFmpeg
Projects using FFmpeg
Projects using FFmpeg
FFdshowWindows port of (parts) of the FFmpeg codeBecame quite popular in the windows world and still is fromwhat we hear ;)
PerianQuicktime component which is similar to FFDshow in itsintent and allows native playback support for a lot of medianot playable out-of-the-box through Qt on MacOS.
Most A/V players (both open as well as commercial)
MPlayer :)The Videolan projectMythTVRockboxXmms2insert your favorite player here
Youtube
10 / 12
FFmpeg - Multimedia hacking for the masses
Projects using FFmpeg
Projects using FFmpeg
Projects using FFmpeg
FFdshowWindows port of (parts) of the FFmpeg codeBecame quite popular in the windows world and still is fromwhat we hear ;)
PerianQuicktime component which is similar to FFDshow in itsintent and allows native playback support for a lot of medianot playable out-of-the-box through Qt on MacOS.
Most A/V players (both open as well as commercial)MPlayer :)
The Videolan projectMythTVRockboxXmms2insert your favorite player here
Youtube
10 / 12
FFmpeg - Multimedia hacking for the masses
Projects using FFmpeg
Projects using FFmpeg
Projects using FFmpeg
FFdshowWindows port of (parts) of the FFmpeg codeBecame quite popular in the windows world and still is fromwhat we hear ;)
PerianQuicktime component which is similar to FFDshow in itsintent and allows native playback support for a lot of medianot playable out-of-the-box through Qt on MacOS.
Most A/V players (both open as well as commercial)MPlayer :)The Videolan project
MythTVRockboxXmms2insert your favorite player here
Youtube
10 / 12
FFmpeg - Multimedia hacking for the masses
Projects using FFmpeg
Projects using FFmpeg
Projects using FFmpeg
FFdshowWindows port of (parts) of the FFmpeg codeBecame quite popular in the windows world and still is fromwhat we hear ;)
PerianQuicktime component which is similar to FFDshow in itsintent and allows native playback support for a lot of medianot playable out-of-the-box through Qt on MacOS.
Most A/V players (both open as well as commercial)MPlayer :)The Videolan projectMythTV
RockboxXmms2insert your favorite player here
Youtube
10 / 12
FFmpeg - Multimedia hacking for the masses
Projects using FFmpeg
Projects using FFmpeg
Projects using FFmpeg
FFdshowWindows port of (parts) of the FFmpeg codeBecame quite popular in the windows world and still is fromwhat we hear ;)
PerianQuicktime component which is similar to FFDshow in itsintent and allows native playback support for a lot of medianot playable out-of-the-box through Qt on MacOS.
Most A/V players (both open as well as commercial)MPlayer :)The Videolan projectMythTVRockbox
Xmms2insert your favorite player here
Youtube
10 / 12
FFmpeg - Multimedia hacking for the masses
Projects using FFmpeg
Projects using FFmpeg
Projects using FFmpeg
FFdshowWindows port of (parts) of the FFmpeg codeBecame quite popular in the windows world and still is fromwhat we hear ;)
PerianQuicktime component which is similar to FFDshow in itsintent and allows native playback support for a lot of medianot playable out-of-the-box through Qt on MacOS.
Most A/V players (both open as well as commercial)MPlayer :)The Videolan projectMythTVRockboxXmms2
insert your favorite player here
Youtube
10 / 12
FFmpeg - Multimedia hacking for the masses
Projects using FFmpeg
Projects using FFmpeg
Projects using FFmpeg
FFdshowWindows port of (parts) of the FFmpeg codeBecame quite popular in the windows world and still is fromwhat we hear ;)
PerianQuicktime component which is similar to FFDshow in itsintent and allows native playback support for a lot of medianot playable out-of-the-box through Qt on MacOS.
Most A/V players (both open as well as commercial)MPlayer :)The Videolan projectMythTVRockboxXmms2insert your favorite player here
Youtube
10 / 12
FFmpeg - Multimedia hacking for the masses
Projects using FFmpeg
Projects using FFmpeg
Projects using FFmpeg
FFdshowWindows port of (parts) of the FFmpeg codeBecame quite popular in the windows world and still is fromwhat we hear ;)
PerianQuicktime component which is similar to FFDshow in itsintent and allows native playback support for a lot of medianot playable out-of-the-box through Qt on MacOS.
Most A/V players (both open as well as commercial)MPlayer :)The Videolan projectMythTVRockboxXmms2insert your favorite player here
Youtube10 / 12
FFmpeg - Multimedia hacking for the masses
Questions
Outline
1 IntroductionHistoryCurrent Status
2 FeaturesCodec Layer — LibavcodecContainer Layer — Libavformat
3 Projects using FFmpegProjects using FFmpeg
4 QuestionsQuestions
11 / 12
FFmpeg - Multimedia hacking for the masses
Questions
Questions
Questions
?
12 / 12