Monday, December 29, 2008

Nuclear Submarine use Windows OS

:) Seven or eight years ago, I was project leader and architect on developing robotics system platform for Nuclear Powerplants inspection system.

My decision to develop such system on Windows OS platform was :) pretty controversial, but I(we) made it trough, and Windows OS based, nuclear power plant inspection robotics system was born.
System for inspecting nuclear reactor core, not parking lots :).

After more then half a decade, I read that British nuclear submarines are getting new control system based on Windows XP platform :)

And I feel good :)

http://www.tportal.hr/tehno/racunala/3378/Windowsi-u-nuklearnim-podmornicama.html
Article is on Croatian, but non the less :)

Nuclear Windows are coming all around :)

MS Windows Extensions...

This is great :)

Like powertoys, even better :)
http://www.extensoft.com/

GREAT :) rimes with FREE :)

Sunday, December 28, 2008

Can MS Surface change the world.

YES!

We had a long and thoughtful conversation about repercussions of MS Surface to user experience.
Together with Internet, cloud computing and social networking on large scale, Surface will become the messenger of new era, integrated smart technology.

Like all things new inventions with introduction of radical approach changes, Surface will change everything. Not that smart tables are needed, now or in future, but because of fundamental change in user experience.

For years in past, I've been preaching about, soon beginning, a new era in computer experiences. We have reached a milestone point in evolution of current technology, and accidentally, most overseen and beaten OS - Vista is the one that changed it all, but no one noticed it :)

WPF - Windows Presentation Framework is the one responsible for dome of a new era in experiences. For last three years of Vista being around, developers have been playing with new tool, learning, feeling, touching, but not much else :)

A now, the first born of a new age is here, soon we will all meet a prince of the future - Surface.

And in a blink of an eye, Surface will change, adopt, evolve into all different kinds of appliances and into our world.

You can trust me on this one, in ten years, Surface will be everywhere. On TV, on kitchen table, on fridge, on floor, on wall, on windows....

We will expect that every single surface in our surrounding get alive on our touch or presence, and serve us with passion.

SaaN.Tv

www.saan.tv

Join us on voyage to new digital television era.
Minimum one year of TV content archives at your finger tips.

Search, Tag, Organize, Share, Enjoy.

SaaN.Tv Team
(that's us :))

Thursday, December 4, 2008

Windows Media Publishing point with geolocation

I wanted to write article about it, but this one, very recent is soo good, I don't have anything to add.

From newsgroups:

We've used the HostIP lookup before http://www.hostip.info/ which
you're encouraged to grab the database monthly using rsync and parse
it into the database format you use there.

They offer CSV, Postgres and MySQL downloads, though I've converted to
SQLite for our application. You might use SQL Server for example, by
parsing the CSV files in an an application update scheduled monthly -
the IP blocks only change location very rarely.

The data quality is more than adequate for your intended use.

Rsync is used to minimise the load on their freely provided data
sources (as well as your own download time and network resources), and
ensures only modifed data is copied after the initial sync.

If you choose to use their web API, please be sure to contribute a
cash donation appropriate to your usage level.

Maxmind offer a "lite" open source version of their database, which
includes a C# class you could modify : see

http://www.maxmind.com/app/api and
http://www.maxmind.com/app/geoip_country

The data has been more closely verified from alternate sources and is
appropriate for geolocation where it really matters.

In both cases what you're likely to have is an IP address lookup from
A.B.C.D which does primary lookup on a table referenced to IP.A, and
which contains rows with the B.C component.

Localisation is unnecessary to the D component of the IP address.

I preferred the A table structure (256 tables ip_0, ip_1, ...) because
in MySQL case, it will load the table into memory on first use. This
data will be cached into the user session, and won't be accessed
frequently once the user has connected, so more but smaller tables are
more efficient for MySQL.

Other table structures might be a single large table, depending on
which is best handled by your database, and contains indexes on rows
for A.B or A.B.C parts of the address.

Typical data size can be from 250-500MB on disk. For transport or
distribition, this can usually be 7-zipped to around 25-30MB.

HTH
Cheers - Neil
------------------------------------------------
Digital Media MVP : 2004-2008
http://mvp.support.microsoft.com/mvpfaqs

Monday, December 1, 2008

Smooth HD inside...

IIS Smooth Streaming falls into a class of delivery known generically as Adaptive Streaming. With this method, the video asset is encoded at multiple bitrates in a GOP aligned fashion which allows client-side Silverlight managed code running inside of a custom MediaStreamSource class to make decisions at runtime based on network and local conditions (e.g. dropped frames) and switch to lower or higher steams as needed.

Over the wire, streams are delivered in chunks using progressive HTTP, each chunk containing a couple of seconds worth of video samples. In classical adaptive streaming, these chunks are typically laid down on disk as many discrete files. One of the nice features of IIS Smooth Streaming is that, on disk, the chunks are all stored in a single file per stream rather than many hundreds or thousands of fragments. The IIS Smooth Streaming Module installed on the server then translates chunk requests from the wire into file offsets and serves the chunks; effectively virtualizing the concept of a chunk.

(from James Clark)

Wednesday, November 26, 2008

When moving Virtual machine from VPC to HyperV

If virtual machine bus is disabled, follow this procedure:

Did this vm originally come from Virtual Server or Virtual PC? Or did you create it from scratch in Hyper-V?

When a Vista or 2008 vm comes from VS or VPC, you need to:

1. run msconfig
2. go to the Boot tab
3. click the Advanced options button
4. check Detect HAL
5. click OK
6. click OK
7. reboot the vm
8. apply Integration Services

(from John Paul Cook)

Monday, November 24, 2008

Why slow down :)

Well, simply putted :) We are moving into production :)
2 years of preparation, and new grand entrance :)

And yes :) There is always something more to add, test, reconsider, rethink, redo...

Tuesday, November 18, 2008

Peek inside Smooth HD

From great James Clark blog
http://www.clarkezone.net/default.aspx?id=6149974c-3ebf-4002-8dd1-e2aecf835eeb

Little peek inside Smooth HD functionality, encoding issues and real life usage.

Power of IIS 7 Media Pack

Few weeks in advance of regional MS conference, called Advanced Technology Day in Zagreb, Croatia, I've was asked to talk about Windows Media Services in 2008 server.

Great :) I like to talk, no problem.

Presentation draft was finished few days latter with about 15 slides, more then enough to show news in WMS 2008.

But then IIS 7 Media Pack happened, SmoothHD, Bit Throttling, ISX etc etc....

In final presentation there was only one WMS 2008 slide, and reset was IIS Media Pack :)

First glimpse of incoming player on Media Server market.

Monday, October 27, 2008

Comparing apples and oranges...

This is very interesting article, if you know even a little bit about photography equipment.

http://luminous-landscape.com/reviews/kidding.shtml

Can you compare Hasselblad H2 and P45+ with the Hasselblad 55-110mm lens attached and Canon G10, or $40,000 USD vs $500 USD?

Yes you can, and results are unbelievable and predictable in the same time.

Instead of saying there is a difference, but not enough to prove additional price, which is trivial conclusion and doesn't mean a thing, let me quote:

In every case no one could reliably tell the difference between 13X19" prints shot with the $40,000 Hasselblad and Phase One 39 Megapixel back, and the new $500 Canon G10. In the end no one got more than 60% right, and overall the split was about 50 / 50, with no clear differentiator. In other words, no better than chance.

So, can we compare apples and oranges?
Yes, if you compare final output - satisfaction with end result, not by taste, or color, or price, but with final output.

Thursday, October 23, 2008

Media files locked by process

Sometimes we encounter locking of media files by servers like WMS or IIS.
They provided access to file at some point, but long after usage, the file is still locked for deletion, and only restart of server WMS or IIS process helps.

Unfortunately, there isn't a silver built solution for all use cases, but here is nice conversation on that topic for WMS by Neil Smith:

with this article from Microsoft:
How To Improve Server Performance when Streaming On-Demand Content from a Remote Share

explaining how to control WMS file open share mode.

Wednesday, October 22, 2008

Hosted WCF Service and 10061 error

Ok,

this is one of those things you just want to kick some ass.
Everything is working locally, but from remote computer, you receive cryptic 10061 TCP error.

The problem is not in firewall, or crossdomain or in the woods :)

You need to specify base address of your service according to actual service location.
Why? Because implementation is faulty, that's why!!

And I don't really think that programmers who developed WCF are guilty, but the lazy guy who leads them, or architect, or somebody anyway...

I've spent 3-4 days of working around the problem, on news groups, on web, on crystal ball, with local priest, and then when I already almost let it all flow down the river, I realized that it must be DNS problem, and so I've found the cure....

Man I want to kick some ass.

Friday, October 10, 2008

WPF Enhancements

1. WPF Interoperability with Direct3D

.NET 3.5 SP1 adds support to efficiently integrate Direct3D directly into WPF. This gives you more direct access to the hardware and to take full advantage of the Direct3D API within WPF applications. You will be able to treat Direct3D content just like an image within an application, as well as use Direct3D content as textures on WPF controls. We could either load them in as image surfaces within a WPF application, or map them as textures on WPF controls.


