diff --git a/tech/development.wiki b/tech/development.wiki index ac6b861..9d6c4d0 100644 --- a/tech/development.wiki +++ b/tech/development.wiki @@ -6,6 +6,7 @@ * [[sdl2|SDL2]] - Simple Direct Media Layer (Low level X Windows and graphics) * [[libcurl|Libcurl]] - Curl the tool, but the API * [[periodictable|Periodic Table]] - Python periodic table +* [[ffmpeg]] - video/media library == Tools == diff --git a/tech/ffmpeg.wiki b/tech/ffmpeg.wiki index f924109..f32ca39 100644 --- a/tech/ffmpeg.wiki +++ b/tech/ffmpeg.wiki @@ -1,6 +1,6 @@ = FFmpeg = -Command line tool for working with video +Command line tool for working with video. Also a library This is just a collection of common tasks == Rencode as another video == @@ -19,4 +19,24 @@ All timestamps must be of format HH:MM:SS.xxx ffmpeg -i in.mp4 -ss 00:00:30.0 -c copy -t 00:00:10.0 out.mp4 }}} +== Library == + +The C library for ffmpeg has poor documentation. + +Movie files consist of several components in the FFMPEG model. + +- Container + - The file itself + - MKV, AVI, etc +- Streams + - Several streams in a container + - IE audio stream, video stream, subtitle stream, etc +- Frames + - Elements or samples of a stream +- Codec + - Define how data is encoded and decoded + - MP3, DivX, x264, etc +- Packets + - Bits of data in a stream that are decoded into raw frames + [[index]]