Converter Setup

From JVideoDirect Documentation

Jump to: navigation, search

jVideoDirect can manage video with both SD and HQ/HD quality. All uploaded video will be transcoded into a universal format using "converter". "Converter" in jVideoDirect is defined as a set of tool that can successfully transcode various format of video/audio into the universal format. In jVideoDirect, we use flv and mp4 for SD quality video and HQ/HD quality video respectively. "Converter" consist of various elements. FFmpeg, Mencoder, FLVTool2, MP4box, qt-faststart and many supporting codec libraries and tools for compilation.

Procedures to setup "Converter" can be easily obtained in the web space. There are many ways to achieve it depending on server and os used. We have provided below some links that lead you to procedures example and we have published one of them here for your reference.


Contents

Converter setup procedure example

Install SVN

Subversion (SVN) is a version control system initiated in 2000 by CollabNet Inc. It is used to maintain current and historical versions of files such as source code, web pages, and documentation. Its goal was to be a mostly-compatible successor to the widely used Concurrent Versions System.

Using YUM

Type these commands into SSH:

#yum update 
#yum install subversion

Using APT-GET

Type these commands into SSH:

#apt-get update
#apt-get install subversion

External Resources


Install RUBY

Ruby is a dynamic, reflective, general purpose object-oriented programming language. Originating in Japan in the mid 1990s, Ruby was initially developed and designed by Yukihiro "Matz" Matsumoto and combines syntax inspired by Perl with Smalltalk-like object-oriented features.

Using YUM

Type these commands into SSH:

#yum update 
#yum install ruby

Using APT-GET

Type these commands into SSH:

#apt-get update
#apt-get install ruby

External Resources


Install LIBOGG

Ogg is a free, open standard container format maintained by the Xiph.Org Foundation. The Ogg format is unrestricted by software patents and is designed to provide for efficient streaming and manipulation of high quality digital multimedia.

The Installation Process

Type these commands into SSH:

#mkdir /usr/local/src
#cd /usr/local/src
#wget http://downloads.xiph.org/releases/ogg/libogg-1.1.3.tar.gz
#tar zxvf libogg-1.1.3.tar.gz
#cd /usr/local/src/libogg-1.1.3
#make distclean
#./configure
#make clean
#make
#make install

External Resources


Install LIBVORBIS

Ogg is a free, open standard container format maintained by the Xiph.Org Foundation. The Ogg format is unrestricted by software patents and is designed to provide for efficient streaming and manipulation of high quality digital multimedia.

The Installation Process

Type these commands into SSH:

#mkdir /usr/local/src
#cd /usr/local/src
#wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.1.2.tar.gz
#tar zxvf libvorbis-1.1.2.tar.gz
#cd /usr/local/src/libvorbis-1.1.2
#make distclean
#./configure
#make clean
#make
#make install

External Resources


Install LIBX264

This is important if you are preparing to make HQ/HD quality video available. x264 is a free software library for encoding video streams into the H.264/MPEG-4 AVC format. It is released under the terms of the GNU General Public License.

The Installation Process

Type these commands into SSH:

#mkdir /usr/local/src
#cd /usr/local/src
#wget ftp://ftp.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-20090707-2245.tar.bz2
#bzip2 -cd x264-snapshot-20090707-2245.tar.bz2 | tar xvf -
#cd /usr/local/src/x264-snapshot-20090707-2245
#make distclean
#./configure --enable-shared
#make clean
#make
#make install

Common Problems

If you get the error No suitable assembler found. Install 'yasm' to get MMX/SSE optimized code. If you really want to compile without asm, configure with --disable-asm., then you should use the disable asm option.

External Resources


Install AMR (for 3gp conversion)