2. WPF Extensible Shader Effects

.NET 3.5 SP1 adds support in WPF for a new shader effects architecture and API that allows extremely expressive visual effects to be created and applied to any control or element within WPF. These shader effects support blending multiple input compositions together. What makes them particularly powerful is that WPF executes effects (including custom effects you build yourself) using the GPU - giving you fully hardware accelerated graphics performance. Like almost everything in WPF, you can also use WPF databinding and animation on the properties of an effect (allowing them to be fully integrated into an experience).


More Info Here

Expression Encoder 2 SP1

Well, here it is :)

From my perspective, best news are:
"H.264 encoding for devices" and "A/B compare enhancements".

First one is pretty important if you want to automatize generating podcasts for devices with high quality VC-1 output for Silverlight.

And for better A/B compare feature :), you need to try it to appreciate it, really, you should try.

Friday, October 3, 2008

WMS Streaming from Network Storage

To follow up on last post, you need ability to stream with WMS from network storage, and it isn't trivial at all.

Excellent solutions from newsgroup
microsoft.public.windowsmedia.server

Copy paste from Ravi Raman [MS]:
Hi Christer/Sachin,

This is going to be a lengthy post, so that I can get across what is
happening with the server here.

The server is running is running under Network service account. This
account impersonates the computer account when in a domain. So, things are
a little bit easy when you are in a domain - give the computer account
access to the file share and this problem is solved.

When it is not in a domain, this Network Service is an unknown user when it
accesses any file on another computer. Since the account under which the
service runs is not recognized by the remote file share, if the file share
has any access control on it, it won't let the server open the files. Also,
a service (on both domain and non-domain settings) does not understand
drive mappings - so you should use full UNC path as your source.

For on demand publishing points (on both domains and non-domains), there is
additional restriction with the NTFS ACL plug-in which cannot successfully
get access if it tries accessing files on a remote file share. The NTFS ACL
plug-in doesn't apply to broadcast.

To make on demand and broadcast scenarios work from a remote file share we
need to a) make sure the account under which service runs has access to
file share and other resources b) and for on demand pub points, ensure that
NTFS ACL check does not happen.

Here is a step by step run down to make your scenario work. It should work
for remote file share, but not sure about NAS. Since this is a work around
that I haven't fully tested, I suggest you do this on test machines to see
if it works.

1. This step is applicable only if you source On Demand from a file share:
Go to server->Properties->Authorization. Disable "WMS NTFS ACL
Authorization". But once you do this, you will need to go to each on demand
publishing point that sources from a Local drive and enable this plug-in on
them to maintain the same level of security. In short NTFS ACL should be
disabled at server level and at publishing point level for all on demad
publishing point sourcing from remote file share.
2. Create an account (say "WMSvcAcct" ) that has the SAME password on the
file share machine AND WMServer machine.
3. On the file share, give the local WMSvcAcct read permissions on the file
share and the physical directory.
4. On the WMServer machine, give the WMSvcAcct account the following
accesses (or better yet, just give whatever permissions Network Service
currently has):
- %WINDIR%\system32\windows media\server directory - Full Control to all
subdirectories and files under this.
- %SystemDrive%:\wmpub\wmroot - Read access (if you access from default
publishing point)
- %SystemDrive%:\wmpub\wmarchive - Read+Write access (if you are
archiving)
- %WINDIR%\system32\logfiles\wms - Read+Write access (if you enable
logging)
- Any other directory that your on demand publishing points source from.
Registry keys:
- HKLM\Software\Microsoft\Windows Media\Server\Namespace\Storage - Full
control

5. Also on WMS box, go to Local Security Policies->Local Policies->User
Rights Assignment - find all the privileges given to Network Service and
give it to this WMSvcAcct.
6. Go to the Computer management->services. Find Window Media Services,
double click and choose the Logon option. Enter the username and password
for WMSvcAcct to make the WMServer service run under WMSvcAcct account.
This account is available on the file share with same password, so this
makes it possible for the server to access content on a file share.

This should get remote file share scenario going in a pretty secure
setting. I will try to find if there is a better way of doing this and if
there is a way around for NAS.
Thx,
Ravi


Thanks Ravi.

Argh... Silverlight 2 Server Side Scripting Support

Ok, you got very happy with announcement of Silverlight 2 supports WMS server side scripting (SMIL), you implement it and then ! BUUM :)

From documentation, as always I've read it only after series of prototypes to find out where it hurts:

Seeking behavior/ CanSeek: Seeking is not supported for either on-demand or broadcast streams in Silverlight 2. CanSeek always returns false if given a SSPL.


