RTFM.WIKI

Ordnung muß sein. Ordnung über alles (18+)

Инструменты пользователя

Инструменты сайта


Боковая панель


Навигация

Линкшэринг

~~socialite Display:icon facebook twitter~~

ALARM!

Добавить новую страницу

You are not allowed to add pages

Реклама

linux:centos:ffmpeg

Скрипт автоматической установки FFmpeg для CentOS

Источник: https://digitz.org/blog/setting-up-virtualhost-in-centos-7/
Код на github: https://github.com/MansoorMajeed/my-scripts/blob/master/centos_basic_ffmpeg_installer.sh

Код

#!/bin/bash
 
# ffmpeg installation script for centos 
# __author__ : Mansoor (manz@digitz.org)
 
 
function banner {
 
	echo -en "
 
+++++++++++++++++++++++++++++++++++++++++
+    FFmpeg Installer for CentOS        +
+++++++++++++++++++++++++++++++++++++++++
 
Please note that this is for Centos 
Choose an option below: 
 
    1. Install FFmpeg
    2. Update FFmpeg
    3. Uninstall FFmpeg
    4. Exit and do nothing
 
    Your Choice : "
 
 
}
 
 
function install {
 
	echo "Installing dependencies..!"
	 yum install autoconf automake cmake freetype-devel gcc gcc-c++ git libtool make mercurial nasm pkgconfig zlib-devel -y
 
	 mkdir ~/ffmpeg_sources
 
	 #Yasm
	 echo "Installing YASM.."
	 cd ~/ffmpeg_sources
	 git clone --depth 1 git://github.com/yasm/yasm.git
	 cd yasm
	 autoreconf -fiv
	 ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
	 make
	 make install
	 make distclean
 
	 #libx264
	 echo "Installing libx264..."
	 cd ~/ffmpeg_sources
	 git clone --depth 1 git://git.videolan.org/x264
	 cd x264
	 PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static
	 make
	 make install
	 make distclean
 
	# libx265
	echo "Installing libx265.."
	cd ~/ffmpeg_sources
	hg clone https://bitbucket.org/multicoreware/x265
	cd ~/ffmpeg_sources/x265/build/linux
	cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DENABLE_SHARED:bool=off ../../source
	make
	make install
 
	# libfdk_aac
	# AAC audio encoder.
	echo "Installing libfdk_aac Audio encoder.."
	cd ~/ffmpeg_sources
	git clone --depth 1 git://git.code.sf.net/p/opencore-amr/fdk-aac
	cd fdk-aac
	autoreconf -fiv
	./configure --prefix="$HOME/ffmpeg_build" --disable-shared
	make
	make install
	make distclean
 
	# libmp3lame
	# MP3 audio encoder.
	echo "Installing libmp3lame MP3 encoder.."
	cd ~/ffmpeg_sources
	curl -L -O http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz
	tar xzvf lame-3.99.5.tar.gz
	cd lame-3.99.5
	./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --disable-shared --enable-nasm
	make
	make install
	make distclean
 
	# libopus
	echo "Installing libopus.."
	cd ~/ffmpeg_sources
	git clone git://git.opus-codec.org/opus.git
	cd opus
	autoreconf -fiv
	./configure --prefix="$HOME/ffmpeg_build" --disable-shared
	make
	make install
	make distclean
 
	# libogg
	# Ogg bitstream library
	echo "Installing Ogg bitstream library.."
	cd ~/ffmpeg_sources
	curl -O http://downloads.xiph.org/releases/ogg/libogg-1.3.2.tar.gz
	tar xzvf libogg-1.3.2.tar.gz
	cd libogg-1.3.2
	./configure --prefix="$HOME/ffmpeg_build" --disable-shared
	make
	make install
	make distclean
 
	# libvorbis 
	# Vorbis audio encoder
	echo "Installing vorbis audio encoder.."
	cd ~/ffmpeg_sources
	curl -O http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.4.tar.gz
	tar xzvf libvorbis-1.3.4.tar.gz
	cd libvorbis-1.3.4
	LDFLAGS="-L$HOME/ffmeg_build/lib" CPPFLAGS="-I$HOME/ffmpeg_build/include" ./configure --prefix="$HOME/ffmpeg_build" --with-ogg="$HOME/ffmpeg_build" --disable-shared
	make
	make install
	make distclean#mtestxo
 
	# libvpx 
	# VP8/VP9 video encoder.
	echo "Installing VP8/VP9 video encoder.."
	cd ~/ffmpeg_sources
	git clone --depth 1 https://github.com/webmproject/libvpx.git
	cd libvpx
	./configure --prefix="$HOME/ffmpeg_build" --disable-examples
	make
	make install
	make clean
 
	# FFmpeg
	echo "Finally, installing FFmpeg.."
	cd ~/ffmpeg_sources
	git clone http://source.ffmpeg.org/git/ffmpeg.git
	cd ffmpeg
	PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --extra-cflags="-I$HOME/ffmpeg_build/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib" --bindir="$HOME/bin" --pkg-config-flags="--static" --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265
	make
	make install
	make distclean
	hash -r
}
 
function update {
 
	echo "Updating FFmpeg..!!"
	rm -rf ~/ffmpeg_build ~/bin/{ffmpeg,ffprobe,ffserver,lame,vsyasm,x264,x265,yasm,ytasm}
	yum install autoconf automake cmake gcc gcc-c++ git libtool make mercurial nasm pkgconfig zlib-devel -y
 
	# Update Yasm 
	echo "Updating YASM..!"
	cd ~/ffmpeg_sources/yasm
	make distclean
	git pull
	./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
	make
	make install
 
 
	# Update x264
	echo "Updating x264.."
	cd ~/ffmpeg_sources/x264
	make distclean
	git pull
	PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static
	make
	make install
 
 
	# Update x265
	echo "Updating x265.."
	cd ~/ffmpeg_sources/x265
	rm -rf ~/ffmpeg_sources/x265/build/linux/*
	hg update
	cd ~/ffmpeg_sources/x265/build/linux
	cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DENABLE_SHARED:bool=off ../../source
	make
	make install
 
	# Update libfdk_aac
	echo "Updating libfdk_aac.."
	cd ~/ffmpeg_sources/fdk-aac
	make distclean
	git pull
	./configure --prefix="$HOME/ffmpeg_build" --disable-shared
	make
	make install
 
	# Update libvpx
	echo "Updating libvpx..!"
	cd ~/ffmpeg_sources/libvpx
	make clean
	git pull
	./configure --prefix="$HOME/ffmpeg_build" --disable-examples
	make
	make install
 
	# Update FFmpeg
	echo "Finally, updating FFmpeg..!!"
	cd ~/ffmpeg_sources/ffmpeg
	make distclean
	git pull
 
	PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --extra-cflags="-I$HOME/ffmpeg_build/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib" --bindir="$HOME/bin" --pkg-config-flags="--static" --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265
	make
	make install
 
}
 
function uninstall {
	echo "Removing FFmpeg..!!"
	rm -rf ~/ffmpeg_build ~/ffmpeg_sources ~/bin/{ffmpeg,ffprobe,ffserver,lame,vsyasm,x264,yasm,ytasm}
	yum erase autoconf automake cmake gcc gcc-c++ git libtool mercurial nasm pkgconfig zlib-devel
	hash -r
}
 
function main {
 
	banner
	read choice
	if [[ $choice -eq 1 ]]; then
 
		echo "Are you sure you want to install FFmpeg?"
		echo "Press Enter to continue. Ctrl+C to exit"
		read
		install
 
	elif [[ $choice -eq 2 ]]; then
 
		echo "Are you sure you want to update FFmpeg?"
		echo "Press Enter to continue. Ctrl+C to exit"
		read
		update
 
	elif [[ $choice -eq 3 ]]; then
 
		echo "Are you sure you want to remove FFmpeg?"
		echo "Press Enter to continue. Ctrl+C to exit"
		read
		uninstall
 
	elif [[ $choice -eq 4 ]]; then
 
		echo "Chose to exit..!"
		exit
 
	else
		echo "Invalid option. "
		exit
	fi
}
 
main
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies

Discussion

Enter your comment. Wiki syntax is allowed:
 
linux/centos/ffmpeg.txt · Последнее изменение: 2017/08/29 12:30 (внешнее изменение)