We are happy to announce release of BuddyPress Media 2.1. This is a major release which adds new features:

  • Support for add-on creation. You can extend BuddyPress media plugin to use any media platform/
  • BuddyPress-Media FFMPEG add-on. A premium add-on to add automatic audio/video conversion support for many popular file formats.

We also released media-node, a FFMPEG-wrapper in node.js in open-source. In case you don’t like our FFMPEG add-on or think its not worth your money, you can use use media-node & buddypress-media platform to create your own plugins!

How it all works together!

Below is image representing how everything is working together.

In next week, we will be releasing a Kaltura module, so users who wish to use a Kaltura server, instead of Media-node can benefit.

iPhone/iPad/Mobile Uploads

We have tested BuddyPress 2.1 on iPhone/iPad devices running iOS6. Image & Video uploads works nicely.

Actually, BuddyPress media has always been standard friendly. It’s just iOS5 and older do not support HTML File Upload field in browser.

If you have any questions, feel free to contact us here!

Link: BuddyPress Media 2.1 | BPM-FFMPEG Addon


16 comments

  1. Unless, I’m not seeing it, could you add the ability for members to create galleries/albums? Thank you!

  2. One more thing, how about allowing Groups to upload media and to organize the uploads into galleries/albums?

  3. Hello Rahul,

    Thanks for your quick response. Seems like your folks are making great progress. Another question: With regard to the FFMPEG converter, does the admin have the opportunity to specify the encoding profiles (for the different agents and devices) on the backend? If the FFMPEF library is already installed by my hosting provider, the only other requirement is that node.js be installed too? Lastly, what are the advantages of using the plugin vs a dedicated encoding service such as PandaStream? Thanks.

    1. I will ask Gagan (our lead developer) to answer question about encoding. He knows that part much better than me.

      Assuming by node.js, you mean media-node project, below is my answer for later part.

      Media-node is developed as an independent webapp to provide RESTful API wrapper for FFMPEG.

      BuddyPress-media will need BuddyPress-media FFMPEG converter plugin to handle encoding queues and other communication with media-node. We need to keep media-node out of converter so that upload queue can proceed in background.

      About Advantages…
      Running BuddyPress and media-node (FFMPEG encoder) on same machine eliminates network I/O. Which generally speed up things.
      Financially, you don’t need to pay anyone for video encoding on on-going basis. On a dedicated server like this, you will save a lot this way.

      Also, when your community grows, you can relocate media-node to different dedicated server. Or on same server, FFMPEG can be limited to leave few CPUs free for other processes always.

      We choose node.js for media-node keeping scalability in mind for media-node.

      In future releases, you will be able to run multiple media-nodes (FFMPEG encoding servers) and BuddyPress-media FFMPEG converter will use all of them. The FFMPEG add-on plugin will find which media-node is less loaded and will send next encoding job to it.

      Another, non-technical issue was about data ownership/privacy. By having local encoders, you can be sure videos will never leave your premises.

      Its bit painful to setup FFMPEG encoder, but we have created an automated script for Ubuntu here. We are working on Centos script as of now.

      I hope above answers your questions. Feel free to ask if I missed anything. 🙂

    2. @Quint: Currently there isn’t much configuration provided for specifying the encoding profiles for different agents and devices, though we’ve spent a lot of time in figuring out what quality and resolution goes well with most of the modern portable devices and have adjusted the arguments accordingly for giving only one file that suits most of your needs.
      About installation of Node.js, yes it will be required to install node.js to run the media-node wrapper for FFMPEG we’ve made.
      Also, let me clear to you, the plugin itself isn’t encoding the files, the plugin simply acts as an interface between the media-node encoding server(which in this case will be your current system) and your BuddyPress Media installed web server. The advantages are mentioned by Rahul. Though if you feel like you need a different encoding service such as PandaStream, you can hire us to write an interface for BuddyPress Media to support that encoding service as well. Right now we’re working on another addon which will act as interface for Kaltura for transcoding service(will be published next week).

  4. Thank you for the comprehensive answers!

    Do you have a demo site that I could access to view the media? If you do, I will visit an Apple store and pull it up on all of their equipment, including the new iPhone 5.

    You mentioned Kaltura for transcoding. I’m not up on Kaltura. Would the workflow be the following:

    1. The BP member uploads video using your plugin.
    2. Somehow the Kaltura servers are sourced that video from my site (the Uploads folder)
    3. Kaltura transcodes accordingly and then places the transcoded content back into my site’s Upload folder?

    Is that correct? If so, do you know if Kaltura has an available transcoding plan? I couldn’t find it on their site. I would like to compare the cost between Kaltura and PandaStream.

    And last question, is there a technical limitation with regard to size of a file targeted for upload to the Upload folder? If a member wanted to upload a 5 GB video using your plugin, could it be done?

    Thanks!

    1. For demo site
      We are working on creating a polished demo site but for you can check http://bp.rtcamp.net/ for now.
      Please use demo for both, username & password.
      Once you log-in, goto your profile. You will see “media” tab there. When you open media tab, you will see “upload” form. (shortcut)

      I described above in details, because demo is running default buddypress theme. Its responsive but pushes upload below so you will need some scrolling (this is what I meant by creating a “polished” demo site!)

      iPhone/iPad Support
      Any iDevice which can get iOS6 can use BuddyPress media. I tested from iPhone 3GS (after upgrading to iOS6) so a big chunk of iUsers are covered.

      Another thing: Mobile (atleast by Apple) uses mp4 format so no kaltura, ffmpeg or any kind of converter is needed. The free version of BuddyPress Media can handle mobile-only communities itself.

      Kaltura Workflow
      We are doing it exactly the way you have described.

      Kaltura, when I last checked had many things implemented in Flash. So keep UI consistent and mobile-friendly, a end-user will always upload using our mobile-friendly uploader. If needed, video will be sent to a converter (as per settings it could be ffmpeg-media-node, kaltura, pandastream, etc) and after conversion will be downloaded locally.

      Kaltura offers a free community edition, which will cost you only your server bill. They provide these options. They had a pricing page but I couldn’t find it now.

      Even they are famous, I will never go with them. For example, they don’t provide upgrades for their community edition (which is why we had to stop work on our previous buddypress media plugin)

      Technically also, I do not like their implementation. They are using typical Apache and lots of flash. Modern world is all about HTML5. And for web-server, I will definitely vote for Nginx which handles mp4/flv streaming much faster and efficiently.

      Anyway, in current BuddyPress media architecture people can choose their encoder, CDN, streaming, etc. No lock-in at all! (CDN/Streaming will be added in future).

      Upload Limit
      Our plugin do not have any limit. Encoder media-node do not limit anything. Also FFMPEG do not have any known file-size limit (ref). If you plan to use PHP+Nginx, file upload limit can be increased this way.

      For Kaltura/PandaStream, their limits will apply. If they have one.

      In short, members will be able to upload any size of video. Restrictions may come from choice of encoder.

      By the way if your community starts uploading big videos like 5GB, any third-party encoder will cost you big time.
      I will recommend, having a dedicated server like this (with 1gbps port speed upgrade), and using Nginx+WordPress to get maximum throughput. Depending on traffic volume, you can either put media-node like encoder or same box or rent another one for that.

      If you need more details, feel free to ask. I must thank you for this conversation as a lot from this thread will go into documentation (toughest part!) 😉

  5. Just wondering why when I uncheck the Audio and Images types in the BuddyPress Media Settings, they still show up on a users page as upload options. I would think if they are disabled, they would not show up at all. Can this be fixed?

    1. @Carol: We already are in the process to do exactly what you’ve written, but there was some trouble cleaning up all the files that were created when these were enabled. Currently only uploads are restricted with these options, but we’ll provide an option to completely remove those media type giving admins option to whether leave the uploaded media as it is or remove that as well.

  6. Hi there,
    I also would like to remove/hide unchecked media types. Have there been any progress? When can we expect this option?

  7. This is ready and will be released in the next version (2.5). We are in the final rounds of testing and will release this asap.

  8. Is there a way to put a description into the photo being uploaded? I see no option for this, only if I click “edit” on the image after it’s uploaded.

Comments are closed.