INTERACT FORUM

Windows => Plug-in Development => Topic started by: GrantDG on October 11, 2013, 02:45:34 am

Title: MCWS - Video Transcoding
Post by: GrantDG on October 11, 2013, 02:45:34 am
I'm trying to get my head around video transcoding via MCWS

I've noticed that when I try to convert to VIDEO_MP4_LOW_BANDWIDTH_STREAMING Via the Conversion parameter - the server PC goes to 100% CPU utilisation, and after some time will revert to normal. Subsequent calls to the same file/conversion do not have the same effect.

I gather that MC is transcoding the file the first time, and on subsequent calls can simply return the stream.

I'm trying to workout if the "Prepare" parameter can be used to determine the progress of the transcoding.
My research seems to indicate that passing the Prepare parameter has no effect on the call (it always returns <Response Status="OK" Information="Ready"/> - irrespective of whether the transcoding is in progress, or has previously completed.

My questions:

Title: Re: MCWS - Video Transcoding
Post by: GrantDG on November 28, 2013, 01:54:42 am
So, nearly 2 months later - no one has any thoughts/feedback on this?
Title: Re: MCWS - Video Transcoding
Post by: Hendrik on January 22, 2014, 03:55:10 pm
Transcoding progress is a bit tricky, even in MC itself its not always accurate right now.

What do you actually want to do?
Stream a transcoded version? Transcode a file and store it on the server?
Title: Re: MCWS - Video Transcoding
Post by: GrantDG on January 22, 2014, 04:26:30 pm
Hi Hendrik,

I'm looking to support local Video playback on Windows Phone (WP). Currently the only supported Codec (from a J River > WP perspective) is MP4.

The user experience is extremely poor if the user has to wait for an indeterminate amount of time for the transcoding to occur. I'd like to be able to provide *some* feedback.

This is possibly more a MCWS issue than transcoding. If MCWS could at least provide an "In progress" status (as documented) that would be useful...

As an aside:-
There's also the possibility that the HTTP headers being sent for more 'streamy' video formats are causing WP grief - maybe that could be looked at too? But we can take one step at a time...
Title: Re: MCWS - Video Transcoding
Post by: Hendrik on January 23, 2014, 04:41:35 am
MP4 is unfortunate, since its not a primary streaming format, so I suppose you actually are looking at transcoding the whole movie first and then getting the resulting file?
Windows can usually read TS files with H264 in it, of course Windows Phone might be a different beast entirely, the MP4TS Streaming profiles won't work? (which is a MPEG-TS stream with H.264 Video and AAC Audio)

Usually I would say to just call GetFile with a conversion parameter set, and it would give you the file immediately as its written to the disc, but of course thats only useful when you can actually process the streaming video format, or you want to store it locally before playing.
It can take quite long to transcode the whole file before playback can start, so this seems like a solution not really worth spending too much effort into.

However, if there is no way to get a streaming MPEG-TS to work on Windows Phone, I suppose I can try to look into the functionality of the prepare parameter, and its return information.
Title: Re: MCWS - Video Transcoding
Post by: GrantDG on January 23, 2014, 05:18:04 am
I've tried *ALL* of the J River encoding profiles exposed by MCWS (yes, the GetFile method) to no avail. MP4 is the only one that works. Believe me - this is not my first choice!

Here is a list of currently supported video formats in WP (http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff462087(v=vs.105).aspx#BKMK_VideoSupport).

MP4 would be an acceptable option if MCWS worked as documented (at least in the short term)...
Title: Re: MCWS - Video Transcoding
Post by: Hendrik on May 07, 2014, 05:55:21 am
Sorry for the long delay, but this point dropped of my list.

I found the reason why Prepare didn't work, and I corrected the problem.
I did however notice that the conversion would automatically stop after a bit if you don't keep calling the Prepare URL regularly to let it know its still active - but if you want to show a progress anyway, that should hopefully not be a big problem. The timeout should be 5 minutes per call in the future, so no pressure to call it too often.
Title: Re: MCWS - Video Transcoding
Post by: GrantDG on May 07, 2014, 04:43:22 pm
Sorry for the long delay, but this point dropped of my list.

I found the reason why Prepare didn't work, and I corrected the problem.

Excellent news Hendrik. Can you tell me the version this is implemented in? I'll add that check to my codebase.

Thanks for your help.
Title: Re: MCWS - Video Transcoding
Post by: Hendrik on May 08, 2014, 01:52:40 am
Its in 19.0.133