Displaying Video

Topics: Writing modules
Mar 31, 2011 at 7:07 PM

I don't believe there is support of this out of the box. The media section seems to be only geared towards images. You can still upload video using the Media upload functionality, but there is no easy way to show video. So... I was thinking of designing a Module that will add a Content Part for my video needs (probably initially designing it directly for JWPlayer and flv files) but wanted to make sure that there wasn't something already out there or something coming with 1.1 that would make this work unnecessary.

Mar 31, 2011 at 7:30 PM

Hi fireside,

I've been having thoughts on this myself. I've been looking at Contrib.ImageField, Mello.ImageGallery, a couple of other galleries that are around, as well as a number of video / media modules (you can find these in the Orchard Gallery).

The problem with all these modules is that they are all having to do their "own thing" when it comes to file and folder management. Most of them are vaguely interfacing with the Media module but it doesn't really do much itself.

For instance, each one of the gallery / image modules implements their own form of processing the uploaded image, producing a resized copy for display and possibly a smaller one for thumbnail. However it would be preferably to have a separate service that will provide methods to produce (and cache) a variety of different-sized versions of the image and easily display them. You might want two different sizes of thumbnails, a mid-size version for Lightbox, and full-size version for download. Maybe further sizes for a Phone template. Something like this should be a central service that different gallery packages as well as the html editor could tap into, and also the video service for image thumbnails of videos.

Basically I was about to start building such a system - I absolutely need an integrated set of media services for a project I'm now moving onto Orchard. I was looking at either modifying the Media module itself and submitting to contrib branch; or building a secondary media module that effectively replaced it anyway.

So I'd be interested to hear your thoughts and maybe we can collaborate :)

Mar 31, 2011 at 7:34 PM

Check out the gallery. There are several video modules in there.

Apr 1, 2011 at 4:06 PM

@randompete: my goal is to design a content part for video, not to handle galleries or any part of the media management system. That is a bit more ambitious than what I have in mind.

This is the only module that looks promising:


But I had no luck actually getting it to work. 

Apr 1, 2011 at 5:59 PM
Edited Apr 1, 2011 at 5:59 PM

I had a go with Qmiks myself and same, I couldn't get it to do anything.

What I'm getting at about the whole media system, is that it doesn't really provide all the features you might want in order to make a decent video part. So you'll end up having to implement a whole load of that stuff yourself anyway... the main thing is, you'll find yourself having to write either your own file upload form, or some kind of media picker to choose from existing uploaded media, or preferably both (if you want your content part to be easy to use). There is already a Media Picker module but it seems (at least from my observations) geared basically towards images and TinyMCE integration.

Since you're going to have to do all that work anyway, those components might as well be done in a separate module that any media-enabled module can then take advantage of.

A video player content part is by itself actually pretty easy if you just want a text field to paste in a video Url and are targetting a specific player and format. There's already a Silverlight player module that does this. But my own needs go way beyond that; I'm looking at implement playlists of video and audio, I've got a batch uploading component I wrote in ASP.NET / Silverlight that I want to use, and as well have all every bit of content linked to a thumbnail image. If you only want something simple, just make a content type and override the template :)

Apr 4, 2011 at 12:27 PM


I’m the author of Qmiks Digital Media, thanks for feedback.

The concept of this module is that you give the link to media, and module chooses player for you (SMF Silverlight, JW Player, Youtube etc.). I tried to test all “supported” file types but that is a lot. Personally I was using module mostly for Youtube links and *.mp3 in JWPlayer and those works fine for me. Generally what can go wrong is selection of player for specific file extension or there is problem with display part of that player. If you suspect what is wrong let me know and I will fix that.

Fireside thanks for filling issue for flv, I will take care of it.

Randompete please have a look at


I would appreciate your opinion about concept. I’m using my module for playlist as well but right now those are external playlist which has to be provided as URLs. The concept covers different “media sources” and this can be extended to manually uploaded/managed media lists (which I will need in some point too).

The whole “media” issue is quite complex if we want to cover multiple formats/players/sources etc.. I would gladly team up with somebody to work on more general system or at least core module which could be used for different purposes.

Apr 4, 2011 at 2:58 PM


Yes it is extremely complex! On a previous ASP.NET website I implemented a media system that allowed for all different kinds of media as well as playlists. Playlists could even be mixed types, and the Flash player I built can handle video audio and image.

Half of that work was designing a database of content items where each item could be a different type, and be able to customise the rendering and editing of each item. This is why I'm really interested in Orchard, because it already provides a solid framework that does exactly that, but does it in a way far more extensible and elegant than my efforts... Although there are some things that I preferred my way, but I'm fine with that and there's always a good reason why things are done in a particular way. My system did have many-to-many content relationships which is how I was implementing playlists (and other list-based content) ...but I'll mention that in a second :)

When I first looked at your module it sounded really promising because it described that kind of framework. At the time I was specifically looking for an image gallery where images could be uploaded so that might have been why I didn't dig deeper - I'm not sure now thinking about it if I did have any actual problems, or if I'm getting mixed up with another gallery I tried at the time. So apologies for my inaccurate statement and also for not taking a closer look sooner :)

So anyway, the page you've linked to describes something extremely close to how I'd been thinking about it. Basically some kind of MediaPart (I was thinking it should be an IMediaPart so implementations can be replaced or added to existing parts) which will then wire up to an appropriate renderer to play the media. I'd thought about some ways of separating out the distinction between files coming from a physical server location and files on external URLs as well as other sources such as feeds; which I think is what your Proxies are achieving. I think there are some details that could be tweaked to make the system simpler / easier to understand but it's a pretty thorough analysis of what needs to be done.

What I've got at the moment, in prototype form, is an Orchard module that enables arbitrary many-to-many relationships. There are implementation details I'm finalising but it's working and seems extremely effective. You create each type of relationship as a content type and additional template alternates are then available using the relation type name to customise how sub items with that relationship will display. You could for instance replace the Menu system entirely with a "Menu Item" relation type between contents. Right now I'm just implementing per-content permissions using a different relationship type. The entire Containers/Containable system could be trivially replaced with this system (well... once I sort out the Routable handling).

Part of the intention of this system is that you could use it to just as easily build playlists and galleries as you could define thumbnail(s) for a particular video or even product. Or link a video to multi-lingual transcriptions. Or build a blog. Or enable a whole load of other situations without having to code even one content part!

I'm very up for collaborating on the media side of things anyway. Perhaps should move further discussion to your codeplex page?

Apr 4, 2011 at 10:24 PM

Randompete, great that we are sharing similar vision about media part concept.

Anybody interested please see also: