Converter Setup
From JVideoDirect Documentation
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.
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
- http://subversion.tigris.org/
- http://linux.duke.edu/projects/yum/
- http://hellm.com/post/5
- http://crazytoon.com/2007/06/01/subversion-how-do-you-install-and-set-up-subversion-for-revision-control/
- http://marcgrabanski.com/article/86/Installing-Subversion-on-Apache
- http://www.bernzilla.com/item.php?id=445
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
- http://www.ruby-lang.org/
- http://users.drew.edu/bburd/RubyOnRails/InstallingRoRinLinux.pdf
- http://www.digitalmediaminute.com/howto/fc4rails/
- http://www.linuxweblog.com/ruby-on-rails-install
- http://www.urbanpuddle.com/articles/2006/12/07/install-ruby-rails-on-ubuntu-edgy-eft
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