3GP is a simplified version of the MPEG-4 Part 14 (MP4) container format, designed to decrease storage and bandwidth requirements in order to accommodate mobile phones. It stores video streams as MPEG-4 Part 2 or H.263 or MPEG-4 Part 10 (AVC/H.264), and audio streams as AMR-NB, AMR-WB, AMR-WB+, AAC-LC or HE-AAC. A 3GP file is always big-endian, storing and transferring the most significant bytes first. It also contains descriptions of image sizes and bitrate.

The Installation Process

Type these commands into SSH:

#mkdir /usr/local/src
#cd /usr/local/src
#wget http://ftp.penguin.cz/pub/users/utx/amr/amrnb-7.0.0.2.tar.bz2
#bzip2 -cd amrnb-7.0.0.2.tar.bz2 | tar xvf -
#cd /usr/local/src/amrnb-7.0.0.2
#make distclean
#./configure
#make clean
#make
#make install

External Resources


Install FAAD2 (for MOV conversion)

FAAD2 is an open source MPEG-4 and MPEG-2 AAC decoder, it is licensed under the GPLv2 license.

The Installation Process

Type these commands into SSH:

#mkdir /usr/local/src
#cd /usr/local/src
#wget http://downloads.sourceforge.net/faac/faad2-2.6.1.tar.gz
#tar zxvf faad2-2.6.1.tar.gz
#cd /usr/local/src/faad2
#make distclean
#autoreconf -vif
#./configure --with-mp4v2
#make clean
#make
#make install

External Resources


Install FAAC

FAAC is an MPEG-4 and MPEG-2 AAC encoder.

The Installation Process

Type these commands into SSH:

#mkdir /usr/local/src
#cd /usr/local/src
#wget http://downloads.sourceforge.net/faac/faac-1.28.tar.gz
#tar zxvf faac-1.28.tar.gz
#cd /usr/local/src/faac-1.28
#./configure
#make
#make install

External Resources


Install LAME

LAME is an open source application used to encode audio into the MP3 file format. The name LAME is a recursive acronym for LAME Ain't an MP3 Encoder, reflecting LAME's early history when it was not actually an encoder, but merely a set of patches against the freely available ISO demonstration source code.

The Installation Process

Type these commands into SSH:

#mkdir /usr/local/src
#cd /usr/local/src
#wget http://easynews.dl.sourceforge.net/sourceforge/lame/lame-3.97.tar.gz
#tar zxvf lame-3.97.tar.gz
#cd /usr/local/src/lame-3.97
#make distclean
#./configure
#make clean
#make
#make install

External Resources


Install FLVTOOL2

FLVTOOL2 can calculate a lot of meta data and insert a onMetaData tag. It can cut FLV files and add cue Points (onCuePoint).

The Installation Process

Type these commands into SSH:

#mkdir /usr/local/src
#cd /usr/local/src
#wget http://rubyforge.org/frs/download.php/9225/flvtool2_1.0.5_rc6.tgz
#tar zxvf flvtool2_1.0.5_rc6.tgz
#cd /usr/local/src/flvtool2_1.0.5_rc6/
#ruby setup.rb config
#ruby setup.rb setup
#ruby setup.rb install

External Resources


Run these commands before you continue

Type these commands into SSH:

#echo "/usr/local/lib" >> /etc/ld.so.conf
#echo "/usr/lib" >> /etc/ld.so.conf
#ldconfig


Install MENCODER + MPLAYER

MENCODER is a free command line video decoding, encoding and filtering tool released under the GNU General Public License. It is a close sibling to MPlayer and can convert all the formats that MPlayer understands into a variety of compressed and uncompressed formats using different codecs.

The Installation Process

Type these commands into SSH:

#mkdir /usr/local/src
#cd /usr/local/src
#wget http://www3.mplayerhq.hu/MPlayer/releases/codecs/essential-20061022.tar.bz2
#tar jxvf essential-20061022.tar.bz2
#mkdir /usr/local/lib/codecs/
#mv /usr/local/src/essential-20061022/* /usr/local/lib/codecs/
#chmod -R 755 /usr/local/lib/codecs/
#mkdir /usr/local/src/tmp
#chmod 777 /usr/local/src/tmp
#export TMPDIR=/usr/local/src/tmp
#svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer
#cd /usr/local/src/mplayer
#svn update
#make distclean
#./configure
#make clean
#make
#make install