Of course this isn't actually true, since Silverlight CAN seek, and DO seek, but only in some scenarios, like playing OnDemand content trough Directory publishing points.

But it can't do more complex senarious, like seeking SMIL generated playlists.

To fix this, you need to introduce some of you custom logic behind, and generate scripts on Silverlight 2 GUI demand dynamically, with server side seeking emulation, using clipBegin SMIL tag.

And then, you find out that it still can't play SMILs with archives from directory publishing points and clipBegin tag. Then you move to direct archive broadcast, not trough Directory Publishing point (this hurts in 10+ servers scenarious, just to configure, it takes whole day).

And then you find out that Silverlight 2 downloader can't handle URLs with \ in path like:

http://YourWMSServer/DynamicPubPoint?StreamFileSource=C:\MyFolder\MyVideo.wmv

Where DynamicPubPoint is your httpd dynamic ASP behind, used for dymaic SMIL generation.

And then, finally, you introduce custom escape sequence, and change url to something like:
http://YourWMSServer/DynamicPubPoint?StreamFileSource=C:_MyFolder_MyVideo.wmv

And IT WORKS :)

Of course, this escape sequence problem is needed only in managed Silverlight. Javascript based silverlight throws exception, but actually playes the stream.

And they said they support Server Side Playlists - my ass they do.

Wednesday, October 1, 2008

Why Wall Street crash is sooo good?

"Thanks to Wall Street's implosion, the chairman of Stanford University's Computer Science Department says he is seeing more interest from students in computer science. Ditto at Boston College. Computer science enrollments crashed after the dot-com bust as students turned to hedge fund majors. And are computer science grads getting jobs? The professor at one university program that graduates about 45 students a year with CS degrees, wrote in a comment: 'Last year 87% of our seniors were employed before graduation. The median starting salary was $58,500. A majority of CIS students had multiple job offers. From where I sit, there is a huge demand for entry level IT professionals in IS and in CS.'"
(from
dcblogs)

I was just talking about this topic few days ago, that crash of financial market is great thing. Because of enormous profits on "virtual" financial market, world was oriented on trade, and trade only: Hurry, XY country is opening, invest there, wait 6 months, gain extreme profit, jump to new market...

It had to stop somewhere, and now it stopped :).
Soooo :) If you want to earn money, now, again, you need to create something, not just resell it.

Our time is coming...

I wanted to do this....


Maximum depth: 6 km!

Friday, September 26, 2008

Let's join the party :) Silverlight 2 RC0 is out....

What do you need to setup?

1. VS 2008 SP1
2. Silverlight 2 for VS 2008 SP1 RC0
3. Expression Blend 2 SP1 Preview

What's new :)
From my perspective, most important, SL will now be able to call Secure Web Services.

All this in bigger & better article, here.

Monday, September 22, 2008

Silverlight 2 News

Ok, this one is old :)
But with big B :), I've found many things I actually forgot, so maybe you did also :)

On Scott Guthrie Blog, Silverlight 2 What's New

Wednesday, September 17, 2008

H.264 in Silverlight

Why?

A lot of good reasons :). Open platforms tend to stick longer, better investment of too expensive developers time, guarantee that platform will survive more challenges of tomorrow.

Anyway, good article from Ben :)
H.264 and AAC support coming in Silverlight

Monday, September 8, 2008

Want to kill some one :)

Web Development Helper

This is excellent web development help tool. It helped me, and specially guys in my office....

Page Features:

  • DOM inspector allows viewing all elements, selected elements, or elements matching an ID or CSS class, their attributes and styles.
  • Capturing a screen shot of the current page.
  • Viewing page information such as metadata, tags, and linked resources.
Networking Features:
  • Logging HTTP (and HTTPS) requests initiated by the browser or Ajax scripts
  • Viewing request and response details.
  • Ability to filter the types of URLs to log.
Scripting Features:
  • Trap script errors to see detailed (and correct) call stack for the script error.
  • A script console to provide trace functionality to scripts using the window.debugService script API.
  • An immediate window to write and run script.
  • A script class browser to browse classes defined in script (specifically classes written to the ASP.NET Ajax or Script# pattern).
ASP.NET Features:
  • View view state in the page in raw, decoded, and parsed forms, to understand what is being generated into the view state (esp. useful for control developers).
  • View items stored by applications into cache, and the ability to remove them for purposes of testing.
  • View trace information, and hide it from the page, so it does not get in the way of your page layout.

Friday, September 5, 2008

Canon & Microsoft

Maybe you didn't notice, but they are pretty similar last twenty years or so.
They both dominate market, with technology far more advanced that most of the competition.

And, yes, they were both asleep for last four years, with just a few really revolutionary products, they used to create.

But I really feel that that time is over, Vista is great OS, from underneath, on user outside, it doesn't bring that much. And people were unhappy :).

But the beauty shines from inside, and new generation is coming, I can feel it, new generation of MS OS, new generation of Canon cameras.

They both woke up, about year ago, looking around and seeing competition has found a way to catch up.

And yes, they moved their asses and did what they do best, revolutionary products.
http://www.canon.com/moon/en/index.html

This is just a teaser, but :) soon :)

