FFmpeg چیست؟
بی شک برای کار با ویدیو، بهترین ابزار موجود برای یک برنامهنویس FFmpeg است. کارهایی نظیر ویرایش، اضافه کردن زیرنویس، دانلود یک stream (مثلا یوتیوب یا نماوا و فیلیمو و …)، بریدن، فیلترهای پردازش تصویری، ویرایش صدا، تغییر فرمت و کدک و … را میتوان به صورت برنامه نویسی با این ابزار انجام داد.
FFmpeg یک پروژه نرمافزاری رایگان و متنباز است که از مجموعهای از کتابخانهها و برنامهها برای مدیریت فایلها و جریانهای چندرسانهای ویدیو، صدا و سایر فایلها تشکیل شده است. این ابزار با زبان برنامه نویسی C توسعه داده شده است، اما میتوان به صورت خط فرمان در سیستمعامل های مختلف نظیر لینوکس و ویندوز و همچنین در زبانهای برنامه نویسی مختلف نظیر python از آن استفاده کرد.
در هسته آن، خود ابزار خط فرمان ffmpeg است که برای پردازش فایلهای ویدیویی و صوتی طراحی شده است. این ابزار به طور گسترده ای برای رمزگذاری فرمت، ویرایش اولیه (ترمیم و الحاق)، مقیاس بندی ویدئو، جلوه های پس از تولید ویدئو و انطباق با استانداردها (SMPTE، ITU) استفاده میگردد.
FFmpeg همچنین شامل ابزارهای دیگری نظیر ffplay و ffprobe نیز است. ffplay، پخش کننده رسانهی ساده و ffprobe، ابزار خط فرمان برای نمایش اطلاعات یک رسانه (media) است.
از جمله کتابخانههای موجود میتوان به libavcodec، که یک کتابخانه کدک صوتی/تصویری که توسط بسیاری از محصولات نرمافزار آزاد و تجاری استفاده میشود نیز اشاره کرد.
FFmpeg در بسیاری از پروژههای نرمافزاری بزرگ دیگر استفاده شده است. برای مثال مدیاپلیر معروف VLC از این کتابخانه استفاده میکند یا در پردازشهای سایت هایی نظیر YouTube و Bilibili گنجانده شده است.
ابزارهای Command line
- ffmpeg is a command-line tool that converts audio or video formats. It can also capture and encode in real-time from various hardware and software sources such as a TV capture card.
- ffplay is a simple media player utilizing SDL and the FFmpeg libraries.
- ffprobe is a command-line tool to display media information (text, CSV, XML, JSON), see also Mediainfo.
کتابخانه ها
- libswresample is a library containing audio resampling routines.
- libavresample is a library containing audio resampling routines from the Libav project, similar to libswresample from ffmpeg.
- libavcodec is a library containing all of the native FFmpeg audio/video encoders and decoders. Most codecs were developed from scratch to ensure best performance and high code reusability.
- libavformat (Lavf)[8] 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 includes hash functions, ciphers, LZO decompressor and Base64 encoder/decoder.
- libpostproc is a library containing older H.263 based video postprocessing routines.
- libswscale is a library containing video image scaling and colorspace/pixelformat conversion routines.
- libavfilter is the substitute for vhook which allows the video/audio to be modified or examined between the decoder and the encoder. Filters have been ported from many projects including MPlayer and avisynth.
- libavdevice is a library containing audio/video io through internal and external devices.
دیدگاهتان را بنویسید