Projet GitHub pour compilation full static de FFmpeg, basé sur cmake
Par david techer, lundi 26 septembre 2011 à 00:55 :: Multiméda sous GNU/Linux :: #827 :: rss
Il est souvent rageant de devoir compiler soi-même FFmpeg, notamment lorsqu'on constate les dépendances requises (au niveau des librairies nécessaires). Il y a la façon statique qui permet de s'approger de ces contraintes (à condition bien sûr que l'architecture x86,x86_64 reste la même). Pour celà , il y a un projet très intéressant https://github.com/pyke369/sffmpeg.
Dans le passé, je m'étais déjà livré à ce genre de compilation mais là c'est vraiment intéressant car gérer par cmake.
Note à l'attention des utilisateurs de Ubuntu LucidPour ceux qui sont sous Ubuntu Lucid (>=10.04.3), la version decmake est la 2.8.0. Elle n'est malheureusement pas suffisante pour l'utilisation. J'ai personnellement récupérer la toute dernière version de cmake (en date du 2011/09/25) c'est la 2.8.5. Elle se compile sans souci. J'ai donc pu par la suite, la tester sans souci.
Pour la récupération du projet
git clone https://github.com/pyke369/sffmpeg.git cd sffmpegAvant de continuer et de lancer la compilation, jetez un coup d'oeil au fichier
CMakeLists.txt
Voici un extrait de son contenu
PROJECT(ffmpeg)
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
INCLUDE(ExternalProject)
INCLUDE_DIRECTORIES(BEFORE ${CMAKE_BINARY_DIR}/include)
LINK_DIRECTORIES(${CMAKE_BINARY_DIR}/lib)
EXTERNALPROJECT_ADD(
z
URL http://zlib.net/zlib-1.2.5.tar.gz
PATCH_COMMAND patch Makefile.in ${CMAKE_SOURCE_DIR}/vendor/zlib-1.2.5-static.patch
CONFIGURE_COMMAND ./configure --prefix=${CMAKE_BINARY_DIR} --static
BUILD_IN_SOURCE 1
)
EXTERNALPROJECT_ADD(
openssl
URL http://www.openssl.org/source/openssl-1.0.0e.tar.gz
CONFIGURE_COMMAND ./config no-shared no-idea no-mdc2 no-rc5 --prefix=${CMAKE_BINARY_DIR}
BUILD_COMMAND make depend && make
BUILD_IN_SOURCE 1
)
....
Moi ça m'a rappeler la façon de compiler à la mode Gentoo
du temps où j'utilisais Gentoo
Remarque: Le téléchargement de source sur des dépots type SVN ou GIT fonctionne sans souci:
EXTERNALPROJECT_ADD(
xavs
SVN_REPOSITORY https://xavs.svn.sourceforge.net/svnroot/xavs/trunk
CONFIGURE_COMMAND ./configure --prefix=${CMAKE_BINARY_DIR} --enable-shared=no --enable-static=yes
BUILD_IN_SOURCE 1
)
Par défaut, l'auteur propose
- x264
- rtmp
- theorea
- speex,
- aac
- dirac 0.4.10 / schroedinger 1.0.9
- xavs
- etc...
Non rien à dire que d'avoir ffmpeg compilé en full static quand on veut procéder à une conversion vidéo, sans avoir à se trimbaler toutes les dépendances 
Commentaires
1. Le vendredi 30 septembre 2011 à 18:09, par kef
2. Le samedi 1 octobre 2011 à 00:03, par david techer
Ajouter un commentaire
Les commentaires pour ce billet sont fermés.