Skip to content

Instantly share code, notes, and snippets.

@dollabi11z
Last active February 3, 2018 00:48
Show Gist options
  • Save dollabi11z/2a68f77c350bb8105cf10eb0cfed1249 to your computer and use it in GitHub Desktop.
Save dollabi11z/2a68f77c350bb8105cf10eb0cfed1249 to your computer and use it in GitHub Desktop.
FFMPEG for Ubuntu 14 -> 2018-02-02
Server Setup (dz)
FFMPEG + RCLONE + YOUTUBE-DL + LIVESTREAMER
passwd
nano /root/.ssh/authorized_keys
nano /etc/ssh/sshd_config
################export MAKEFLAGS="-j4"
apt-get update && apt-get -y install autoconf automake build-essential libass-dev libfreetype6-dev cmake monit ncdu
apt-get -y install git libegl1-mesa-dev libgles2-mesa-dev libsdl2-dev libtheora-dev libtool libva-dev libvdpau-dev apt-get -y install libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev mercurial pkg-config texinfo wget apt-get -y install zlib1g-dev transmission-daemon curl libglib2.0-dev gobject-introspection libgmp3-dev nettle-dev
apt-get -y install asciidoc glib-networking openssl libcurl4-openssl-dev libssl-dev htop zip unzip librtmp-dev
sudo ufw disable
sudo iptables -X
sudo iptables -t nat -F
sudo iptables -t nat -X
sudo iptables -t mangle -F
sudo iptables -t mangle -X
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
sudo add-apt-repository ppa:jonathonf/python-2.7
sudo apt-get update
sudo apt-get install python2.7
python --version
cd /root
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
rm get-pip.py
Uninstall# python -m pip uninstall pip setuptools
cd ~/bin
git clone git://github.com/chrippa/livestreamer.git
cd livestreamer
python setup.py install
Run as root - --yes-run-as-root
mkdir -p ~/bin
mkdir -p ~/bin/megatools
cd ~/bin/megatools
wget https://megatools.megous.com/builds/megatools-1.9.99git.tar.gz
zcat megatools-1.9.99git.tar.gz > megatools-1.9.99git.tar
tar -xf megatools-1.9.99git.tar
cd megatools-1.9.99git
mv * ..
rm -rf ~/bin/megatools/megatools-1.9.99git
cd ~/bin/megatools
./configure
make
sudo make install
echo "export PATH=/root/bin/megatools:$PATH" >> /etc/profile
. /etc/profile
mkdir -p ~/bin/rclone
cd ~/bin/rclone
curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip
unzip rclone-current-linux-amd64.zip
cd rclone-*-linux-amd64
mv * ..
cd ..
rm -rf ~/bin/rclone/rclone-*-linux-amd64
rm rclone-current-linux-amd64.zip
echo "export PATH=/root/bin/rclone:$PATH" >> /etc/profile
. /etc/profile
curl https://yt-dl.org/latest/youtube-dl -o /root/bin/youtube-dl
chmod a+x /root/bin/youtube-dl
mkdir -p ~/ffmpeg_sources
cd ~/ffmpeg_sources && \
wget http://www.nasm.us/pub/nasm/releasebuilds/2.14rc0/nasm-2.14rc0.tar.bz2 && \
tar xjvf nasm-2.14rc0.tar.bz2 && \
cd nasm-2.14rc0 && \
./autogen.sh && \
PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" && \
make && \
make install
cd ~/ffmpeg_sources && \
wget -O yasm-1.3.0.tar.gz http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz && \
tar xzvf yasm-1.3.0.tar.gz && \
cd yasm-1.3.0 && \
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" && \
make && \
make install
cd ~/ffmpeg_sources && \
git -C x264 pull 2> /dev/null || git clone --depth 1 http://git.videolan.org/git/x264 && \
cd x264 && \
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static && \
PATH="$HOME/bin:$PATH" make && \
make install
cd ~/ffmpeg_sources && \
if cd x265 2> /dev/null; then hg pull && hg update; else hg clone https://bitbucket.org/multicoreware/x265; fi && \
cd x265/build/linux && \
PATH="$HOME/bin:$PATH" cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DENABLE_SHARED:bool=off ../../source && \
PATH="$HOME/bin:$PATH" make && \
make install
cd ~/ffmpeg_sources && \
git -C libvpx pull 2> /dev/null || git clone --depth 1 https://chromium.googlesource.com/webm/libvpx.git && \
cd libvpx && \
PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=yasm && \
PATH="$HOME/bin:$PATH" make && \
make install
cd ~/ffmpeg_sources && \
git -C fdk-aac pull 2> /dev/null || git clone --depth 1 https://github.com/mstorsjo/fdk-aac && \
cd fdk-aac && \
autoreconf -fiv && \
./configure --prefix="$HOME/ffmpeg_build" --disable-shared && \
make && \
make install
cd ~/ffmpeg_sources && \
wget -O lame-3.100.tar.gz http://downloads.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz && \
tar xzvf lame-3.100.tar.gz && \
cd lame-3.100 && \
PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --disable-shared --enable-nasm && \
PATH="$HOME/bin:$PATH" make && \
make install
cd ~/ffmpeg_sources && \
git -C opus pull 2> /dev/null || git clone --depth 1 https://github.com/xiph/opus.git && \
cd opus && \
./autogen.sh && \
./configure --prefix="$HOME/ffmpeg_build" --disable-shared && \
make && \
make install
cd ~/ffmpeg_sources && \
wget -O ffmpeg-snapshot.tar.bz2 http://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2 && \
tar xjvf ffmpeg-snapshot.tar.bz2 && \
cd ffmpeg && \
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \
--prefix="$HOME/ffmpeg_build" \
--pkg-config-flags="--static" \
--extra-cflags="-I$HOME/ffmpeg_build/include" \
--extra-ldflags="-L$HOME/ffmpeg_build/lib" \
--extra-libs="-lpthread -lm" \
--bindir="$HOME/bin" \
--enable-gpl \
--enable-libass \
--enable-libfdk-aac \
--enable-libfreetype \
--enable-libmp3lame \
--enable-libopus \
--enable-libtheora \
--enable-libvorbis \
--enable-libvpx \
--enable-libx264 \
--enable-libx265 \
--enable-nonfree && \
PATH="$HOME/bin:$PATH" make && \
make install
hash -r
source ~/.profile
echo "export PATH=/root/bin:$PATH" >> /etc/profile
. /etc/profile
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment