Reversing NSC

I’ve reverse engineered the encoding used in the Microsoft NSC format and written a decoder. Here’s how Cisco describes NSC:

A multicast description file is required at the Cisco content engine’s Windows Media Technology Server. This description file, in the form of an .nsc file, is received from a known URL, mount point, or even via email. This file is also referred to as an “announcement.” The source path follows the standards based URL format: … the structure of the .nsc file is protected with the use of encryption. This is used to protect the media from network sniffing of the media source’s IP address, port, and stream format.

That it’s encryption is a faulty assumption (or bullshit marketing) on Cisco’s part. The algorithm doesn’t take a key.

Download: nscdec.c (MD5: 7c81ca49bc68c2b8671d00f0cdf960e3)

Example usage:
$ nscdec 02AW000000000SLm1D0580HG1C0440MG0m0380800i0200GG0000
Encoding type: 2
Decoded string: [WMRELAY02 , A]

Update: VLC should have NSC support in the near future.

Linus on /.

Linus Torvalds in a recent LKML posting:

Gaah. I don’t tend to bother about slashdot, because quite frankly, the whole _point_ of slashdot is to have this big public wanking session with people getting together and making their own “insightful” comment on any random topic, whether they know anything about it or not.

Quoted for truth.


The following documents just became available for download from the SMPTE website:

Trial Publication of SMPTE 421M PROPOSED SMPTE STANDARD for Television:
VC-1 Compressed Video Bitstream Format and Decoding Process

Trial Publication of RP 227 PROPOSED SMPTE RECOMMENDED PRACTICE for Television:
VC-1 Bitstream Transport Encodings

Trial Publication of RP 228 PROPOSED SMPTE RECOMMENDED PRACTICE for Television:
VC-1 Decoder and Bitstream Conformance

VC-1 is also known as Windows Media Video 9. See this screenshot of VLC playing the Shuttle Discovery Launch video using the VC-1 reference decoder under GNU/Linux. The reference decoder won’t be publicly available until VC-1 becomes a SMPTE standard. Update: the reference decoder is now publicly available at


I spent last week in Paris. My previous trips to Paris have been to attend conferences, which usually leaves very little time to see the sights. This time the purpose of my trip was to experience the city. I’ve put up some of the pictures I snapped. If you like Chinese food, I recommend La Couronne D’or. The food was great and they had a hilarious waiter that was straight out of The Party. “La Cantatrice Chauve” at Théâtre de la Huchette was great fun!

La Huchette is a small theater in the Latin Quarter that has presented Ionesco’s first two plays without interruption since 1957. Eugene Ionesco was 32 years old when he left his native country Romania in order to establish life with his family in Paris. Six years later, La Cantatrice Chauve (“The Bald Soprano”), his first play – or his first anti-play as he called it – was performed for the first time. La Cantatrice Chauve, whose source of inspiration is in part the author’s experience with foreign language textbooks, is not only a satire of the superficiality and incommunicability of a society frozen in meaningless formalities, but also an inquiry into the meaning of theater in a society turned upside-down by World War II.