anyone excited to team up to create an enhanced video plugin for elgg?

i am beginning the process of creating a new version of 'videolist' for elgg and would appreciate assistance from anyone who can assist me.

features i intend to include:

  • on-server videos - integrated in with external videos (using the file plugin).
  • integration of a media player - currently i am using projekktor - though may possibly switch for stability reasons.
  • support for different sizes of video thumbnails from external sites.
  • support for more external sites than the default videolist support scope.
  • support for playlists (projekktor supports its own approach to youtube style playlists and also supports youtube videos directly, so youtube videos can be played inside your own themed media player).
  • many configuration options for the admin.
  • option: video river entries load as images and are replaced by a media player when clicked.

other features can be added too, however, these are my current list.

  • Yes but....


    The problem I see is that what if someone wants to have videos and files separated?

  • i'm not presently 100% sure on the most effective way to combine the videos from the file plugin with the videos from videolist.
    from a ui perspective, the model i am envisioning would result in zero changes to the file mod's listings, so you would still see the sub-filter options in the file plugin, that allow filtering by audio/video etc.
    the only difference would be that the on-server videos would also be listed with the externally embedde videos, so that all videos would be in one big list.

    i am not sure there is a valid reason for that being a problem, is there?
    if a problem does exist in some way, with this model - the inclusion of on-server videos into the main video list could be set to be an admin option.. yes/no.

  • Maybe, but most of these thing I already have using cash video libraries and nubeso player and did some stuff to make them available in other plugins (copy/paste video URL's ) and player on river, mobile page rendering, previews, playlists, video search on youtube with one click sharing.

    I think I cannot switch to videolist without having to do some sort of migration.

    The one thing I am really missing is integration with on server video's (which are currently stored in the file plugin) and video's stored in video plugin.  This is confusing for users.

    I did not follow exactly where you stand on the development.

  • presently i have:

    • integrated projekktor to play audio/video files via the files plugin.
    • coded thumbnail generation via avconv (ffmpeg) for videos from the files plugin.
    • added a media player embed function to allow the elgg player to be embedded on other sites.
    • partly coded the process for the river which replaces static images with the projekktor player via jquery.
    • configured options for projekktor to integrate with elgg's data / icons.

    part of the cause of me being stuck with this for several weeks is that the projekktor code is buggy presently and i have not been able to activate the seeking functions for streaming videos.


  • What is "seeking functions for streaming videos" ? I like the embed function.

  • without correct config of the server software and other software layers, the video viewer is unable to skip ahead to particular parts of the video, they can only watch the video in a linear way, from start to finish.

  • I have a video plugin that can seek the videos stored in dataroot (or at least I think I got it working). Maybe it can be helpful. Here's the file responsible for seeking the video:

    (This plugin was an experimental pet project that got a bit out of hand.)

  • oh ok! i don't think such code is necessary though is it? if the server is configured correctly?

    what motivated you to create the code? is it intended to be used with any particular video player?

  • It doesn't include a video player. Instead it uses a standard HTML5 video tag. If I remember correctly I had to add the extra streaming features in order to get it working with iPad. As a bonus the seeking started working!

    I started the project to learn about video conversion and HTML5 video. Soon it became a pretty full featured solution with possibility to:

    • Convert uploaded videos to multiple sizes and format
    • Select a thumbnail from the video
    • Manage and re-convert existing videos
    • Some unfinished work to let user choose video quality (...I think)

    The problem however is that both conversion and serving from the dataroot require a lot of server resources. I suppose it could be possible to make some optimizations to get it slick enough to use on some smaller Elgg sites.

  • oh ok, i think most of those features would be useful here. great!
    in fact, if projekktor is used with your code then most of youtube's features will be possible to include.

    projekktor supports the audio and video tags, however the coders advised me not to use them and to instead insert divs and to trigger their js code.

    regarding performance - having a conversion queue would be beneficial. maybe that could be handled via elggbatch in some way?
    i think that performance will be ok, provided that there are admin options to enable/disable hardware intensive aspects, such as the option to elect to convert videos to a standard format or not.. plus the option to recode to different sizes or not. there are throttling packages available for gnu/linux that will restrict the amount of cpu that specific processes can use. i found that applying that to my server made a huge performance increase.. so including that type of tip/info would be necessary (to be applied to avconv).

    video/audio has so many options that need to be configured and that different admins may want to configure differently that the admin panel will need to be quite detailed and contain many fields.

    i also looked at adding a resumable upload process, which is necessary for larger video uploads.. though i think that may be best handled in a seperate plugin - to keep this video plugin as simple as possible, plus to more easily allow that feature to be available to those who do not want to use on-server videos.