I just have to join the buzz :)

Jerry Seinfeld in MS commercial.

If it is good product, they will talk about it :)

Thursday, September 4, 2008

Google Chrome EULA

Bastards...

This is really nuts, EULAs from software companies are becoming ridiculous.

Let me quote:

"By submitting, posting or displaying the content you give Google a perpetual, irrevocable, worldwide, royalty-free, and non-exclusive license to reproduce, adapt, modify, translate, publish, publicly perform, publicly display and distribute any Content which you submit, post or display on or through, the Services. "

Ok, this EULA thing has to stop. There are enough free browsers out there to have a choice.

Repeat after me:
GOOGLE DON'T & WON'T OWN MY TEXT, MY PHOTOS, MY CONTACTS!

Wednesday, August 27, 2008

On The Dark Side

I'm not administrator, but sometimes I just have to.
So here is a solution for very ugly problem.

WCF hosted by IIS 6 on Windows Server 2003 don't work, even after installing / reinstalling.
The problem is solved by:

1.Go to Run. type 'inetmgr'. this will open a Internet Information Services.

2.Under websites. go to default web site and select properties.

3.Under Home Directory Tab,Select Configuration, which will show you the Application Configuration.

4.Under Application Configuration,Under Mappings Tab,please check wether you can see an extension with '.svc'.

5. if it is not there please add an extension named as .svc and with the Executable in %WIN%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll

6.reset your IIS by typing 'iisreset' in the run menu.

7. Run your application again.

This is copy from unknown web Hero :)
Thank you Pratap.BVNP :)

Sunday, August 24, 2008

Windows Media PVR

PVR using windows media is very possible and working in production.

It can be server side, client side, with or without DRM, from few hours to few months of time shift pause.

And it works like a charm.

Jerislav

Thursday, August 21, 2008

3D Photosynth

Microsoft has publicly released Photosynth, a way of combining conventional images to create 3D scenes. After you upload a set of images, the software analyzes each for similarities to the others, and then it uses this data to build a model of where the photos were taken. A viewer can then browse through the final photograph, navigating smoothly and zooming in tiny details.

What's the idea?

Humans are able to perceive depth by instinctively calculating the effect on perspective of the offset between their eyes. Conventional digital cameras, with a single viewpoint on the world, cannot do this. Photosynth identifies common features in multiple photographs and uses them to work out how the images relate to one another. It then uses this information to build up a 3D map of how the features in the image, and the positions of the cameras that took them, relate to one another.

The software can combine images shot with the creation of 'Synths' in mind or by mixing images taken at different times, dates and resolutions.

It is the first use of Microsoft's much-hyped and rather astonishingly-named 'Seadragon' technology. The accompanying Photosynth blog provides some of the background. The team has provided video and pdf instructions for creating your own 'Synths,' including a guide to subjects and photographs that will be considered 'Synthy' and those considered 'Not Synthy.' (It turns out that Venice is considered distinctive and feature-full enough to be Synthy, while the Seattle Public Library remains stubbornly resistant to Synthing).

http://photosynth.net/
(article from DPreview.com)

Tuesday, August 19, 2008

Saturday, July 19, 2008

Friday, July 11, 2008

The future of everything

http://www.intomobile.com/2008/03/12/where-will-the-internet-in-relation-to-mobile-be-in-5-years.html

I've tried to comment the article few times, for the blog, but I can't.
It will be such a huge difference for everybody, in so many ways we can't even comprehend today.

But here is a tip, buy shares from companies that implement this technology first.

They are new Microsoft, Google & Yahoo.

P.S.
If we enter the market with this services, buy our shares first :)

Tuesday, July 8, 2008

My team in Imagine CUP 2008 Semifinals

http://imaginecup.com/competition/finalists.aspx

Under CROATIA :)

Ok, my team statement is maybe not entirely true :).
I'm digital media consultant :), only consultant besides their mentor Ivan Šaškor.

BUT STILL, MY TEAM IS GOING FOR VICTORY :D