External Resources


Install FFMPEG

FFMPEG is a computer program that can record, convert and stream digital audio and video in numerous formats.[1] FFMPEG is a command line tool that is composed of a collection of free software / open source libraries. It includes libavcodec, an audio/video codec library used by several other projects, and libavformat, an audio/video container mux and demux library. The name of the project comes from the MPEG video standards group, together with "FF" for "fast forward".

The Installation Process

Type these commands into SSH:

#mkdir /usr/local/src
#cd /usr/local/src
#mkdir /usr/local/src/tmp
#chmod 777 /usr/local/src/tmp
#export TMPDIR=/usr/local/src/tmp
#svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
#cd /usr/local/src/ffmpeg/
#svn update
#make distclean
#./configure --enable-libmp3lame --enable-libamr-nb --enable-nonfree --enable-libfaad --enable-gpl --disable-mmx --enable-shared
#make clean
#make
#make install
#ln -s /usr/local/lib/libavformat.so.50 /usr/lib/libavformat.so.50
#ln -s /usr/local/lib/libavcodec.so.51 /usr/lib/libavcodec.so.51
#ln -s /usr/local/lib/libavutil.so.49 /usr/lib/libavutil.so.49
#ln -s /usr/local/lib/libmp3lame.so.0 /usr/lib/libmp3lame.so.0
#ln -s /usr/local/lib/libavformat.so.51 /usr/lib/libavformat.so.51

External Resources


Install FFMPEG-PHP (Optional)

FFMPEG-PHP is an extension for PHP that adds an easy to use, object-oriented API for accessing and retrieving information from video and audio files. It has methods for returning frames from movie files as images that can be manipulated using PHP's image functions. This works well for automatically creating thumbnail images from movies. ffmpeg-php is also useful for reporting the duration and bitrate of audio files (mp3, wma...). ffmpeg-php can access many of the video formats supported by ffmpeg (mov, avi, mpg, wmv...)

The Installation Process

Type these commands into SSH:

#mkdir /usr/local/src
#cd /usr/local/src
#wget http://superb-east.dl.sourceforge.net/sourceforge/ffmpeg-php/ffmpeg-php-0.5.0.tbz2
#bunzip2 ffmpeg-php-0.5.0.tbz2
#tar -xf ffmpeg-php-0.5.0.tar

Change to the ffmpeg-php extension directory and run phpize (included with your PHP installation) to build configuration files. NOTE: if your php installation does not include phpize, you may have to install a php-dev package for your distro (usually named: php-dev, php-devel or similar). May be able to use the following command: yum install php-devel

#cd ffmpeg-php-0.5.0
#phpize
#./configure
#make clean
#make
#make install

External Resources


Install qt-faststart

ffmpeg comes with a tool to re-order the MP4 “atoms” for MP4 streaming.

The Installation Process

Type these commands into SSH:

#cd /usr/local/src/ffmpeg/tools/
#gcc qt-faststart.c -o qt-faststart

External Resources


Install MP4Box (Preferred)

Alternative to qt-faststart

The Installation Process

Type these commands into SSH:

#mkdir /usr/local/src
#cd /usr/local/src
#wget http://downloads.sourceforge.net/gpac/gpac-0.4.5.tar.gz
#tar zxvf gpac-0.4.5.tar.gz
#cd gpac
#chmod +x ./configure
#./configure
#make clean
#make
#make install
cp bin/gcc/libgpac.so /usr/lib

External Resources


Restart & Finish

Type these commands into SSH:

#echo "/usr/local/lib" >> /etc/ld.so.conf
#echo "/usr/lib" >> /etc/ld.so.conf
#ldconfig
#/sbin/service httpd restart

Other Converter Setup Procedures

Personal tools