Archive

Posts Tagged ‘Video’

HowTo: Download and install Windows Live Movie Maker

Unfortunately, Microsoft seems to have gone to extra lenghts to make the Windows Live suite of software go away, without anyone thinking that there were people who were using them and without offering file/project-level compatible replacements for user-friendly tools like Windows Live Movie Maker.

Only Windows Live Writer was at some point reincarnated as the Open Live Writer opensource software at http://openlivewriter.org/. Hope Microsoft will do the same at some point (some community pressure and offer for opensource work on it would help of course) with Windows Live Movie Maker at least. I’ve seen that one used by educators since it’s very user friendly. It is a pitty to force them to throw away their older student projects when they get a new machine (I’m not aware of any video editing tool that can import Windows Live Movie Maker’s XML-based project file [.wlmp]).

Luckily, people have managed to locate the latest archived versions of the offline software installers (obviously the web installers won’t work anymore) for various languages (need to pick the same language as the one your OS UI is displaying in) at the Internet Wayback Machine (arthive.org) website.

Copy-pasting the links (they point to archived versions at archive.org) for the latest version released (build 16.4.3528.0331, April 17, 2014) below (in case Microsoft decides to make that discussion thread disappear too in the future) from:

https://answers.microsoft.com/en-us/windowslive/forum/moviemaker-wlinstall/what-to-do-before-movie-maker-goes-away-jan-10/8b3a5345-7840-4a2c-922a-cf24d10771f7?page=2&msgId=7fbd8015-d7af-44ed-b81d-0d73e8abac45

as posted by the user “considerate_guy

updated links to the Archive.org copies of the *latest* versions (build 16.4.3528.0331)

Fix: Transform Manager ignoring media files added to watch folders

I’ve been puzzled for some days now with the IIS Transform Manager installation we have at ClipFlair for automating the conversion of media files (for example using Microsoft Expression Encoder) into IIS Smooth Streams.

The watch folder I’ve set up for this task was ignoring some of the media files I was dropping in for no apparent reason (e.g. it was picking up some .MP4 files but not other .MP4 ones).

Eventually I realized that the files it wasn’t picking up didn’t have at their Properties/Security tab access rights for the user account that has been assigned to the Transform Manager service, while the processed files (it keeps them at the “WorkQueue/Finished” subfolder” under the watch folder for the respective job [e.g. “Smooth (VC1)”]) had full access rights for that account.

Obviously by dropping them in the watch folder that had those rights assigned they also got the same rights, but not all the filed did. Maybe it is some Windows Server 2008 R2 bug when dropping multiple files together into a folder, not sure though. Adding the needed rights to each of those files, Transform Manager watch folder task immediately pulled them for processing (and soon put them into the “WorkQueue/Running”)

Another thing I noted was that at the Watch Folder task’s (say the “Video files to VC-1 Smooth Streams” ) “Scheduler” tab, at “Concurrent Jobs”, the default setting was set to 1. If you control how many files are placed in the watch folder (e.g. users aren’t uploading files there themselves) you can even check the value “Unlimited” there to process all the dropped files in parallel.

Opensource movies from Blender project

