Japanatron Logo

The open source stuff that JomSocial uses to convert and render video uploads (ffmpeg) also supports audio files.  I thought it would be cool to modify JomSocial to allow audio files to be used in its videos section.  It actually wasn't as hard to figure out as I thought it would be.  Please let me know if you have a better way to do this.  It would be cool if I could figure out how to customize the dull background ffmpeg puts on the "video," but at least it works.  Anyways, here's what I did...

* Find this file --> /components/com_community/helpers/videos.php
* Find the section that lists the MIME types that will be accepted
* Change / add MIME types as necessary

For example, I added this to videos.php:

$mimeType= array(
'audio/mpeg',
'video/x-flv',
'video/mpeg',
'video/mp4',

* You may also want to modify the language file so that audio files are listed as allowed uploads.  This just tells those uploading that they're allowed.

UPDATE 1
Something changed in a later version of ffmpeg, which broke JomSocial video uploads.  The wording on the ffmpeg version / copyright info changed, so some code modification was necessary to fix it.

* Go to a terminal on your server and type ffmpeg -version to see what the version / copyright info wording looks like.
* Edit this file --> /components/com_community/libraries/videos.php and look for the "hasFFmpegSupport" section.
* In my case I had to modify it to look like this:

function hasFFmpegSupport()
{
//return JFile::exists($this->ffmpeg);
$cmd= $this->ffmpeg . ' -version 2>&1';
$output= $this->_runCommand($cmd);
$hasVersion= JString::strpos( $output, 'ffmpeg version' );
$hasCopyright= JString::strpos( $output, 'the Libav developers' );

UPDATE 2
Newer versions of JomSocial have an additional file extension check upon upload, so 1 more change is necessary to get it working.

* Find the section below in file /components/com_community/helpers/videos.php, and add the file extensions you wish to support.  I added mp3 below as an example.

public function getValidExtensionType()
{
$extensionType= array(
'3g2',
'3gp',
'asf',
'asx',
'avi',
'flv',
'mov',
'mp3',
'mp4',

Related Articles

Joomla - YouTube Videos Too Bi...

PROBLEMAfter updating my Joomla Gavick template to the latest version, the embedded YouTube videos appeared massively large on desktop browsers.  Mobile browser...

Joomla Running on Nginx and Ub...

What follows is an outline I compiled while researching how to tighten security on a Nginx web server. NOTE 1: Ubuntu 14.04 LTS was used for this. NOTE 2: This ...

The Hunt for the Ultimate Blue...

I'm obsessed with bluetooth.  So much so that I've been hunting for heaven's own pair of bluetooth headphones for my Tokyo subway commutes.  I'm already on my 5...

Joomla - Checklist for Moving ...

* Remove web directory protection entries * Rsync files to the new location * Change Apache root folder settings * Redo web directory protection entries * U...