Transcoding

Winamp 2.9 (2.X) and AAC+

So SLAM!FM was bought by RTL, which means their internet stream now uses the RTL streaming server provided by IS.NL instead of TRUE.NL :( Enough ramblings. The internet stream now uses AAC+ which Winamp2.9x does not do out of the box. However! in_mp3.dll from Winamp 5.08 is compatible with Winamp 2.9x. Simply unzip and place the file in C:\Program Files(x86)\Winamp\Plugins\ and yay, AAC+ support. Download here: in_mp3.zip.

Wednesday, February 1st, 2012 General, Transcoding No Comments

librtmp + ffmpeg + vlc 1.1.4.1 on Debian Lenny 64-bit

This is a pain to get working, at least if you want to use the newer versions of everything. However, it does work! Below is what I pieced together. To install either copy paste all the commands, or put them into a bash file. (vim go.sh, copy paste, ./go.sh)

Note: this by far does not cover all the items you can include in vlc. it just includes the ones I needed.
Note2: none of this is recommended. using the repo is much better (but outdated..)

#################################################
# Get Apt Sorted
echo "deb http://mirrors.nl.kernel.org/debian/ lenny main contrib non-free" >> /etc/apt/sources.list
echo "deb http://www.debian-multimedia.org lenny main non-free" >> /etc/apt/sources.list
wget http://www.debian-multimedia.org/pool/main/d/debian-multimedia-keyring/debian-multimedia-keyring_2008.10.16_all.deb
dpkg -i debian-multimedia-keyring_2008.10.16_all.deb
apt-get update

###################################################
# FFMPEG INSTALL

apt-get install zlib1g-dev libssl-dev pkg-config --yes --force-yes
wget "http://rtmpdump.mplayerhq.hu/download/rtmpdump-2.3.tgz"
tar -xvvf rtmpdump-2.3.tgz
cd rtmpdump-2.3
make
make install

cd ..

wget -O faac-1.28.tar.gz "http://downloads.sourceforge.net/project/faac/faac-src/faac-1.28/faac-1.28.tar.gz?r=http%3A%2F%2Fwww.audiocoding.com%2Fdownloads.html&ts=1286909210&use_mirror=kent"
tar -xvvf faac-1.28.tar.gz
cd faac-1.28
./configure
make
make install

cd ..

wget "http://www.tortall.net/projects/yasm/releases/yasm-1.1.0.tar.gz"
tar -xvvf yasm-1.1.0.tar.gz
cd yasm-1.1.0
./configure
make
make install

cd ..

apt-get install git-core --yes --force-yes
git clone git://git.videolan.org/x264.git
cd x264
CFLAGS="-m64 -mtune=athlon64 -pipe -fPIC" ./configure --enable-pic --enable-shared
make
make install

cd ..

apt-get install subversion --yes --force-yes
svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
cd ffmpeg
CFLAGS="-m64 -mtune=athlon64 -pipe -fPIC" ./configure --cc="gcc -m64 -mtune=athlon64 -pipe" --enable-version3 --enable-libfaac --enable-libx264 --enable-pthreads --enable-gpl --enable-nonfree --enable-librtmp --enable-shared --enable-postproc
make
make install

cd ..

###################################################
# VLC INSTALL

# Some packages that are usefull
apt-get install libtool autoconf libdbus-1-dev liblua5.1-0-dev libxcb-shm0-dev libqt4-dev libgcrypt-dev --yes --force-yes

#libmad
wget "ftp://ftp.mars.org/pub/mpeg/libmad-0.15.1b.tar.gz"
tar -xvf libmad-0.15.1b.tar.gz
cd libmad-0.15.1b
cp configure configure_backup
sed 's/optimize="$optimize -fforce-mem"/#optimize="$optimize -fforce-mem"/g' configure_backup > configure
./configure
make
make install

cd ..

#liblame
wget -O lame-3.98.4.tar.gz "http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Flame%2Ffiles%2Flame%2F&ts=1286919122&use_mirror=kent"
tar -xvf lame-3.98.4.tar.gz
cd lame-3.98.4
./configure
make
make install

cd ..

#libogg
wget "http://downloads.xiph.org/releases/ogg/libogg-1.2.0.tar.gz"
tar -xvf libogg-1.2.0.tar.gz
cd libogg-1.2.0
./configure
make
make install

cd ..

#libvorbis
wget "http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.1.tar.gz"
tar -xvf libvorbis-1.3.1.tar.gz
cd libvorbis-1.3.1
./configure
make
make install

cd ..

#libtheora
wget "http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.bz2"
tar -xvf libtheora-1.1.1.tar.bz2
cd libtheora-1.1.1
./configure
make
make install

cd ..

#libxv
apt-get install libxv-dev --yes --force-yes
wget -O libdv-1.0.0.tar.gz "http://downloads.sourceforge.net/project/libdv/libdv/1.0.0/libdv-1.0.0.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Flibdv%2F&ts=1286919451&use_mirror=kent"
tar -xvf libdv-1.0.0.tar.gz
cd libdv-1.0.0
./configure
make
make install

cd ..

# liba52
wget "http://liba52.sourceforge.net/files/a52dec-0.7.4.tar.gz"
tar -xvf a52dec-0.7.4.tar.gz
cd a52dec-0.7.4
CFLAGS="-m64 -mtune=athlon64 -pipe -fPIC" ./configure --enable-shared --disable-static
make
make install

cd ..

# mpeg2 libraries
wget "http://libmpeg2.sourceforge.net/files/libmpeg2-0.5.1.tar.gz"
tar -xvf libmpeg2-0.5.1.tar.gz
cd libmpeg2-0.5.1
./configure
make
make install

cd ..	

#libdvbpsi
wget "http://download.videolan.org/pub/libdvbpsi/0.1.7/libdvbpsi-0.1.7.tar.bz2"
tar -xvf libdvbpsi-0.1.7.tar.bz2
cd libdvbpsi-0.1.7
./configure
make
make install

cd ..

#live555
wget "http://www.live555.com/liveMedia/public/live555-latest.tar.gz"
tar -xvf live555-latest.tar.gz
cd live
./genMakefiles linux-64bit
make

cd ..

#libfaad
wget "http://downloads.sourceforge.net/faac/faad2-2.7.tar.gz"
tar -xvf faad2-2.7.tar.gz
cd faad2-2.7
./configure
make
make install

cd ..

#twolame
wget "http://downloads.sourceforge.net/twolame/twolame-0.3.12.tar.gz"
tar -xvf twolame-0.3.12.tar.gz
cd twolame-0.3.12
./configure
make
make install

cd ..

#libraw1394
wget -O libraw1394-2.0.5.tar.gz "http://sourceforge.net/projects/libraw1394/files/libraw1394/libraw1394-2.0.5.tar.gz/download"
tar -xvf libraw1394-2.0.5.tar.gz
cd libraw1394-2.0.5
./configure
make
make install

cd ..

#libdc1394
wget -O libdc1394-2.1.2.tar.gz "http://sourceforge.net/projects/libdc1394/files/libdc1394-2/2.1.2/libdc1394-2.1.2.tar.gz/download";
tar -xvf libdc1394-2.1.2.tar.gz
cd libdc1394-2.1.2
./configure
make
make install

cd ..

#libavc1394
wget -O libavc1394-0.5.4.tar.gz "http://sourceforge.net/projects/libavc1394/files/libavc1394/libavc1394-0.5.4.tar.gz/download";
tar -xvf libavc1394-0.5.4.tar.gz
cd libavc1394-0.5.4
./configure
make
make install

cd ..

#v4l
wget -O v4l.tar.bz2 "http://freshmeat.net/urls/5ecd7149a259c2cb1cc8b84ae8d3efe1"
tar -xvf v4l.tar.bz2
cd v4l-utils-0.8.1
make
make install

cd ..

#libdca
wget "http://download.videolan.org/pub/videolan/libdca/0.0.5/libdca-0.0.5.tar.bz2"
tar -xvf libdca-0.0.5.tar.bz2
cd libdca-0.0.5
./configure
make
make install

cd ..

#flac
wget -O flac-1.2.1.tar.gz "http://sourceforge.net/projects/flac/files/flac-src/flac-1.2.1-src/flac-1.2.1.tar.gz/download"
tar -xvf flac-1.2.1.tar.gz
cd flac-1.2.1
sed -i  '1i #include <cstring>' examples/cpp/encode/file/main.cpp
./configure
make
make install

cd ..

#speex
wget "http://downloads.xiph.org/releases/speex/speex-1.2rc1.tar.gz"
tar -xvf speex-1.2rc1.tar.gz
cd speex-1.2rc1
./configure
make
make install

cd ..

#alsa
wget "ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.9rc4.tar.bz2"
tar -xvf alsa-lib-1.0.9rc4.tar.bz2
cd alsa-lib-1.0.9rc4
./configure
make
make install

cd ..

#freetype
wget -O freetype-2.4.3.tar.gz "http://sourceforge.net/projects/freetype/files/freetype2/2.4.3/freetype-2.4.3.tar.gz/download"
tar -xvf freetype-2.4.3.tar.gz
cd freetype-2.4.3
./configure
make
make install

cd ..

#fribidi
wget "http://fribidi.org/download/fribidi-0.10.9.tar.gz"
tar -xvf fribidi-0.10.9.tar.gz
cd fribidi-0.10.9
./configure
make
make install

cd ..

# VLC finally..
apt-get install lua5.1 libxcb-shm0-dev libxcb-xv0-dev libxcb-keysyms1-dev libxcb-randr0-dev libx11-xcb-dev --yes --force-yes
wget "http://download.videolan.org/pub/vlc/1.1.4.1/vlc-1.1.4.1.tar.bz2"
tar -xvvf vlc-1.1.4.1.tar.bz2
cd vlc-1.1.4.1
./configure --disable-nls --disable-mozilla --disable-xcb --enable-live555 --with-live555-tree="../live/"
./configure --enable-xvideo --disable-nls --disable-mozilla --enable-sdl --enable-avcodec --enable-avformat --enable-swscale --enable-mad --enable-a52 --enable-libmpeg2 --enable-dvdnav --enable-faad --enable-vorbis --enable-ogg --enable-theora --enable-mkv --enable-speex --enable-live555 --with-live555-tree="../live/" --enable-skins2 --enable-alsa --enable-qt4 --enable-ncurses --enable-realrtsp --enable-twolame --enable-real --enable-x264
make
make install

# Fix vlc links
ln -s /usr/local/lib/libvlc* /usr/lib/
ln -s /usr/local/lib/libx264.a /usr/lib/
ln -s /usr/local/lib/vlc /usr/lib/vlc

After this.. you can run vlc!

nick@debian:/home/nick/vlc-1.1.4.1$ ./vlc
VLC media player 1.1.4.1 The Luggage (revision exported)

Tags: , , , ,

Wednesday, October 13th, 2010 Transcoding No Comments

ffmpeg + x264 + rtmp on Debian Lenny 64-bit

Getting ffmpeg to work with x264 support on Debian Lenny (2.6.26-2-amd64) can prove to be a challenge. Here is what works ‘right now’.

I’ve used non-dep sources, since the dep sources are all very outdated. Take caution when upgrading your system after installing these.

Prep your sources.

echo "deb http://mirrors.nl.kernel.org/debian/ lenny main contrib non-free" >> /etc/apt/sources.list
echo "deb http://www.debian-multimedia.org lenny main non-free" >> /etc/apt/sources.list
wget http://www.debian-multimedia.org/pool/main/d/debian-multimedia-keyring/debian-multimedia-keyring_2008.10.16_all.deb
dpkg -i debian-multimedia-keyring_2008.10.16_all.deb
apt-get update

Install librtmp (included in rtmpdump)

apt-get install zlib1g-dev libssl-dev pkg-config
wget http://rtmpdump.mplayerhq.hu/download/rtmpdump-2.3.tgz
tar -xvvf rtmpdump-2.3.tgz
cd rtmpdump-2.3
make
make install
cd ..

Get libfaac

wget -O faac-1.28.tar.gz http://downloads.sourceforge.net/project/faac/faac-src/faac-1.28/faac-1.28.tar.gz?r=http%3A%2F%2Fwww.audiocoding.com%2Fdownloads.html&ts=1286909210&use_mirror=kent
tar -xvvf faac-1.28.tar.gz
cd faac-1.28
./configure
make
make install
cd ..

Get YASM

wget http://www.tortall.net/projects/yasm/releases/yasm-1.1.0.tar.gz
tar -xvvf yasm-1.1.0.tar.gz
cd yasm-1.1.0
./configure
make
make install
cd ..

Get x264 (git, so latest version! Probably not desired for a production use system)

apt-get install git-core
git clone git://git.videolan.org/x264.git
cd x264
CFLAGS="-m64 -mtune=athlon64 -pipe -fPIC" ./configure --enable-pic --enable-shared
make
make install
cd ..

Get ffmpeg (svn, so latest version! Probably not desired for a production use system)

apt-get install subversion
svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
cd ffmpeg
CFLAGS="-m64 -mtune=athlon64 -pipe -fPIC" ./configure --cc="gcc -m64 -mtune=athlon64 -pipe" --enable-version3 --enable-libfaac --enable-libx264 --enable-pthreads --enable-gpl --enable-nonfree --enable-librtmp --enable-shared
make
make install
cd ..

All done :)

Tags: , , , ,

Tuesday, October 12th, 2010 Transcoding 2 Comments