Opensource movies made with Blender (http://www.blender.org)

  1. http://orange.blender.org/download
  2. http://www.bigbuckbunny.org/index.php/download/
  3. http://www.sintel.org/download
  4. http://mango.blender.org/download/

At the download page for some of them you can also find subtitle files.

Also at list of featured Blender movies (http://www.blender.org/features-gallery/movies/) I see the movie Project London which says there it’s an opensource project, but can’t find the movie download (maybe not available yet, just the trailer for now):

http://projectlondonmovie.com/

HowTo: Multi-row captions and wrapping at Silverlight Media Framework

One of the main goals of the ClipFlair project is to explore the use of Video Captioning (together with Revoicing) for Foreign Language Learning (FLL). There both are important enhancements compared to the simpler two-line subtitling that was put in use in its ancestor project LeViS.

Captioning means that multi-row text is needed while text wrapping is also useful, especially if cartoon-like balloons over the video area are to also be examined as an option. Implementing multi-row captions and caption wrapping was a bit tricky in the SMF based player, due to the lack of relevant documentation, so adding some relevant notes below.

As I discuss in more detail near the end of the discussiion at  http://smf.codeplex.com/discussions/245424, the way I finally managed to make SMF player show multi-row captions is by setting the caption region bounds (via Origin and Extend properties of the CaptionRegion object) to take up nearly all the video area and combined it with DisplayAlign = DisplayAlign.After (to bottom align the caption rows group) and Overflow = Overflow.Dynamic (to extend the visible caption area dynamically inside the defined bounds).

Regarding caption wrapping there seems to be a bug in SMF, it wraps caption text at the video boundary instead of at the caption region max boundary (as defined by Origin/Extend properties of the CaptionRegion object). Have reported it at:

http://smf.codeplex.com/workitem/23634

A workarround for caption wrapping to work perfectly is to set top to 0 for the origin and set extend width to 100% for the caption region, but this won’t be useful if you want to show cartoon-like bubbles on the video for some captions. If Microsoft don’t fix that in the near future I guess I’ll have to fix it myself at the source-code of SMF (luckicly it’s an open-source project).

The relevant code snippet  from http://ClipFlair.codeplex.com for the MediaPlayer component is:

private const double CAPTION_REGION_LEFT = 0; //0.05;
private const double CAPTION_REGION_TOP = 0.05;
private const double CAPTION_REGION_WIDTH = 1; //0.9; //SMF 2.7 has a bug here,
//it wraps caption text at the video boundary instead of at the
//caption region max boundary (as defined by Origin and Extend)
private const double CAPTION_REGION_HEIGHT = 0.9; public static void StyleCaptions(CaptionRegion theCaptions) { if (theCaptions == null) return; theCaptions.Style.ShowBackground = ShowBackground.WhenActive;
//doesn't seem to work if other than transparent color is used theCaptions.Style.BackgroundColor = Colors.Transparent; //set caption region (max) bounds theCaptions.Style.Origin = new Origin() {
Left = new Length() {
Unit = LengthUnit.Percent, Value = CAPTION_REGION_LEFT },
Top = new Length() {
Unit = LengthUnit.Percent, Value = CAPTION_REGION_TOP } }; theCaptions.Style.Extent = new Extent() {
Width = new Length() {
Unit = LengthUnit.Percent, Value = CAPTION_REGION_WIDTH },
Height = new Length() {
Unit = LengthUnit.Percent, Value = CAPTION_REGION_HEIGHT } }; //theCaptions.Style.Direction = Direction.LeftToRight; theCaptions.Style.DisplayAlign = DisplayAlign.After;
//align multirow catpions to bottom of region theCaptions.Style.TextAlign = TextAlignment.Justify;
//horizontally center captions theCaptions.Style.WrapOption = TextWrapping.Wrap;
//wrap too long captions to next row theCaptions.Style.Overflow = Overflow.Dynamic;
//extends the area for the captions as needed, up to the given Extent foreach (CaptionElement caption in theCaptions.Children) StyleCaption(caption); }

public static void StyleCaption(TimedTextElement theCaption) { if (theCaption == null) return; theCaption.CaptionElementType = TimedTextElementType.Text; theCaption.Style.ShowBackground = ShowBackground.WhenActive; theCaption.Style.BackgroundColor = Color.FromArgb(100, 0, 0, 0);
//use a semi-transparent background theCaption.Style.Color = Colors.White; Length length = new Length { Unit = LengthUnit.Pixel, //must use this, since the default LengthUnit.Cell
//used at TimedTextStyle constructor is not supported
Value = 20 }; theCaption.Style.FontSize = length; }

I also tried setting Padding property at the code above in case it would help with the correct wrapping, but it somehow results in crashing Silverlight (may be related to the fact that I have hardware acceleration enabled for our Silverlight app).

Categories: Posts Tags: , , , , , , ,

HowTo: Hide Video area of Silverlight Media Framework Player

Since our onoing project ClipFlair is a follow-up of the succesful project LeViS, during its development I’m also looking at covering possible use-cases I infer from feedback entries at LvS application issue tracker on Codeplex (note that ClipFlair is also opensourced on Codeplex at http://ClipFlair.codeplex.com).

One such issue (http://lvs.codeplex.com/workitem/11511) was titled “Allow video hiding while controller is visible for audio only”, so since Silverlight Media Framework (SMF) is used for the media player in ClipFlair, I looked into how to tell it to hide the video area.

Well, it seems that to hide the video and hear just the audio in SMFPlayer one needs to set MediaPresenterElement‘s (a property of SMFPlayer class) MaxWidth and MaxHeight to 0. One can do that at an overriden OnApplyTemplate method in a class descding from SMFPlayer, or could also do it at a custom SMF player template.

Note that setting MediaPresenterElement’s Visibility property to Visibility.Collapsed makes the player not load the video at all, so that one was not an option.

One could define a VideoVisible DependencyProperty at a class descending from SMFPlayer:

    #region VideoVisible

    /// <summary>
    /// VideoVisible Dependency Property
    /// </summary>
    public static readonly DependencyProperty VideoVisibleProperty =
        DependencyProperty.Register("VideoVisible", typeof(bool), 
typeof(MediaPlayer), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.None, new PropertyChangedCallback(OnVideoVisibleChanged))); /// <summary> /// Gets or sets the VideoVisible property. /// </summary> public bool VideoVisible { get { return (bool)GetValue(VideoVisibleProperty); } set { SetValue(VideoVisibleProperty, value); } } /// <summary> /// Handles changes to the VideoVisible property. /// </summary> private static void OnVideoVisibleChanged(DependencyObject d,
DependencyPropertyChangedEventArgs e) { MediaPlayer target = (MediaPlayer)d; bool oldVideoVisible = (bool)e.OldValue; bool newVideoVisible = target.VideoVisible; target.OnVideoVisibleChanged(oldVideoVisible, newVideoVisible); } /// <summary> /// Provides derived classes an opportunity to handle changes to the
/// VideoVisible property.
/// </summary> protected virtual void OnVideoVisibleChanged(bool oldVideoVisible,
bool newVideoVisible) { MediaPresenterElement.MaxWidth = (newVideoVisible)?
double.PositiveInfinity : 0; MediaPresenterElement.MaxHeight = (newVideoVisible) ?
double.PositiveInfinity : 0; } #endregion

 

At first, to restore the MaxWidth/MaxHeight to show the video area again I tried to set them to double.NaN which didn’t work. Then I checked MaxWidth documentation which was saying:

The maximum width of the element, in device-independent units (1/96th inch per unit). The default value is PositiveInfinity. This value can be any value equal to or greater than 0.0. PositiveInfinity is also valid.

and

String representation of a Double value equal to or greater than 0.0. This is interpreted as a device-independent unit (1/96th inch) measurement. Strings need not explicitly include decimal points. For instance a value of 1 is acceptable.

The same Double range restrictions as mentioned in the Property Value section apply, except that you must use x:Static Markup Extension to set the value to be PositiveInfinity.

Per the 1st quote, one just needs to set MaxWidth or MaxHeight to double.PositiveInfinity (and not double.NaN that I originally expected) to reset it to its default value, that is behave as if a maximum width or height respectively has never been set.

As for the second quote, it basically says that XAML double fields need special treatment in order to specify a positive infinity value (if you ever need to, since you’d usually just skip the MaxWidth/MaxHeight field, unless you need to override some non-default inherited value). You would need to define a XAML namespace to point to the System namespace at mscorlib assembly (library), either at the root control in the XAML or directly where you need it:


<MyNameSpace:MyControl

      xmlns:sys="clr-namespace:System;assembly=mscorlib"

      MaxWidth=”{x:Static sys:Double.PositiveInfinity}”

      MaxHeight=”{x:Static sys:Double.PositiveInfinity}”

      …

/>

BTW, to hide the controller bar (called ControlStrip in SMF) you just set IsControlStripVisible property to false.

Collection of Smooth Streaming Video URLs

Here are some Smooth Streaming URLs I found on the Internet that you could use during development to test your smooth streaming players (like those based on SMF).

If you haven’t yet started building your SMF-based player you can try the following URLs here: http://www.smoothhd.com/livetestplayer/

Update: you can also try Smooth Stream URLs at ClipFlair Studio Silverlight-based application, turning over its Clip component (using the “Wrench” button on its titlebar) and pasting the Media URL there. Alternatively, you can launch it directly using a URL of the form http://studio.clipflair.net?video=http://smoothstreamer.doit.wisc.edu/doit-nms/BBB_carbon/BBB.ism/Manifest

http://smoothstreamer.doit.wisc.edu/doit-nms/BBB_carbon/BBB.ism/Manifest

http://streams.smooth.vertigo.com/BigBuckBunny_30sec/bigbuck.ism/manifest

http://streams.smooth.vertigo.com/elephantsdream/Elephants_Dream_1024-h264-st-aac.ism/manifest (this one also features multiple audio streams, director’s comments in english and also english and spanish dialogs)

http://playready.directtaps.net/smoothstreaming/TTLSS720VC1/To_The_Limit_720.ism/Manifest

http://playready.directtaps.net/smoothstreaming/SSWSS720H264/ SuperSpeedway_720.ism/Manifest

At the same test server one can also find two audio-only smooth streams:

http://playready.directtaps.net/smoothstreaming/ISMAAACLC/Taxi3_AACLC.ism/Manifest

http://playready.directtaps.net/smoothstreaming/ISMAAACHE/Taxi3_AACHE.ism/Manifest

http://mediadl.microsoft.com/mediadl/iisnet/smoothmedia/Experience/ BigBuckBunny_720p.ism/Manifest

http://ecn.channel9.msdn.com/o9/content/smf/smoothcontent/bbbwp7/big%20buck%20bunny.ism/manifest

http://ecn.channel9.msdn.com/o9/content/smf/smoothcontent/elephantsdream/ Elephants_Dream_1024-h264-st-aac.ism/manifest

http://video3.smoothhd.com.edgesuite.net/ondemand/Big%20Buck%20Bunny%20Adaptive.ism/Manifest

http://video3.smoothhd.com/ondemand/Turner_Sports_PGA.ism/Manifest

http://video3.smoothhd.com/ondemand/Turner_Sports_NASCAR.ism/Manifest

http://video3.smoothhd.com/ondemand/Turner_Sports_MLB.ism/Manifest

http://video3.smoothhd.com/ondemand/Akamai_ASP_Cutdown.ism/Manifest

http://video3.smoothhd.com/ondemand/mix1/mix1.ism/Manifest

http://video3.smoothhd.com/ondemand/mix2/mix2.ism/Manifest

http://video3.smoothhd.com/ondemand/Big%20Buck%20Bunny%20Adaptive.ism/Manifest

http://video3.smoothhd.com/ondemand/ElephantsDream.ism/Manifest

http://video3.smoothhd.com/ondemand/Got_Imagination_(Indo).ism/Manifest

http://video3.smoothhd.com/ondemand/Got_Imagination_(California).ism/Manifest

http://video3.smoothhd.com/ondemand/Coral_Reefs.ism/Manifest

http://video3.smoothhd.com/ondemand/eHow_Wakeboard.ism/Manifest

http://video3.smoothhd.com/ondemand/eHow_Baseball.ism/Manifest

http://video3.smoothhd.com/ondemand/eHow_Alligator.ism/Manifest

http://video3.smoothhd.com/ondemand/NBA.ism/Manifest

http://video3.smoothhd.com/ondemand/Changeling.ism/Manifest

http://video3.smoothhd.com/ondemand/Livestrong_ThyroidCancer.ism/Manifest

http://video3.smoothhd.com/ondemand/Livestrong_BeginnerGuideExercising.ism/Manifest

http://video3.smoothhd.com/ondemand/Livestrong_Autism.ism/Manifest

Also found some (probably) Bollywood movie:

http://az280594.vo.msecnd.net/athadu/athadu480.ism/Manifest

You can use the following search query to search for “.ism/Manifest”:
http://www.google.com/?q=%22http%22+%22.ism%2FManifest%22&oq=%22http%22+%22.ism%2FManifest%22

A good source found is http://www.smoothhd.com/content/smoothhd/smoothhd.xml

which seems to be from http://wwwns.akamai.com/hdnetwork/demo/silverlight/default.html

Some more URLs (use the unencrypted ones that write CLEAR) are found at:

http://playready.directtaps.net/smoothstreaming/

MSN Video’s Soapbox service shutting down

Bad news regarding Soapbox service from the MSN Video Team:

MSN will no longer offer Soapbox, the user generated video service within MSN Video, as of August 31, 2009. Beginning on July 29, you will no longer be able to upload videos to Soapbox.

People who have uploaded videos to Soapbox will have until August 31, 2009 to download them. Please make sure you download your videos by this date if you would like to keep them. We will have a notice running in the Soapbox service to remind you to download your videos. It is our goal that you download and keep all of the videos you uploaded that are important to you.

Online video is a key part of the MSN experience and we will continue to offer a rich experience on MSN Video. We will also continue to invest in delivering great customer experiences, while keeping a keen eye on our business objectives during this tough economic climate. Thank you for your support of MSN Video.

More details and download instructions are available at: http://video.msn.com/shutdown.html

As alternative services I’d suggest Vimeo, YouTube or else Metacafe

Categories: Uncategorized Tags:

LvS (Learning via Subtitling) opensource VB.NET application for FLL learning

The LvS application for Foreign Language Learning (FLL) via Film Sutitling that I co-designed and originally authored in Visual Basic.net 2005 (latest version was compiled on VB.net 2008) for Hellenic Open University in the context of EU-funded research project LeViS, is opensourced at CodePlex (Microsoft’s community site for opensource projects):
Project Description

Learning via Subtitling: Software & Processes for Developing Language Learning Material based on Film Subtitling (http://levis.cti.gr)

The main focus of Learning Via Subtitling is the development of educational material for active foreign language learning based on film subtitling. It aims to cover the exigency for active learning where cultural elements are involved effectively through real-life (simulated) activities and the need for productive use of multimedia not as nice add-on but as the core of an activity. LvS is a software environment designed and implemented to serve the pedagogical needs of the LeViS project.
Funding framework: Socrates Programme, LINGUA 2 (Development of Language Tools and Materials), European Commission, DG for Education and Culture
Coordinating Institution: Hellenic Open University (HOU), http://www.eap.gr
Description of the LvS Environment
The LvS environment
Learning via Subtitling (LvS) is a subtitling simulator designed for educational activities’ purposes. This software tool can be used by language teachers to create activities based on subtitling film-scenes, news, documentaries etc., and by FL learners to carry out these activities.
It comprises four basic areas – Multimedia player, Document viewer, Subtitle editor and Notes – as shown in the screenshot below.
fig1.jpg
Screenshot of an LvS learning activity
Multimedia player area
It allows the learner to view, rewind and forward the film, both with and without subtitles.
Document viewer area
It allows the learner to view the instructions and other files necessary for the activity (information about the clip, the script, exercises, etc.)
Subtitle editor area
It allows the learner to edit and manage the subtitles. Each subtitle line is divided in four columns where the subtitle’s data is viewed: Start time and End time (the temporal points in the clip when the subtitle text appears and disappears from the screen), Duration, and Subtitle text. The next two columns are for teacher and learner comments. The teacher can mark the subtitle line with an icon (“well done”, “warning” etc.) which when clicked takes the learners to the Notes area where they can read the teacher’s comment.
Moreover, an algorithm calculates the number of characters introduced in each subtitle: if it exceeds the time and space constraints, the text is marked. This does not affect the appearance of the subtitle on the multimedia player and the subtitle file can still be used and saved.
Also, if the number of the subtitle (first column) is double-clicked, the “current time” of the clip is moved to the equivalent time-point, enabling the learner to view and listen only the fragment where the selected subtitle appears.
The users can create new subtitles in the subtitle file by clicking on the buttons “Start subrtitle” and “End subtitle” in order to establish the time when they want the subtitle to appear and disappear respectively. This process is called “cueing”. Whether the cueing is performed by the learner or the teacher depends on the design and the objectives of the activity. If the teacher aims to reduce the technicalities of subtitling, s/he may provide the in and out times of the subtitles together with the rest of the activity elements. On the other hand, if the objective is for the students to practice listening, this process may be carried out the students: in order for them to find when exactly a new subtitle should appear, they are obliged to listen to the clip over and over again in order to insert the in and out times correctly.
Notes area
It allows the learner and the teacher to exchange feedback. It is divided in the general notes and the comments per subtitle. When a comment per subtitle is clicked, the “current time” of the clip is moved to the moment when the respective subtitle appears.
Other Software Features:
  • Authoring mode (see Glossary in this tutorial)
  • Importing (Packed activity, Video, Subtitles, Documents)
  • Exporting (Packed activity with or without video, Subtitles, Documents)
  • Student and Teacher general Notes and per subtitle Comments
  • Multiple Documents in different tabs available
  • Auto-resizing parts of the interface
  • Option to write subtitle text directly under the player with simultaneous update of the subtitle grid
  • Most recently used files list
  • Buttons “Set subtitle start” and “Set subtitle end” modifying the Start time and End time of an existing subtitle
The files needed for the creation of an activity (input files) are:
a) a multimedia file: eg. a film scene, a video-clip, a documentary.
b) one or more documents: e.g. a powepoint presentation with the instructions, an MS Word document with an exercise.
c) a subtitle file – unless the activity requires the students to create their own subtitles.
LvS runs under Windows 2000, Windows XP, Windows Vista and Windows 7 (should run ok on Windows Server 2003 and 2008 too I guess)
Categories: Posts Tags: , , , , , ,
%d bloggers like this: