![]() |
||
|
||
Before Alembik server can be built and/or deployed there are certain software prerequisites to be met. The first and the most important one is a Java application server compatible with the specification J2EE 5.0. The full functionality requires a server with EJB3 container, though any web container supporting SOAP (JAXWS 2.1.x implementation) is enough, if one can do without asynchronous processing and EJB-based connectivity. In the future the missing functionalities may be substituted with some proprietary JMS implementation and RMI-based service. At the moment of writing the transcoding server has been deployed and tested successfully on three free-license servers under JRE version 1.5: GlassfishGlassfish is an open-source version of commercial Sun Application Server, which is available at its own site. The installation process is quite straight-forward and since it is currently a cutting-edge environment for J2EE standard, there are no more software packages required. After its successful installation and launching there are only JMS-based configuration settings left to be settled down. The easiest way to achieve it is via Glassfish administration console:
The next step is to create a physical destination, whose name is TranscodeQueueDestination and type - javax.jms.Queue.
Finally a new destination resource must be specified; its JNDI name should equal queue/transcodeQueue, its type - javax.jms.Queue, while its physical destination name has to be TranscodeQueueDestination.
JBossJBoss is probably the most popular non-commercial J2EE application server. Its basic installation package can be downloaded from here. Unfortunately their 4.2.x releases are not fully compatible with J2EE 1.5 standard, hence there are some additional installation steps to follow. First of all one has to download and install a JAXWS plug-in (available here) into the previously installed JBoss server. Then a corresponding JAXWS framework release needs to be installed (separately from JBoss) too; all JAXWS distributions can be found at the JAXWS community site. The latter software package is required for two reasons; first its following JARs have to be copied into /%jboss_install_dir%/server/default/lib/:
The package archives are also required in the classpath of Alembik's source code compilation; in case of JBoss the server.jaxws.lib.dir property from '/alembik-build/etc/jboss.local.properties' has to point at '/lib' folder from JAXWS package installation. Please refer to the building chapter for more details. The JAXWS support is necessary for Alembik SOAP interface to operate. The proven and tested pair of module versions of JAXWS software is: jbossws-native-2.0.1.GA as JBoss plug-in and jaxws-ri-2.1.1 as JAXWS library release. The ultimate step to achieve a fully operational platform is adjusting the JMS configuration in JBoss server. The following section has to be added into '/%jboss_install_dir%/server/default/deploy/jms/jbossmq-destinations-service.xml':
Apache-TomcatTomcat is probably one the most popular non-commercial Java-based web containers. Its basic installation package can be downloaded from here. Since the 5.5.x release does not come with JAXWS support, hence there are two additional installation steps to follow. First the JAXWS 2.1.x framework release needs to be installed (separately from Tomcat); all JAXWS distributions can be found at the JAXWS community site. Then all its library jars have to be copied into %tomcat_install_dir%/shared/lib/. Note that the recent Alembik releases for Tomcat are build using the JAXWS 2.1.5 package. The package JAR archives are also required in the classpath of Alembik's source code compilation; in case of Tomcat the server.jaxws.lib.dir property from '/alembik-build/etc/tomcat.local.properties' has to point at '/lib' folder from JAXWS package installation. Please refer to the building chapter for more details. Finally, Alembik administration console requires Java Standard Tag Library jars, which should be placed in the same folder. The JSTL 1.2.1 release can be obtained from Jakarta site. Third-party softwareJ2EE application server aside there might be additional software required, depending on Alembik clients' needs. If the decision is made to base image transcoding on the ImageMagick utility, the application's binary build needs to be installed. If Alembik is supposed to serve audio and video files too, a binary build of the FFMpeg application has to be obtained as well. Since distinct FFmpeg versions use their internal codec identificators Alembik needs to know beforehand, which version it is going to work with. The assumed command syntax depends on the version of libavcodec library bundled in FFmpeg builds. Alembik is currently distributed with the built-in support for three versions of the its codec library: 51.40.4, 51.48.0 and 52.20.0. However, any other version can be easily put into work by providing a custom codec dictionary file, which translates codec names (in mime format) into FFmpeg internal identificators. One may easily preview them by running "ffmpeg -formats" command.
The codec dictionary file name should follow the "ffmpeg_codec_XX_XX_X.properties" pattern and needs to be placed into the definition files directory. Then it can be loaded through Alembik's administration console. Note that the codec library version of the installed FFmpeg can be easily read by executing the "ffmpeg -version" command. Additional steps are required for TextOverlay and OverlayLogo video transfomations. FFmpeg provides support for these operations through the imlib2 library, which usually needs to be installed separately (if it does not come bundled with the tool release). Once in place one has to set FONTPATH environment variable pointing at a folder with TTF fonts. Moreover, the color RGB definitions have to be provided in rgb.txt. The whole package installation details can be found here; for the list of colors and fonts in use please refer to the text overlay transformation description (video-related family and color attributes). Streaming feature requires a two-step installation itinerary. First the MP4Box utility has to be unpacked. Then one needs to download an appropriate release of Darwin streaming server.
|