Commit c8cbac44 authored by lyxell's avatar lyxell Committed by GitHub

Merge pull request #659 from uberhacker/add-ffmpeg-package

Add ffmpeg package
parents 431d3229 1ded319d
require 'package'
class Ffmpeg < Package
description 'A complete, cross-platform solution to record, convert and stream audio and video.'
homepage 'https://ffmpeg.org/'
version '3.3.1'
source_url 'https://ffmpeg.org/releases/ffmpeg-3.3.1.tar.xz'
source_sha1 'ace4539bbb1ef9abb59842137b2a206ca5659f36'
depends_on 'gnutls'
depends_on 'libass'
depends_on 'libfdkaac'
depends_on 'libfrei0r'
depends_on 'libmp3lame'
depends_on 'libopencoreamr'
depends_on 'libopus'
depends_on 'libsoxr'
depends_on 'libtheora'
depends_on 'libvoamrwbenc'
depends_on 'libvorbis'
depends_on 'libwebp'
depends_on 'libx264'
depends_on 'libx265'
depends_on 'libxvid'
depends_on 'openjpeg'
depends_on 'rtmpdump'
depends_on 'speex'
depends_on 'vidstab'
def self.build
system "TMPDIR=#{CREW_BREW_DIR} ./configure \
--arch=#{ARCH} \
--enable-gpl \
--enable-nonfree \
--enable-version3 \
--enable-shared \
--disable-debug \
--disable-ffplay \
--disable-indev=sndio \
--disable-outdev=sndio \
--enable-fontconfig \
--enable-frei0r \
--enable-gnutls \
--enable-gray \
--enable-libass \
--enable-libfdk-aac \
--enable-libfontconfig \
--enable-libfreetype \
--enable-libfribidi \
--enable-libmp3lame \
--enable-libopencore-amrnb \
--enable-libopencore-amrwb \
--enable-libopenjpeg \
--enable-libopus \
--enable-librtmp \
--enable-libsoxr \
--enable-libspeex \
--enable-libtheora \
--enable-libvidstab \
--enable-libvo-amrwbenc \
--enable-libvorbis \
--enable-libwebp \
--enable-libx264 \
--enable-libx265 \
--enable-libxvid"
end
def self.install
system "make", "DESTDIR=#{CREW_DEST_DIR}", "install"
end
end
require 'package'
class Fribidi < Package
description 'GNU FriBidi is an implementation of the Unicode Bidirectional Algorithm (bidi).'
homepage 'https://www.fribidi.org/'
version '0.19.7'
source_url 'https://www.fribidi.org/download/fribidi-0.19.7.tar.bz2'
source_sha1 'e470e078eafe6c065708def3e037c129c0d7367d'
def self.build
system "./configure"
system "make"
end
def self.install
system "make", "DESTDIR=#{CREW_DEST_DIR}", "install"
end
end
require 'package'
class Libass < Package
description 'A portable subtitle renderer for the ASS/SSA (Advanced Substation Alpha/Substation Alpha) subtitle format.'
homepage 'https://github.com/libass/libass'
version '0.13.6'
source_url 'https://github.com/libass/libass/archive/0.13.6.tar.gz'
source_sha1 '10fc35f8aba2a4a37aaed482a4184d144defb3d8'
depends_on 'automake'
depends_on 'autoconf'
depends_on 'freetype'
depends_on 'fribidi'
depends_on 'fontconfig'
def self.build
system "./autogen.sh"
system "autoconf"
system "./configure"
system "make"
end
def self.install
system "make", "DESTDIR=#{CREW_DEST_DIR}", "install"
end
end
require 'package'
class Libfdkaac < Package
description 'A standalone library of the Fraunhofer FDK AAC code from Android.'
homepage 'https://github.com/mstorsjo/fdk-aac/'
version '0.1.5'
source_url 'https://github.com/mstorsjo/fdk-aac/archive/v0.1.5.tar.gz'
source_sha1 '2894bd6d21066bfdf65a2f8cb6d2ca2dde597194'
depends_on 'automake'
def self.build
system "./autogen.sh"
system "./configure"
system "make"
end
def self.install
system "make", "DESTDIR=#{CREW_DEST_DIR}", "install"
end
end
require 'package'
class Libfrei0r < Package
description 'Minimalistic API for a collection of free video effect plugins.'
homepage 'https://frei0r.dyne.org/'
version '1.6.0'
source_url 'https://github.com/dyne/frei0r/archive/v1.6.0.tar.gz'
source_sha1 'a8214add5828e20ff49239ed3a462acaa8c1ebb2'
depends_on 'cmake'
def self.build
system "cmake ."
system "make"
end
def self.install
system "make", "DESTDIR=#{CREW_DEST_DIR}", "install"
end
end
require 'package'
class Libmp3lame < Package
description 'LAME is a high quality MPEG Audio Layer III (MP3) encoder licensed under the LGPL.'
homepage 'http://lame.sourceforge.net/'
version '3.99.5'
source_url 'https://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz'
source_sha1 '03a0bfa85713adcc6b3383c12e2cc68a9cfbf4c4'
def self.build
system "./configure"
system "make"
end
def self.install
system "make", "DESTDIR=#{CREW_DEST_DIR}", "install"
end
end
require 'package'
class Libogg < Package
description 'Ogg is a multimedia container format, and the native file and stream format for the Xiph.org multimedia codecs.'
homepage 'https://xiph.org/ogg/'
version '1.3.1'
source_url 'http://downloads.xiph.org/releases/ogg/libogg-1.3.1.tar.xz'
source_sha1 'a4242415a7a9fd71f3092af9ff0b9fa630e4d7bd'
def self.build
system "./configure"
system "make"
end
def self.install
system "make", "DESTDIR=#{CREW_DEST_DIR}", "install"
end
end
require 'package'
class Libopencoreamr < Package
description 'Audio codecs extracted from Android Open Source Project.'
homepage 'https://sourceforge.net/projects/opencore-amr/'
version '0.1.5'
source_url 'https://downloads.sourceforge.net/project/opencore-amr/opencore-amr/opencore-amr-0.1.5.tar.gz'
source_sha1 'bef4d1e3a8a155b47569b6691a223843b33e279e'
def self.build
system "./configure"
system "make"
end
def self.install
system "make", "DESTDIR=#{CREW_DEST_DIR}", "install"
end
end
require 'package'
class Libopus < Package
description 'Opus is a totally open, royalty-free, highly versatile audio codec.'
homepage 'http://opus-codec.org/'
version '1.1.5'
source_url 'https://archive.mozilla.org/pub/opus/opus-1.1.5.tar.gz'
source_sha1 'fb6d55cf73059bd916790960c2eeffe83edabafe'
def self.build
system "./configure --prefix=/usr/local \
--enable-shared \
--enable-static"
system "make"
end
def self.install
system "make", "DESTDIR=#{CREW_DEST_DIR}", "install"
end
end
require 'package'
class Libsdl < Package
description 'Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D.'
homepage 'http://www.libsdl.org/'
version '1.2.15'
source_url 'http://www.libsdl.org/release/SDL-1.2.15.tar.gz'
source_sha1 '0c5f193ced810b0d7ce3ab06d808cbb5eef03a2c'
def self.build
system "./configure"
system "make"
end
def self.install
system "make", "DESTDIR=#{CREW_DEST_DIR}", "install"
end
end
require 'package'
class Libsoxr < Package
description 'High quality, one-dimensional sample-rate conversion library.'
homepage 'https://sourceforge.net/projects/soxr/'
version '0.1.2'
source_url 'https://sourceforge.net/projects/soxr/files/soxr-0.1.2-Source.tar.xz'
source_sha1 '3b990f91dc8dc08e70626cd5fb90deda0239c211'
depends_on 'cmake'
def self.build
system "cmake ."
system "make"
end
def self.install
system "make", "DESTDIR=#{CREW_DEST_DIR}", "install"
end
end
require 'package'
class Libtheora < Package
description 'Theora is a free and open video compression format from the Xiph.org Foundation.'
homepage 'https://theora.org/'
version '1.1.1'
source_url 'http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.bz2'
source_sha1 '8dcaa8e61cd86eb1244467c0b64b9ddac04ae262'
depends_on 'libvorbis'
depends_on 'libsdl'
def self.build
system "sed -i 's/png_sizeof/sizeof/g' ./examples/png2theora.c"
system "./configure"
system "make"
end
def self.install
system "make", "DESTDIR=#{CREW_DEST_DIR}", "install"
end
end
require 'package'
class Libvoamrwbenc < Package
description 'Audio codecs extracted from Android Open Source Project.'
homepage 'https://sourceforge.net/projects/opencore-amr/'
version '0.1.3'
source_url 'https://downloads.sourceforge.net/project/opencore-amr/vo-amrwbenc/vo-amrwbenc-0.1.3.tar.gz'
source_sha1 '427a147a378d258614d5d470f1f222e249535be7'
def self.build
system "./configure"
system "make"
end
def self.install
system "make", "DESTDIR=#{CREW_DEST_DIR}", "install"
end
end
require 'package'
class Libvorbis < Package
description 'Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free, general-purpose compressed audio format.'
homepage 'https://xiph.org/vorbis/'
version '1.3.3'
source_url 'http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.3.tar.xz'
source_sha1 '31d1a0ec4815bf1ee638b0f2850f03efcd48022a'
depends_on 'libogg'
def self.build
system "./configure"
system "make"
end
def self.install
system "make", "DESTDIR=#{CREW_DEST_DIR}", "install"
end
end
require 'package'
class Libwebp < Package
description 'WebP is a modern image format that provides superior lossless and lossy compression for images on the web.'
homepage 'https://developers.google.com/speed/webp/'
version '0.6.0'
source_url 'https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-0.6.0.tar.gz'
source_sha1 '156d24fff454bfccd1f44434e226a10d9eb38186'
def self.build
system "./configure"
system "make"
end
def self.install
system "make", "DESTDIR=#{CREW_DEST_DIR}", "install"
end
end
require 'package'
class Libx264 < Package
description 'x264 is a free software library and application for encoding video streams into the H.264/MPEG-4 AVC compression format.'
homepage 'http://www.videolan.org/developers/x264.html'
version '20170604-2245-stable'
source_url 'http://ftp.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-20170604-2245-stable.tar.bz2'
source_sha1 '8003044b45010b1b4b40ac3dd8be98d80c888ece'
depends_on 'yasm'
def self.build
system "./configure \
--enable-shared \
--enable-static"
system "make"
end
def self.install
system "make", "DESTDIR=#{CREW_DEST_DIR}", "install"
end
end
require 'package'
class Libx265 < Package
description 'x265 is a H.265 / HEVC video encoder application library.'
homepage 'http://x265.org/'
version '2.4'
source_url 'https://bitbucket.org/multicoreware/x265/downloads/x265_2.4.tar.gz'
source_sha1 'f8bfb348defa86fbfdce4dcc1d0c48c855e0e987'
depends_on 'cmake'
depends_on 'yasm'
def self.build
FileUtils.cd('source') do
system "cmake ."
system "make"
end
end
def self.install
FileUtils.cd('source') do
system "make", "DESTDIR=#{CREW_DEST_DIR}", "install"
end
end
end
require 'package'
class Libxvid < Package
description 'The free video codec that is strong in compression and quality.'
homepage 'https://www.xvid.com/'
version '1.3.4'
source_url 'http://downloads.xvid.org/downloads/xvidcore-1.3.4.tar.gz'
source_sha1 'd8f58e35ec325ebd7de9a28440b725a40ea49dae'
depends_on 'yasm'
def self.build
FileUtils.cd('build/generic') do
system "./configure"
system "make"
end
end
def self.install
FileUtils.cd('build/generic') do
system "make", "DESTDIR=#{CREW_DEST_DIR}", "install"
end
end
end
require 'package'
class Openjpeg < Package
description 'OpenJPEG is an open-source JPEG 2000 codec written in C language.'
homepage 'https://github.com/uclouvain/openjpeg/'
version '2.1.2'
source_url 'https://github.com/uclouvain/openjpeg/archive/v2.1.2.tar.gz'
source_sha1 'c8671e7f577fdc58abde1e1f32b10d372e6f9b07'
depends_on 'cmake'
def self.build
system "cmake ."
system "make"
end
def self.install
system "make DESTDIR=#{CREW_DEST_DIR} install"
end
end
require 'package'
class Rtmpdump < Package
description 'rtmpdump is a toolkit for RTMP streams.'
homepage 'https://rtmpdump.mplayerhq.hu/'
version 'fa8646d'
source_url 'https://git.ffmpeg.org/gitweb/rtmpdump.git/snapshot/fa8646daeb19dfd12c181f7d19de708d623704c0.tar.gz'
source_sha1 '2faefe655b72f91540f39eebc3020f1c9dcc654e'
def self.build
system "make"
end
def self.install
system "make", "DESTDIR=#{CREW_DEST_DIR}", "install"
end
end
require 'package'
class Speex < Package
description 'Speex is an Open Source/Free Software patent-free audio compression format designed for speech.'
homepage 'https://speex.org/'
version '1.2.0'
source_url 'http://downloads.us.xiph.org/releases/speex/speex-1.2.0.tar.gz'
source_sha1 '18ebc3fa3236b4369509e9439acc32d0e864fa7f'
def self.build
system "./configure"
system "make"
end
def self.install
system "make", "DESTDIR=#{CREW_DEST_DIR}", "install"
end
end
require 'package'
class Vidstab < Package
description 'Transcode video stabilization plugin.'
homepage 'http://public.hronopik.de/vid.stab/'
version '0.98b'
source_url 'https://github.com/georgmartius/vid.stab/archive/release-0.98b.tar.gz'
source_sha1 '1030a1baa9b2cba844758a6cd8dd5d5fc23f9cd9'
depends_on 'cmake'
def self.build
system "cmake ."
system "make"
end
def self.install
system "make", "DESTDIR=#{CREW_DEST_DIR}", "install"
end
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment