Personal tools
You are here: Home Events Sprints Past Sprints Multimedia Sprint in Vienna, 2005 MultimediaSprint
Document Actions

MultimediaSprint

by plone.org Administrator last modified January 23, 2006 - 22:52

Mailing lists

Participants

ParticipantList - see who's coming and add your name (be sure to email Nate to confirm)

Please join the #plone4artists channel on irc.freenode.net. We will start at 9:00 CEST (Vienna time) on thursday, Sept. 21.

Consolidated list of tasks

ShortList?

Specific tasks

  • Migration scripts from ATAudio? 0.4 to 0.5. Necessary due to API changes in ExternalStorage? 0.5->0.6 and because of subclassing ATFolder? instead of BaseFolder? (chervol)
  • Create a generic interface for handling audio file metadata for support of other audio file formats (OGG, Real, WMA, etc.) See Sidnei's PLIP 44 and Kapil's Metadata Engine and Rafael's "BibliographyTool>?
  • Make ATVideo? able to stream video from external (i.e. non-Zope) server (i.e. Darwin Streaming server)
  • Make ATAudio? able to stream audio from external (i.e. non-Zope) server (i.e. Darwin Stream Server, Edna, Icecast, Shoutcast, etc.)
  • Make ATPhoto? able to read IPTC tags (look at Jonah's product and Infrae's "Dendra Image archive:"http://www.infrae.com/products/glade
  • Evaluate the various storage layers for Archetypes and work to integrate them: ExternalStorage?, FileSystemStorage?, lieblinx storage (don't know what it's called)
  • Import of audio/video files from remote URL (Salim)
  • Improve uploading to Zope via WebDAV?. Also investigate Railroad as alternative.
  • Integrate the Music Player Extended (Flash player) on the audiofolder_view template, so the user can skip forward and backward through the tracks. (done already by jenner!)
  • Playlist functionality - ATAudioCollection? which has references to ATAudio? objects anywhere on the site. Generate RSS 2.0 podcast feed from this collection/playlist. Look at "PloneClipboard>? as a way to collect songs from around the site.
  • "Make an .m3u of the ATAudioFolder>? contents so that users can stream the entire folder of MP3s instead of each MP3 individually
  • Unit tests using PloneTestCase?
  • "Functional tests using PloneSelenium>?
    • "i18nify ATAudio>? - add msgids and /i18n/ataudio-en.po (Jenner)
    • "All ATAudio>? issues in the tracker
    • "ATAudio>? improvement proposals on plone.org
    • more coming...

Mark Fallu's ideas

From: mfallu@iinet.net.au Date: August 15, 2005 10:05:30 PM EDT To: Nate Aune Subject: Fwd: Re: [PloneConf05]?Re: Plone multimedia sprint

The lilix folks showed me through the latest parwin implementation the other day and it is really pretty good in terms of how well it hooks into darwin.

They have used mmpython for their metadata acquisition (I think it can write id3 tags but I don't know that QuickTime? metadata is writable) http://sourceforge.net/projects/mmpython/

If we used nates pluggable metadata approach we could add mmpython and get a more generic media object.

What is really exciting is that they have complete control of parwin via their movie tool - including the creation of playlists, writing of mount points (virtual addresses for live streams) and starting and stopping live streams.

It would be fairly trivial to adapt their product to accept ATAudio? as the component media objects that get streamed.

The next step would be to add code that auto generates a m3u playlist file at the same time as the live streaming playlist is generated (to allow ondemandaccess of archived streams)

This would open up the possibility of things like having the audience rate streams (using the ATratings? tool) and having live streams that are programmed by the audience on the basis of what has the highest rating.

AT the moment this is the overview of the plone media landscape as I see it.

1) Plone radio - http://option.uclv.net/rw/streaming/ploneradio/index_html :

  • A control panel that allows site managers to create a portal with links to

mount points for a live stream.

  • There is provision for two streams each of two bitrates (it does no transcoding itself)
  • It has the ability to hook into icecast to provide recently played and up next data.

2) Parwin - http://lieblinx.net/lieblinxLAB/Projects/project.2004-07-30.9979822271/en?b_start=0&b_index=1 :

  • system for integration of plone with darwin streaming server.
  • allows the creation and control of sdp files on the server
  • allows access to the administration and reporting tools built into darwin

3) Lilix.movie - http://lieblinx.net/Media/lilixmovie:

4) **ATAudio?** - see above

5) Plodcasting - http://plone.org/products/plodcasting

6) Plone4Artist member portfolios

There is a lot of scope for consolidation and integration between these products.

Also there are a few holes that could stand to be filled:

1) Transcoding - we need to make provisions for transcoding requirements (even if we cant provide it initially we shouldn't make it difficult to add external transcoding systems / we need to think about filesystem storage paths and potential integration of linguaplone relations mapping etc )

2) Playlists - currently we have playlist functionality for podcasting and live streaming, but not ondemand streaming.

3) References - currently all products rely on individual copies of media objects - this could lead to multiple copies on the filesystem etc if an object is required in a "CD" audio folder, a podcast and a streaming playlist... perhaps we should look at implement references - so one object can be used in multiple contexts without duplication. Would also allow compilation of objects across authors not just by the one author.

4) Reporting requirements - we should think about what sort of reports people might like to create of peoples uploading, downloading and streaming use. We should also think what sort of reporting the audience might like (what is popular, what has just been played, what is coming up next)

5) Other formats - obviously quicktime is important, but so is ogg and aac audio, h.264 video etc.

6) Download controls and creative commons licensing - we should make it easier for content owners to control what is allowed to happen to their content once it is uploaded.

7) VOD casting and AOD (video and audio on demand casting) like podcasting but media is streamed rather than downloaded see: http://en.wikipedia.org/wiki/Vodcast - not so good for portable media players but better for seeking support and DRM.

I am sure there is more but that will do for the moment - what do you think.

Cheers,

Mark

George Bray's Ideas

(not much to add to the exciting features mentioned already)

SDP file generation sounds like a good idea, so these small files can delivered as enclosures in RSS2 feeds. Test with iTunes > 4.9

It would be nice if the parameters for the streaming server were not stored as attributes of the file itself, but configured site-wide for easy changing later on (once for all files). (Oh shite, we have to outsource our streaming to an Akamai now we've outgrown our kit).

Plone workflows mesh well with typical transcoding workflows. If a file is uploaded, I would like transcoding to be triggered automatically, say launching a command line for Transcode, VLC or Apple Compressor to do its crunching. Option to auto submit or publish following these external jobs.

View templates that know which is my preferred player for the corresponding media format. Quicktime Application, QuickTime? browser plugin, VLC Mozilla plugin. One setting for all, or separate settings for .mp4 .mov .h264 .wmv ??

Extend ATVideo? to cater for the large lumps of text associated with TV streams - Captions and subtitles. Hmm, timecode info too?

Use PBCORE for metadata http://www.utah.edu/cpbmetadata/

Auto submission/replication to http://archive.org || http://ourmedia.org !!

On OSX, Applescript/QuickTime? calls can deliver info about size, duration, dimensions, codecs, etc.

Have a mecahnism to deliver a single file instance in different ways, allowing plone to deliver the URI based on known filename extensions. You want this movie by http progressive download, have this one http://server/filename.mov. Or perhaps streamed, have this one rtsp://server/filename.hinted.mov. Or perhaps for Windows Media try mmsh://server/filename.wmv

OK, now I'm just thinking out loud. Thanks for listening, sprinters.

geo

mattl's ideas

Would be really good if we could have something that could allow the user to specify a Creative Commons license for their work at the point of uploading it, and also the ability to reference other pieces of work used in the creation of the piece, even if those pieces are on other sites/servers or in the plone site itself.

Jfroche's ideas

I am one of the two developper of ZPhotoSlides? which include ZPhotoSlidesFolder?, CMFZPhotoSlidesFolder?, ZPhotoSlides?, CMFZPhotoSlides?, CMFZPhoto? and ZPhoto?. ZPhotoSlides? is working on CMF and Zope but it's definitly hard to keep up both version. So we thought about to develop the Plone version only (&stop the Zope version) but we also think that there is no use being alone and would like to join the community. Base this on AT is really a good idea for the Plone version and so would like to help to port some of our features (if you are interested in) to the ATPhoto?. Here are some features which might help (?) (you can also check the zps website: http://www.zphotoslides.org/features/ ) :

  • Photo Edition: edit the photo inside Plone using the PIL library or Image Magick (also tried python-magick) by edit we mean:
    • Copyright: Add a text in your photo and define the text, the type of character (font, size, italic, bold) and the position in the photo.
    • Rotation: Rotate your photo with a defined angle.
    • Change to Grayscale: Apply a grayscale filter to create an old effect to your photos.
    • Change size: Change the height and the width of your photos. You can also ask to keep the ratio.
    • Uncolorize: Make your photos to become more and more gray until black and white.
    • Change brightness: Change the brightness of your photos in a range from 0 until 100.
    • Change contrast: Change the contract of your photos in a range from 0 until 100.
    • Change Sharpness: Change the sharpness of your photos in a range from 0 until 100.
    • Filters: Apply some filters on your photos: Filter Blur, Filter Detail, Filter Contour, Filter Enhance, Filter Emboss, Filter Find Edges, Filter Smooth, Filter Sharpen
    • Equalize the image histogram: Create a uniform distribution of grayscale values in your photos.
    • Normalize image contrast: This method will normalize the image contrast.
    • Add Border at all four edges:_ It will add to your photos a border on the four border with the size and the color that you want.
    • Remove border pixels from all four edges: This will remove a border on your photos with the size you want.
    • Invert (negate) the image
    • Solarize: Invert all pixel values above the given threshold.
    • Mirror: Flip image horizontally left to right.

    can use preview to revert modifications. can use batch modification to modify several photos

  • Slideshow
  • show the IPTC & Exif informations associated to a photo (yet we have python IPTC & Exif parser working without PIL)
  • Photo Export: export the photo to another format (gif,bmp,png,...) and another size (can export a full photo album also...)
  • Zip file upload (for people tired to upload photos one by one or people who can't access to webdav)
  • Take some stats on the photos (most visited photo, ...) - Nate spoke about ATRatings? ?
  • Take the photos on the filesystem, store thumbnails or original image files out of the ZODB (+ recursive folder creation)
  • Send postcard to show a photo to a friend or something...
  • Photo rating, so that user can rate a photo - Nate -> ATRatings??
  • Sort album following different criteria (id, title, amount of view, ratings...)
  • Define number and size of thumbnails & default size (we use tool for that yet)

But i mainly come there to share & to learn from you... ;)

Wheat's ideas

I won't be attending the sprint, but I am interested in an ATPhoto? product and Flickr integration with Plone. Some of my thoughts:

  • Sets. Flickr calls albums Sets, and a photo can belong to more than one Set. When creating the Photo Album class, this class should not be folderish, otherwise you'd need to upload the photo to multiple places in order to have it appear in different sets.
  • FlickrAccount?. Photos could be associated with a FlickrAccount? content type. The FlickrAccount? would provide a variety of views for showing things like: photos in Flickr but not in Plone, photos in Plone but not in Flickr, and different forms for synchronizing between the two environments. Perhaps FlickrAccount? should be a folderish content-type to easily track all photos being synchronized with Flickr?
  • Additional Products based on ATPhoto?. ATPhoto? should be kept reasonably lean, so that it's not too hard to subclass the content type and include it in other Products. I'm not too sure where ATPhoto? should end and other Products should begin. In my case I'd like to be able to pull photos of Flickr and then add additional metadata to the photos, specifically information interesting to hikers, backpackers, climbers, etc. For example, what trip the photo was taken on, what is the geographical subject of the photo and GPS co-ordinates of where the photo was taken.

Ideas from Engage Media http://engagemedia.org

We're building an indepedent video distro system using plone. One of us should (hopefully) be in Vienna and another participating remotely. We had been working on an ATVideo? product not knowing mark fallu was also. Below are some basic speccs of how we see publishing and display of content working from a user and managment perpective that people may be able to incorporate.

How Publishing Will Work - Functionality Perspective Metadata and Image Upload

A user will follow a 4-step procedure on our website. On the first page they will enter general metadata including Title and Description. On the second page they will enter Categories and pick a Creative Commons License. On the third page they will use an interactive map to pick a Region for their video. On the fourth page they will upload a 320x240 image and their video file via a web-upload form. Users will also have an ftp option for larger files.

The metadata and image will be added to this Video Product in the database.

Video Upload

The user will be able to upload a video in any format or codec that ffmeg will accept. We are yet to test this fully. We don't want to accept WMV ..real... files.

The video filesize limit will be 1 gigabyte.

On upload, this process will be initiated:

  1. Firstly the original video file will be copied to our server.
  2. Then the video will be automatically encoded into an xVid of a specific size and bitrate.
  3. This will then be picked up the application that will creates Torrents out of both the original file and the auto-encoded video file.
  4. Links to all four locations - the original video file, the auto-encoded xVid video file and the torrent will be put in the database attached to this title.
  5. These RSS feeds will be dynamically updated with the new Video Item, as applicable: - Latest Videos RSS - RSS feeds by Category - RSS feeds by Region/Country - RSS feeds by Group/Producer - RSS feeds by search

Email Notification

When processing of video files and all entries to the database are complete, the member will receive notification via email. Email notification will be sent to the editorial list that new items are awaiting approval.

Video Item Approval

Any Member with Editor status may sub-edit and approve Video Items. This would involve checking all Metadata, Images and Video/Torrents.

Video Item Display

The Item will automatically appear in its Category, Region/Country. Recent items will appear by date in the Latest Videos section. Featured items will appear as hand-picked editorial in the Featured Videos section. The torrent will show how many seeds are available. Members pages a will include a profile and listing of their video contributions.


For any issues with the web site functionality, please file a ticket.

Please consult the policy on plone.org content if you want your content published on this site.

Servers and hosting by