Friday, July 4, 2008

How to show HTML instead of WMV in WMP

For geeks this is perfectly acceptable title :).

For others, here is a picture.

Instead of pushing video inside clients Windows Media Player, you can push complete web page, using ASX playlists.


More info @
http://www.microsoft.com/windows/windowsmedia/howto/articles/htmlviewsupport.aspx

Thursday, July 3, 2008

Silverlight NavFx

Working with Silverlight? Working with Pages?

Want to do it little easier?
http://www.codeplex.com/NavFx

And direct link to introduction:
NavFx Part 1 - Quick Reference

Tuesday, June 24, 2008

Additional WMV encoders / muxers

WMV Muxer/Encoder by DVBPortal - A simple WMV muxer and encoder useful for muxing VC-1 streams into ASF without recompressing. Encoder feature requires .prx profiles which can be customized using the WM Profile Editor from the WME9 package.

WMNicEnc - Nic’s WMV encoder takes Avisynth input only and supports all the advanced encoding settings of VC-1. Small, easy and effective.

VC-1 encoder FREE

http://nic.dnsalias.com/wm9enc.html

VC-1 Muxer

http://www.dvbportal.de/

You want to mux VC-1 or WMV, try this.
And more :)

Lecturing about Expression Encoder...

Hi,

again I was selected speaker for MS community on field of digital media.
http://kulendayz.mscommunity.net/

This was level 400 session, short introduction to Expression Encoder and then in depth voyage of VC-1 codec with optimizations techniques.

But :(, actually there aren't many listeners capable of of this level, not that they wouldn't understand, but they just don't need that level of in depth session.

So yes, once again, I had to go higher, higher :).

Microsoft should give me t-shirt of their Evangelist team :), because I spend so much time preaching about benefits of Windows Media, trough last six or seven years I was selected speaker for MS Media technologies :)

Just in case, my size is XL :)

Monday, June 23, 2008

Low lattency WM streaming

http://www.on10.net/blogs/benwagg/Low-Latency-webcasting-with-Windows-Media-and-Siverlight/

Of course, Ben Waggoner is answering to this one.
I would like to add just one little addition, it is possible to acquire even shorter latencies with techniques used in ConferenceXP product.

Source codes and executable of ConferenceXP are available at MS Research web.

We have gained 300ms latencies, using our encoders and players build on top of WMF.

Tuesday, June 17, 2008

WM Files Analysis Tool

For encoding params tweeking, general analysis or just being curious, try this tool
WMSnoop.

Excellent free utility for WM streams analysis.

And then, when you see all the details and conclude that utility is nothing special :)
Then click "Snoop Details"

Best by frame analysis I've ever seen.

Cool :)

Monday, June 9, 2008

There are guys who don't like VC-1

http://www.streamingmedia.com/article.asp?id=10431&page=1&c=4

Excellent :).
Good competition is the best thing for market.

Political Improve :D

Let me quote:
"Beta2 adds improved support for server side playlists on Windows Media Services"...

Excellent, now let me finish the quote :D
"(previous releases only supported client-side playlists)."

It always puts a smile on my face.
But, never the less, new Silverlight beta 2 is out.
And remember, this is Google killer :D

Thursday, June 5, 2008

Half a decade...

Great Ben's review of quality improvements of VC-1 compared to WM9.

http://www.on10.net/blogs/benwagg/What-a-difference-a-half-decade-makes-Live-VC-1-today-and-at-launch/

I'm in Top 10 speakers

Hi all,
I have to brag about this :)

Biggest IT conference in Croatia, Microsoft oriented - this year between around 180 speakers I was elected in Top 10 :)

http://www.microsoft.com/croatia/windays/english/top10.mspx

Hehe :)
My guys immediately said that the reason was simple, it was speakers election, not workers :)

Wednesday, June 4, 2008

My small team training...

This is my small team on First 27.7
Great guys.

Wednesday, May 28, 2008

ASX playlists in Silverlight

Nice entry demo in client side scripting using ASX and Silverlight.

http://blogs.msdn.com/silverlight_sdk/archive/2007/05/31/using-playlists-in-silverlight.aspx

I was wrong, and now I'm so ashamed

I was wrong.
XAML Media Element has it's state property. It is MediaElement.CurrentState.

I really don't know how I missed it for so many times before.

Ahh...

Wednesday, May 21, 2008

AviSynth

Recently people asked me for opinion on Avi Synth tool, and after reevaluation, it is really good. Excellent in some ways.

More about Avi Synth on this pages here.

