diff --git a/config/alfresco/extension/video-thumbnail-context.xml.sample b/config/alfresco/extension/video-thumbnail-context.xml.sample
new file mode 100644
index 0000000000..9f3d04f3f6
--- /dev/null
+++ b/config/alfresco/extension/video-thumbnail-context.xml.sample
@@ -0,0 +1,245 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${ffmpeg.exe}
+ -version
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+ -y
+ -ss 10
+ -f image2 -vframes 1
+
+
+
+
+
+
+
+
+ video/x-flv
+
+
+ image/jpeg
+
+
+
+
+ video/mpeg
+
+
+ image/jpeg
+
+
+
+
+ video/mp4
+
+
+ image/jpeg
+
+
+
+
+ video/mpeg2
+
+
+ image/jpeg
+
+
+
+
+ video/x-sgi-movie
+
+
+ image/jpeg
+
+
+
+
+ video/x-msvideo
+
+
+ image/jpeg
+
+
+
+
+ video/quicktime
+
+
+ image/jpeg
+
+
+
+
+ video/x-ms-asf
+
+
+ image/jpeg
+
+
+
+
+ video/x-ms-wmv
+
+
+ image/jpeg
+
+
+
+
+ video/x-rad-screenplay
+
+
+ image/jpeg
+
+
+
+
+ video/ogg
+
+
+ image/jpeg
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ image/jpeg
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -f flv -ab 56 -ar 44100 -b 200 -r 15 -s 320x240
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -f mp4 -ar 44100 -ab 96k -vcodec libx264 -crf 25 -g 250 -r 25
+ medium
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -f mp3 -ar 44100 -ab 128k
+
+
+
+
+
+
+
+
+
+
diff --git a/config/alfresco/extension/video-transformation-context.xml.sample b/config/alfresco/extension/video-transformation-context.xml.sample
new file mode 100644
index 0000000000..9357a224d1
--- /dev/null
+++ b/config/alfresco/extension/video-transformation-context.xml.sample
@@ -0,0 +1,376 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${ffmpeg.exe}
+ -version
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+ -y
+
+ -f flv
+
+
+
+
+
+
+
+
+
+
+ video/mpeg
+
+
+ video/x-flv
+
+
+
+
+ video/mp4
+
+
+ video/x-flv
+
+
+
+
+ video/mpeg2
+
+
+ video/x-flv
+
+
+
+
+ video/x-sgi-movie
+
+
+ video/x-flv
+
+
+
+
+ video/x-msvideo
+
+
+ video/x-flv
+
+
+
+
+ video/quicktime
+
+
+ video/x-flv
+
+
+
+
+ video/x-ms-asf
+
+
+ video/x-flv
+
+
+
+
+ video/x-ms-wmv
+
+
+ video/x-flv
+
+
+
+
+ video/x-rad-screenplay
+
+
+ video/x-flv
+
+
+
+
+ video/ogg
+
+
+ video/x-flv
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${ffmpeg.exe}
+ -version
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+ -y
+
+ -f mp4 -ar 44100 -ab 96k -vcodec libx264 -crf 25 -g 250 -r 25
+ medium
+
+
+
+
+
+
+
+
+
+
+ video/mpeg
+
+
+ video/mp4
+
+
+
+
+ video/mpeg2
+
+
+ video/mp4
+
+
+
+
+ video/x-sgi-movie
+
+
+ video/mp4
+
+
+
+
+ video/x-msvideo
+
+
+ video/mp4
+
+
+
+
+ video/quicktime
+
+
+ video/mp4
+
+
+
+
+ video/x-ms-asf
+
+
+ video/mp4
+
+
+
+
+ video/x-ms-wmv
+
+
+ video/mp4
+
+
+
+
+ video/x-rad-screenplay
+
+
+ video/mp4
+
+
+
+
+ video/ogg
+
+
+ video/mp4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${ffmpeg.exe}
+ -version
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+ -y
+
+ -f mp3
+
+
+
+
+
+
+
+
+
+ audio/x-aiff
+
+
+ audio/x-mpeg
+
+
+
+
+ audio/basic
+
+
+ audio/x-mpeg
+
+
+
+
+ audio/x-wav
+
+
+ audio/x-mpeg
+
+
+
+
+ audio/ogg
+
+
+ audio/x-mpeg
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/source/java/org/alfresco/repo/thumbnail/ThumbnailDefinitionSpringRegisterer.java b/source/java/org/alfresco/repo/thumbnail/ThumbnailDefinitionSpringRegisterer.java
new file mode 100644
index 0000000000..ec32783b40
--- /dev/null
+++ b/source/java/org/alfresco/repo/thumbnail/ThumbnailDefinitionSpringRegisterer.java
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2005-2010 Alfresco Software Limited.
+ *
+ * This file is part of Alfresco
+ *
+ * Alfresco is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Alfresco is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with Alfresco. If not, see .
+ */
+package org.alfresco.repo.thumbnail;
+
+import org.alfresco.service.cmr.repository.TransformationOptions;
+import org.springframework.beans.factory.InitializingBean;
+
+/**
+ * This class provides a way to register a new {@link ThumbnailDefinition}
+ * with the {@link ThumbnailRegistry} in spring, without needing to
+ * override the whole of the "thumbnailRegistry" bean.
+ * This class is a stop-gap until Alfresco 4.0, when ThumbnailDefinitions
+ * will be able to be registered more cleanly with the registry in
+ * the same way as other Alfresco beans to their registrys.
+ *
+ * @author Nick Burch
+ */
+public class ThumbnailDefinitionSpringRegisterer implements InitializingBean
+{
+ private ThumbnailRegistry thumbnailRegistry;
+ private ThumbnailDefinition thumbnailDefinition;
+
+ /**
+ * Registers the {@link ThumbnailDefinition} with the
+ * registry.
+ */
+ @Override
+ public void afterPropertiesSet()
+ {
+ if(thumbnailDefinition == null || thumbnailRegistry == null)
+ {
+ throw new IllegalArgumentException("Must specify both a thumbnailRegistry AND a thumbnailDefinition");
+ }
+ thumbnailRegistry.addThumbnailDefinition(thumbnailDefinition);
+ }
+
+ public void setThumbnailRegistry(ThumbnailRegistry thumbnailRegistry)
+ {
+ this.thumbnailRegistry = thumbnailRegistry;
+ }
+
+ public void setThumbnailDefinition(ThumbnailDefinition thumbnailDefinition)
+ {
+ this.thumbnailDefinition = thumbnailDefinition;
+ }
+}