{"id":13492685,"url":"https://github.com/stoyanovgeorge/ffmpeg","last_synced_at":"2025-03-28T10:32:47.488Z","repository":{"id":214239205,"uuid":"91546541","full_name":"stoyanovgeorge/ffmpeg","owner":"stoyanovgeorge","description":"Automated scripts for installation of ffmpeg and its most popular libraries from source under Ubuntu and a detailed wiki containing a lot of hints and tricks for ffmpeg.","archived":false,"fork":false,"pushed_at":"2020-02-26T10:32:29.000Z","size":70,"stargazers_count":137,"open_issues_count":2,"forks_count":19,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-10-31T06:35:05.214Z","etag":null,"topics":["compilation","ffmpeg","source","ubuntu"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stoyanovgeorge.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2017-05-17T07:28:25.000Z","updated_at":"2024-08-29T19:39:11.000Z","dependencies_parsed_at":"2023-12-26T21:28:12.881Z","dependency_job_id":null,"html_url":"https://github.com/stoyanovgeorge/ffmpeg","commit_stats":null,"previous_names":["stoyanovgeorge/ffmpeg"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stoyanovgeorge%2Fffmpeg","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stoyanovgeorge%2Fffmpeg/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stoyanovgeorge%2Fffmpeg/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stoyanovgeorge%2Fffmpeg/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stoyanovgeorge","download_url":"https://codeload.github.com/stoyanovgeorge/ffmpeg/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246012768,"owners_count":20709509,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["compilation","ffmpeg","source","ubuntu"],"created_at":"2024-07-31T19:01:08.281Z","updated_at":"2025-03-28T10:32:47.191Z","avatar_url":"https://github.com/stoyanovgeorge.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"# Automated FFMPEG Compilation script for Ubuntu\n\nBefore Proceeding with the FFMPEG compilation script, please make sure the check the [Wiki](https://github.com/stoyanovgeorge/ffmpeg/wiki \"Wiki\") section for different usage examples of FFMPEG. Another good source of information is the [Ubuntu compilation guide for FFMPEG](https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu)\n\nAutomated scripts for compilation of [FFMPEG v.4.1](https://ffmpeg.org/ \"FFMPEG Official Page\") and its most popular librarires for Ubuntu based systems. The script is tested and working on Ubuntu 16.04 LTS Xenial Xerus and Ubuntu 18.04 LTS Bionic Beaver. After compilation the FFMPEG configuration should be:\n\n```\nffmpeg version 4.1 Copyright (c) 2000-2018 the FFmpeg developers\n  built with gcc 7 (Ubuntu 7.3.0-27ubuntu1~18.04)\n  configuration: --pkg-config-flags=--static --extra-libs='-lpthread -lm' --toolchain=hardened --enable-gpl --enable-nonfree --enable-version3 --disable-stripping --enable-avisynth --enable-libass --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-librubberband --enable-libshine --enable-libsnappy --enable-libssh --enable-libtwolame --enable-libwavpack --enable-libzvbi --enable-openal --enable-sdl2 --enable-libdrm --enable-frei0r --enable-ladspa --enable-libpulse --enable-libsoxr --enable-libspeex --enable-avfilter --enable-postproc --enable-pthreads --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --disable-ffplay --enable-libopenjpeg --enable-libsrt --enable-libwebp --enable-libxvid --enable-libvidstab --enable-libopenh264 --enable-zlib --enable-openssl\n  libavutil      56. 22.100 / 56. 22.100\n  libavcodec     58. 35.100 / 58. 35.100\n  libavformat    58. 20.100 / 58. 20.100\n  libavdevice    58.  5.100 / 58.  5.100\n  libavfilter     7. 40.101 /  7. 40.101\n  libswscale      5.  3.100 /  5.  3.100\n  libswresample   3.  3.100 /  3.  3.100\n  libpostproc    55.  3.100 / 55.  3.100\nHyper fast Audio and Video encoder\nusage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...\n``` \n\nThe following libraries are also installed from source: \n1. Video Codecs:\n\t* [Dirac](http://www.bbc.co.uk/opensource/projects/dirac/ \"Dirac Codec\") - Dirac is an open and royalty-free video compression format, specification and system developed by BBC Research \u0026 Development.\n\t* [Kvazaar](http://ultravideo.cs.tut.fi/ \"Kvazaar Codec\") - Kvazaar is an award-winning academic open-source HEVC encoder developed from scratch in C.\n\t* [OpenH264](http://www.openh264.org/ \"OpenH264 Codec\") - OpenH264 is a free software library for real-time encoding and decoding video streams in the H.264/MPEG-4 AVC format, developed by Cisco.\n\t* [OpenJPEG](http://www.openjpeg.org/ \"OpenJPEG Codec\") - OpenJPEG is an open-source JPEG 2000 codec written in C language. It has been developed in order to promote the use of JPEG 2000, a still-image compression standard.\n\t* [Theora](https://www.theora.org/ \"Theora Codec\") - Theora is a free and open lossy video compression format from the Xiph.org Foundation.\n\t* [x264](http://www.videolan.org/developers/x264.html \"x264 Codec\") - x264 is a free software library developed by VideoLAN for encoding video streams into the H.264/MPEG-4 AVC format.\n\t* [x265](http://www.videolan.org/developers/x264.html \"x265 Codec\") - x265 is a library for encoding video into the High Efficiency Video Coding (HEVC/H.265) video compression format.\n\t* [Libvpx](https://www.webmproject.org/code/ \"Libvpx Codec\") - Libvpx is a free software video codec library from Google and the Alliance for Open Media. \n\t* [Webp](https://developers.google.com/speed/webp/ \"Webp Codec\") - WebP is an image format employing both lossy[6] and lossless compression. It is currently developed by Google\n\t* [AV1](https://aomedia.org/) - AOMedia Video 1 (AV1), is an open, royalty-free video coding format designed for video transmissions over the Internet. It is being developed by the Alliance for Open Media (AOMedia)\n\t\n2. Video Plugins:\n\t* [vid.stab](http://public.hronopik.de/vid.stab/ \"vid.stab Video Plugin\") - vid.stab provides a reasonably easy and flexible way to stabilize (deshake) even strongly jiggled video clips.\n\n3. Transport Protocols\n\t* [SRT](https://www.srtalliance.org/) - Secure Reliable Transport (SRT) is an open source video transport protocol and technology stack that optimizes streaming performance across unpredictable networks with secure streams and easy firewall traversal, bringing the best quality live video over the worst networks. \n\n4. Audio Codecs:\n\t* [FDK-AAC](https://www.iis.fraunhofer.de/en/ff/amm/impl.html \"FDK-AAC Codec\") - Fraunhofer's FDK AAC code provides a complete, high-quality audio compression.\n\t* [Lame MP3](http://lame.sourceforge.net/ \"Lame MP3 Codec\") - LAME is a high quality MPEG Audio Layer III (MP3) encoder licensed under the LGPL.\n\t* [Opus](http://opus-codec.org/downloads/ \"Opus Codec\") - Opus is a lossy audio coding format developed by the Xiph.Org Foundation and standardized by the Internet Engineering Task Force\n\t* [Vorbis](http://www.vorbis.com/ \"Vorbis Codec\") - Vorbis is a free and open-source codec for lossy audio compression headed by the Xiph.Org Foundation.\n\n5. Container Formats:\n\t* [Ogg](https://www.xiph.org/ogg/ \"Ogg Container Format\") - Ogg is a free, open container format maintained by the Xiph.Org Foundation.\n6. Filters\n\t* [VMAF](https://github.com/Netflix/vmaf \"VMAF Github Page\") - VMAF is a perceptual video quality assessment algorithm developed by Netflix\n\n\n### Usage Examples\n\nPlease run the [compilation.sh](https://github.com/stoyanovgeorge/ffmpeg/blob/master/compilation.sh \"compilation.sh\") script `sh compilation.sh` and it will take care of installing the latest version of FFMPEG and its most popular libraries from scratch presuming that you have cloned this repository.\n\nIn case you want to automate the installation of GIT and run the compilation script you can execute: \n\n```\nsudo apt update \u0026\u0026 sudo apt install git -y \u0026\u0026 git clone https://github.com/stoyanovgeorge/ffmpeg.git \u0026\u0026 cd ffmpeg \u0026\u0026 sh compilation.sh\n```\n\nIf you want to omit the installation of some of these libraries, please comment the line in the [compilation.sh](https://github.com/stoyanovgeorge/ffmpeg/blob/master/compilation.sh \"compilation.sh\") script and also remove the parameter in the [ffmpeg.sh](https://github.com/stoyanovgeorge/ffmpeg/blob/master/scripts/ffmpeg.sh \"ffmpeg.sh\") script. \n\nFor example if you want to remove x265 support, you need to comment the `sh $PWD/scripts/libx265.sh 2\u003e $HOME/ffmpeg/logs/libx265.log` line in the [compilation.sh](https://github.com/stoyanovgeorge/ffmpeg/blob/master/compilation.sh \"compilation.sh\") script.\n\nAnd in the [ffmpeg.sh](https://github.com/stoyanovgeorge/ffmpeg/blob/master/scripts/ffmpeg.sh \"ffmpeg.sh\") script you need to remove `--enable-libkvazaar` option.\n\n### Bugs and Missing Features\n\n1. Currently I am unable to compile the AV1 video codec from source. \n\nPlease use [Github Issues](https://github.com/stoyanovgeorge/ffmpeg/issues \"Github Issues\") in case you spot a bug or have an idea how to optimize the scripts. \n\n### External Links\n\n* [FFMPEG Generic Compilation Guide](https://trac.ffmpeg.org/wiki/CompilationGuide/Generic \"FFMPEG Generic Compilation Guide\")\n* [FFMPEG Ubuntu Compilation Guide](https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu \"FFMPEG Ubuntu Compilation Guide\")\n* [FFMPEG Syntax](https://ffmpeg.org/ffmpeg-all.html \"FFMPEG Syntax\")\n* [FFMPEG Filters](https://ffmpeg.org/ffmpeg-filters.html \"FFMPEG Filters\")\n* [Comparison of Video Codecs and Containers](http://download.das-werkstatt.com/pb/mthk/info/video/comparison_video_codecs_containers.html \"Video Codecs Comparison\")\n* [List of YUV Formats](http://www.fourcc.org/yuv.php \"List of YUV Formats\")\n* [Comparison of Container Formats](http://www.digitizationguidelines.gov/guidelines/video_reformatting_compare.html \"Comparison of Container Formats\")\n* [X264 Encoding Guide](https://trac.ffmpeg.org/wiki/Encode/H.264 \"X264 Encoding Guide\")\n* [FFV1 Video Encoding](https://trac.ffmpeg.org/wiki/Encode/FFV1 \"FFV1 Video Encoding\")\n* [FFMPEG Ubuntu Compilation Guide](https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu \"FFMPEG Ubuntu Compilation Guide\")\n* [Kvazaar - Open Source HEVC Encoding Library GitHub Project](https://github.com/ultravideo/kvazaar \"Kvazaar GitHub\")\n* [Kvazaar Official Webpage](http://ultravideo.cs.tut.fi/#encoder \"Kvazaar Official Webpage\")\n* [X265 Commands](http://x265.readthedocs.io/en/default/cli.html \"X265 Encoding Guide\")\n* [FFMPEG Presets Github](https://github.com/joeyblake/FFmpeg-Presets \"FFMPEG Precompiled Presets\")\n* [FFPROBE examples](http://www.bugcodemaster.com/article/use-ffprobe-obtain-information-video-files \"FFPROBE examples\")\n* [FFProbe Tips](https://trac.ffmpeg.org/wiki/FFprobeTips \"FFProbe Tips\")\n* [VP9 Compression Guide](https://sites.google.com/a/webmproject.org/wiki/ffmpeg/vp9-encoding-guide \"VP9 Compression Guide\")\n* [VP9 vs. H.264 vs. H.265 Comparison](https://blogs.gnome.org/rbultje/2015/09/28/vp9-encodingdecoding-performance-vs-hevch-264/ \"VP9 vs. H.264 vs. H.265\")\n* [VP9 Encoder Parameters](https://www.webmproject.org/docs/encoder-parameters/ \"VP9 Encoder Parameters\")\n* [VMAF](https://github.com/Netflix/vmaf \"VMAF Github Page\")\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstoyanovgeorge%2Fffmpeg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstoyanovgeorge%2Fffmpeg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstoyanovgeorge%2Fffmpeg/lists"}