But one thing is missing in AviSynth, and that is better Windows Media support.
I'm thinking of doing some open source - thank you community thing, I will write WM Source plugin for AVS system. You will be able to open any WM URL and use it as AVS source for editing, transforming etc.

Maybe even WM writer to file, network port or push to WM Server.

If someone is interested, I will speed it up.

Monday, May 12, 2008

WMS 3.0 Prototype

It worked, it worked like a charm.
We can seek unseekable ASF files now, meaning we can position inside WMS live archives before they are closed and indexed.

Minimal delay, with WMS bridge and his Fast Start technologies (although we can create our own now) we can bring low latency pause, and position to time.

Now it is possible to seek and play any ASF file, indexed or not. With minimal overhead in configuration and applications.

No extra cache's, no transcoding, no other container formats, just minimal logic on top of client, minimal, few lines of code. Maybe not even that if I succed integrating this system inside WMS Datasource plugin.

Sunday, May 11, 2008

WMS PVR 3.0

Product life starts at version 3.0, as old MS legend says.

I think I cracked the idea about Server Side PVR system based on Windows Media platform to overcome problems with ASF late indexing.

New and important moment of this idea is making client side completely generic, or at least as generic as possible.

Newest idea is using completely generic client - silverlight generic with just a thin layer of logic, enabling it to pause live stream coming from Windows Media Services.

So, in this idea, when you press pause button, media element must switch from main Server Publishing point to custom server pub point and remember correct time stamp.

When client presses play, his media element / player now connects to custom server, but still windows media format port, just it is not WMS port, but custom server (thin layer app, nothing special.)

What are the benefits? Generic silverlight client is possible - from linux to any platform, including nokia phones series 40 & 60 (already signed between companies.)

What are the compromises?
You don't have fast start, some start lag will be introduced, and you don't have advert power of windows media services.

Although it is possible to make workaround to even this problem, creating and reprograming new publishing point for every client with specific time tag. This newly created publishing point would internally connect to custom server, and use it as any other windows media stream from http source. So we would have adverts and fast start.

What are the risks of such soulution?
Well, it would be extremely complex to provide perfect pause, but using some smart psihology, we could revert few secconds before the user paused, and he would not miss anything, with just a little overhead.

For more info, just email me.

Good Programming FAQ

This guy is really good. I've based so many prototypes on his samples as starting points.
Had to share.

Alessandro Angeli's Programming FAQ

Friday, May 9, 2008

Why I hate MediaElement - True testimony

It is very simple.
Little bastard is behaving on it's own. Error descriptions provide no help, or even put you on very bad trail.

The thing is, you can't ask MediaElement for it's State!!! He actively refuses to tell about his state.

Sometimes I just want to punish somebody in WPF team.
This is basic functionality.
No excuses.
Fix it.

P.S.
The problem is not new. In MediaPlayer, similar problem exists. Although there is State property, it causes problems every some time, which is really not something you want to have in 24x7 applications we do.

And especially I dislike bug in rendering that just happen like black screen, with everything normally working, just there is black screen. Virtually undetectable.

Fix it!

Seeking Media Element with 24h + Archives

What's the catch??

You maybe think that it is trivial, but it's not. Well yes it is, but there is a mislead in MSDN documentation on MediaElement Position property which states correct format:
"HH:MM:SS" when in fact it necessary to work with

"DD.HH:MM:SS" with 24h+ archives.

Of course the problem is worse because the error it gives away are complete nonsense, like Object don't support that method etc. and it worked for the same file with the same object just a minute ago, or at least before you tried to position before "23:59:59".

So instead of using "83:24:10" use "3.11:24:10" format.

Tuesday, April 29, 2008

Mommy & Daddy

Ok, stupid title, but with some truth inside.
How to write a better article about VC-1 & Silverlight future than it's mommy & daddy team.

You can't do it, so here is the link to Ben's blog and Encoder newsletter.

Thursday, April 3, 2008

Dynamic ASX playlists...

Hi there,

little off topic, but if you ever wondered how to create dynamic ASX playlists, then here it is, one line of ASP code:

Response.ContentType = "video/x-ms-asf";

This will instruct ASP page not to use HTML content type, and enable it to write out pure ASX playlist in plain boring fashion:

Response.Write(...

Now all you need is to point your media player / silverlight to your asp page, and that's it.
All ASX functionality in dynamic package.

MS WMS PVR 2.0 iliti Nema toga što balkanac neće...

Yes it is possible, the new prototype is working just fine on windows, embedded and windows CE / windows mobile platform.

But before any drawings and how tooos, it should get at least in beta.

If you want to know more, before I put it in blog, just email.

Monday, March 24, 2008

Windows Media Serivces PVR plugin

Have you ever wanted to just sit and cry?
I remember part of a pretty old song, the main verse was something like so close, but so far away....

Few days ago, I decided to write WMS PVR plugin. Idea was beautiful in its utter simplicity, single WMS plugin will be configured to acquire normal live WM stream, and will provide support for pause, seek, jump etc from few secconds in past to few months.

Of course it will be optimised for thousands of concurent users, using hdd and in memory buffer optimisations on large scale (at least some 64 bit atvantage) etc etc. Everything sounded a real deal, everything fitted perfectly.

It actually worked, the prototype, almost completely. Except the fact it will never work in real life, I simply can't solve ASF indexing problems for now. In any other combination, it works like a charm, using other container, it works perfectly, but it wont be compatible with generic media player clients, so no mobile phones, no PDA's no media center pcs, no....

What are the options?

Actually there are just two:
1. Employ in Microsoft and make sufficient changes in WM Services to natively support PVR.
2. Create custom Media Server and Player for every target platform.

So, if you are Bill and just maybe you last name is Gates, I would like to apply for job. I will work for free, 3 months are all I need, just give me access to WM team, and you will have excellent PVR platform for live content with one click away from administrators.

Saturday, March 22, 2008

When MS is not big enough...

Microsoft is pure monopolist, we all know.
Punished for enjoying it status many times, as we all know...

But of course, truth is sometimes little different. If you read this blog, you know my enthusiasm about new WM Photo, then HD Photo and finally JPEG XR format.

So what about it, who cares about new JPEG when we already have JPEG? If you are photographer for example, you should care very much, because it solves JPEG problem - fixed limited color bit depth, problem who is killing JPEG for photographers.

And now MS despite all The Monopolists Powers can't introduce excellent new open format to mass market.

Instead of reanalyzing well known reasons for this mass market ignoring that already happened to Adobe Digital Negative DNG format, also beautifull open specs solution,

we can all, politely ask for one more time to all major players on the market,
Get serious, put behind all small personal interests, and embrace open formats.

I'm generally against open code, it doesn't make any sense, but I'm all for open formats politics.

So repeat after me:
1. I want all my apps to have open formats native support
2. I want all my electronics devices to use USB for power and data transfer
3. I want all my....
...

Monday, March 17, 2008

BDA Sample

And of course I've forgot to mention, there are some very nice BDA examples out there, and there isn't much to add.

If you need one, and even better, if you need it in c#, look few posts under Lazy for C++.

There is good BDA sample with c# imported directshow interfaces.

J.

DVB trough graphedit Journey Part 2


And you thought I would forget to finish journey :)

Well actually there isn't any journey, configuring DVB-T is trivial.

There is just one thing, if you are in Croatia, trust no one :) TV station actually miss configured broadcast, that instead of 522 000 kHz is 522 900 kHz effectively avoiding direct configuration.

Everything else is plain and boring stuff, I've putted screenshot of graph as a sample, it is usually the best help for me.

Any case, just email for questions any time...

To lazy for C++?

Well, here is the answer from open source community:

Do it all in .NET
http://directshownet.sourceforge.net/

Nice clean work, nice clean code, nice samples...

Tuesday, March 4, 2008

Mobile Silverlight?

Yes, Yes and Yes...
http://www.news.com/8301-10784_3-9884398-7.html?tag=nefd.top

for Nokia series 60 (expected) and 40 !!! (not really expected).
Others will follow, I'm sure.

Friday, February 29, 2008

Have you ever announced someone's blog?

Well now I have :)

The new Expression Encoder blog.
http://blogs.msdn.com/expressionencoder/

WMF c# Samples

There are excellent c# Windows Media Format examples, and this page is one of them.
http://icardoso.free.fr/projects/ManWMFSaples.php

Wednesday, January 30, 2008

I hate C++

I just hate it.
It is bljaaaahhhh. Everything editor, compiler, look & smell...
Is is ugly looking beast, in a bad way.

And I hate all the guys that love it, and all the guys that created it or still developing it.

Why?
Have you ever tried to work in it? Have you ever bumped into wall of unknown issue, error, compiling failure, registering failure, context failure, etc without any ANY sense, sometimes without any code change?

Well I have, and I hate it.

Friday, January 4, 2008

VC-1 Encoder SDK

Download link
So finally here it is, and it is free.

Some highlights:
  • Supports VC-1 Codec
  • Natively supports dividing of VC-1 stream from ASF container, enabling push of VC-1 into MPEG-2 TS for example.
I think that this is more than enough for step up, especially for very affordable price - Free!