Install and Configure Video Transcoding

Install and Configure Video Transcoding

Telligent Community 6

The HTML5 Video Transcoding module enables videos of any format to be uploaded to Telligent Community and to be made playable directly within the browser without using plugins. The module automatically converts uploaded videos to HTML5 formats supporting all modern browsers with a Flash-based fallback for older browsers and enables previewing uploaded videos via a screenshot automatically taken from the source.

Note that externally hosted videos are not encoded.
Always back up your web files, database, and filestorage before installing new components.

Installation

Prep: Unblock the zip package by right clicking it and going to Properties.  If there is an unblock button at the bottom of the Properties window, click it to unblock the zip. If not, the zip is already unblocked.

Install the SQL files

  1. Navigate to the SqlScripts folder in the installation package.
  2. Execute the SQL file located in this folder against the database where you want Video Transcoding to log its video conversions. This is traditionally the same database as your Telligent Community site.

Install the Web files

  1. In the installation package, locate the Web folder.
  2. Copy the contents of the Webfolder into your Telligent Community site, merging existing folders.
    1. For example, if your website is located at c:/Web, it would end up containing c:/Web/vt and c:/Web/bin/Telligent.Evolution.VideoTranscoding.dll.

Install the Job Scheduler files

  1. Stop the Job Scheduler service.
  2. In the installation package, locate the Tasks folder.
  3. Copy the contents of the Tasksfolder to the root of your Job Scheduler installation.
    1. For example, if your Job Scheduler root was c:/Tasks, it would end up containing c:/Tasks/ffmpeg and c:/Tasks/Telligent.Evolution.VideoTranscoding.dll.

Modify the Web configuration files

  1. In your Telligent Community site, locate a file named communityserver_override.config and edit it  in any text editor.
    1. Note that by default, your site does not have this override file. If your site does not have it, you can create a file named communityserver_override.configin the root of your web installation and then inside, add the following:
      <?xml version="1.0" encoding="utf-8"?>
      <Overrides>
        <!-- Add any needed overrides here -->
      </Overrides>
  2. Add the following information between the <Overrides /> tags:
    <Override xpath="/CommunityServer/FileViewers" mode="add" where="end">
      <add type="Telligent.Evolution.VideoTranscoding.FileViewer, Telligent.Evolution.VideoTranscoding" 
        extensions="3gp;avi;flv;m4v;mkv;mov;mp2;mp4;mpeg;mpg;ogv;webm;wmv" />
    </Override>
    <Override xpath="/CommunityServer/CentralizedFileStorage" mode="add" where="end">
      <fileStore name="videotranscoding" 
        type="Telligent.Evolution.Extensibility.Storage.Providers.Version1.FileSystemFileStorageProvider, Telligent.Evolution.Components" 
        basePath="~/filestorage/" />
    </Override>
    <Override xpath="/CommunityServer/MimeTypes" mode="add" where="end">
        <mimeType extensions="webm" mimeType="video/webm" />
    </Override>

Modify the Job Scheduler configuration files

  1. In your Job Scheduler installation directory site, locate a file named communityserver_override.config  and edit it  in any text editor.
    1. Note that by default, your scheduler does not have this override file. If scheduler does not have it, you can create a file named communityserver_override.configin the root of your web installation and then inside, add the following:
      <?xml version="1.0" encoding="utf-8"?>
      <Overrides>
        <!-- Add any needed overrides here -->
      </Overrides>
  2. Add the following information between the <Overrides />tags:
    <Override xpath="/CommunityServer/CentralizedFileStorage" mode="add" where="end">
      <fileStore name="videotranscoding" 
        type="Telligent.Evolution.Extensibility.Storage.Providers.Version1.FileSystemFileStorageProvider, Telligent.Evolution.Components" 
        basePath="ABSOLUTE\PATH\TO\WEB\FILESTORAGE" />
    </Override>
    <Override xpath="/CommunityServer/CentralizedFileStorage/fileStore[@name='Telligent.Evolution.Components.Attachments']" 
        mode="change" name="basePath" value="ABSOLUTE\PATH\TO\WEB\FILESTORAGE" />
    <Override xpath="/CommunityServer/CentralizedFileStorage/fileStore[@name='Telligent.Evolution.Components.Attachments.Temporary']"
        mode="change" name="basePath" value="ABSOLUTE\PATH\TO\WEB\FILESTORAGE" />
    <Override xpath="/CommunityServer/CentralizedFileStorage/fileStore[@name='CommunityServer.Components.ImageFileViewer']"
        mode="change" name="basePath" value="ABSOLUTE\PATH\TO\WEB\FILESTORAGE" />
    <Override xpath="/CommunityServer/CentralizedFileStorage/fileStore[@name='CommunityServer.Components.MultipleUploadFileManager']"
        mode="change" name="basePath" value="ABSOLUTE\PATH\TO\WEB\FILESTORAGE" />
    <Override xpath="/CommunityServer/CentralizedFileStorage/fileStore[@name='CommunityServer.MailGateway.MailRoom.ForumsHandler']"
        mode="change" name="basePath" value="ABSOLUTE\PATH\TO\WEB\FILESTORAGE" />
    <Override xpath="/CommunityServer/CentralizedFileStorage/fileStore[@name='CommunityServer.Components.PostAttachments']"
        mode="change" name="basePath" value="ABSOLUTE\PATH\TO\WEB\FILESTORAGE" />
    <Override xpath="/CommunityServer/CentralizedFileStorage/fileStore[@name='CommunityServer.Components.SiteFiles']"
        mode="change" name="basePath" value="ABSOLUTE\PATH\TO\WEB\FILESTORAGE" />
    <Override xpath="/CommunityServer/CentralizedFileStorage/fileStore[@name='CommunityServer.Blogs.Components.WeblogFiles']"
        mode="change" name="basePath" value="ABSOLUTE\PATH\TO\WEB\FILESTORAGE" />
    <Override xpath="/CommunityServer/CentralizedFileStorage/fileStore[@name='CommunityServer.Components.UserFiles']"
        mode="change" name="basePath" value="ABSOLUTE\PATH\TO\WEB\FILESTORAGE" />
    <Override xpath="/CommunityServer/CentralizedFileStorage/fileStore[@name='CommunityServer.Wikis.Components.Files']"
        mode="change" name="basePath" value="ABSOLUTE\PATH\TO\WEB\FILESTORAGE" />
    <Override xpath="/CommunityServer/CentralizedFileStorage/fileStore[@name='CommunityServer.Discussions.Components.Files']"
        mode="change" name="basePath" value="ABSOLUTE\PATH\TO\WEB\FILESTORAGE" />
  3. Alter all mentions of "ABSOLUTE\PATH\TO\WEB\FILESTORAGE" to be your physical path to the filestoragefolder, e.g.,
    <Override xpath="/CommunityServer/CentralizedFileStorage/fileStore[@name='CommunityServer.Discussions.Components.Files']"
      mode="change" name="basePath" value="c:\path\to\filestorage" /> 
  4. While still in your Job Scheduler installation directory, locate and edit the tasks.config file in a standard editor.
  5. Add the following job node as a child node of the jobs/cron/jobs node:
    <job schedule="0 */2 * * * ? *" type="Telligent.Evolution.VideoTranscoding.TranscodingJob, Telligent.Evolution.VideoTranscoding"/>
    1. By default, this job will run every two minutes. You can adjust the schedule to suit your needs.
  6. Restart your IIS application pool. However, DO NOT start the Job Scheduler until after configuration is complete within your Telligent Community site as instructed in the next section.

Configuration

  1. Log into your Telligent Community site as an administrator and navigate to Control Panel > System Administration > Site Administration > Site Configuration > Manage Plugins. Locate the Video Transcoding plugin, HTML5 Video Transcoding.
  2. Click Configure and set the properties on all three tabs according to the following table.

    OptionDescription
    Maximum width The maximum width (in pixels) at which the video will be transcoded from its source.  If the source video is wider, it will be scaled down retaining its original aspect ratio. If the source video is narrower, it will not be up-scaled. This does not influence the playback size, which is still governed by the theme. default: 1024
    Maxiumum height The maximum height (in pixels) at which the video will be transcoded from its source. If the source video is taller, it will be scaled down retaining its original aspect ratio. If the source video is shorter, it will not be up-scaled. This does not influence the playback size, which is still governed by the theme. default: 768
    Video bitrate The maximum video bitrate (in kbps) at which the source video will be transcoded.  default: 768
    Audio bitrate

    The maximum audio bitrate (for both channels combined, in kbps) at which the source video's audio will be transcoded. default: 128

    Stereo

    Determines whether the transcoded video will retain both audio channels (if it has two) or just one. default: checked

    Poster second The point in the video's playback (at that second) where it takes a screenshot for displaying as the video's preview and thumbnail. default: 5
    Show Basic Viewer while Queued When selected, videos that have been uploaded and scheduled to transcode but have not yet begun to transcode will render via the classic, default, video file viewer included with Evolution.  This is useful when a large backlog of videos is expected.  default: false
    Encoding timeout The timeout (in seconds) at which the video transcoder should quit if it has not completed transcoding a given video. default: 1800
    Progress handler If the installation instructions were followed correctly, this should not need to be changed from its default. It defines the path to the /vt/ directory copied to the /Web during installation in case this differs from the default. default: ~/vt/transcodingprogress.ashx

  3. Save the configuration.
  4. Select the check box next to the Video Transcoding plugin to enable it, then click Save at the bottom of the plugin page.
  5. You can now start your Telligent Job Scheduler service.
Comments
  • This is a great addition!  It will be especially helpful for clients that are concerned about flash videos being viewed from iPhones / iPads.  We know this module must have taken a lot of work. Thanks for making it happen!  

  • Wow. I'm glad I stumbled upon this. We've been trying to find a solution for video transcoding and this looks like it will do the trick with the .wmv files. Thank you Guys! :)

    Question: Any feedback on this? Has anyone used it? Any improvements/caveats?