December 17, 2003
MPEG4 XMT tutorial
After my own tutorial on using XMT (XMT-O, actually, a SMIL derivative) and BIFS to author interactive MPEG4 videos (along with the accompanying MPEG4 tutorial article), I found this excellent primer on using XMT-A to create simple MPEG4 scenes. XMT-A is lower-level than XMT-O - more control and flexibility, but more complex and more code to write, too.The author, Jean Le Feuvre, has created a good MPEG4 reference site around the GPAC project - a GNU-licensed implementation that will:
at term provide a 2D/3D core player,
complete MPEG-4
Systems encoders and publishing tools for content distribution.
Posted by larryb at 07:40 AM [permanent link] | Comments (0)
| TrackBacks (0)
Category: Video and Multimedia Technology
Category: Video and Multimedia Technology
December 12, 2003
Video streaming for the rest of us
Jon Udell writes in Infoworld about this experience with setting up his own personal webcasting station in no time. It's this kind of thing that makes ad-hoc personal publishing of video possible. While Jon points to how easy it was to set up, he also notes in his Weblog that it's still too geeky for anyone and everyone to publish and use video.My son made a Lego animation over the
weekend, I converted it to all
three streaming formats, and then I had to write up a whole page of
instructions so that friends and family could view it. Even then,
although I could view the streams in all three players on both Windows
and Mac, the success rate reported back to me was only about 50%. It's
like your worst cross-browser nightmare on steroids.
Regarding using start and end times to deep-link into a video file, Jon notes the difficulty of finding good information on the Web. Part of the reason for that might be that, for some reason, Google is still not indexing the articles in streamingmedia.com. I'll have to ask my search engine expert friend, Jill Whalen, about that. But in the meantime, here are three pieces on streamingmedia metafiles, with info on how to deep-link into the middle of a video with start and end times.
Posted by larryb at 08:14 AM [permanent link] | Comments (0)
| TrackBacks (1)
Category: Streaming Media Technology Tips
Category: Streaming Media Technology Tips
December 03, 2003
HTTP is more like streaming than it used to be!
I recently recieved this note from a reader of streamingmedia.com. It relates to my artlcle earlier this year, Streaming vs. Downloading Video: Understanding The Differences:
Recently my company blocked the access to Real server,
however i can still stream music from http: stream
sites such as www.undergroundhouse.net
I was wondering how it is possible? The music streams
just like RTSP streams, i can fast forward and play
the end of a mix almost instantly. Is there any trick
to do this or it is just a HTTP stream?
however i can still stream music from http: stream
sites such as www.undergroundhouse.net
I was wondering how it is possible? The music streams
just like RTSP streams, i can fast forward and play
the end of a mix almost instantly. Is there any trick
to do this or it is just a HTTP stream?
I checked out the site metioned here, and it is serving audio using HTTP from an Apache 1.3 web server. Indeed, I could advance an hour into the 32kbps audio file with almost instantaneous seek time. I started up my HTTP packet sniffer, loaded up an audio file, and then slid the RealPlayer's position slider ahead to near the end. A new HTTP request was sent to the Web server by RealPlayer. A look at the contents of that header revealed the secret:
GET /ugh/patrick_promo.rm
HTTP/1.1
Range:bytes=9914094-
Range:bytes=9914094-
HTTP 1.1 supports the Range parameter, which allows a specific byte range of the file to be requested. The Web server responds with the requested data in a "206 - Partial Content" message. It won't work with any Web server, but will with many. The W3C's docs on HTTP 1.1 say the following:
A server MAY ignore the Range header.
However, HTTP/1.1 origin servers and intermediate caches ought to
support byte ranges when possible, since Range supports efficient
recovery from partially failed transfers, and supports efficient
partial retrieval of large entities.
This does remove one of the clear advantages of true streaming over http streaming. It is clearly possible to seek ahead in a audio or video file streamed from a Web server. You do need to use a .ram metafile for this to work. If you link directly to the .rm file in your web page, then the browser will download the file and pass it whole to the RealPlayer (which now has no communication with the server). If you use a .ram file, then the RealPlayer makes its own connection to the server to get the media file, and that enables it to make Range requests as needed.
For those who are interested, the full http headers from the transaction appear in the extended entry under the "continue reading" link.
Captured using the EffeTech HTTP Sniffer 3.5
Initial Request:
GET /ugh/patrick_promo.rm HTTP/1.1
Accept: */*
User-Agent: RMA/1.0 (compatible; RealMedia)
Icy-MetaData: 1
Bandwidth: 10485800
ClientID: WinNT_5.0_6.0.11.868_RealPlayer_RN10PRM_en_686
GUID: 00000000-0000-0000-0000-000000000000
Language: en, *
RegionData: 02163
SupportsMaximumASMBandwidth: 1
Connection: Keep-Alive
Host: samples.deepconnections.com
Accept-Language: en, *
Accept-Encoding: gzip
Initial Response:
HTTP/1.1 200 OK
Date: Wed, 03 Dec 2003 18:33:03 GMT
Server: Apache/1.3.28 (Unix) mod_ssl/2.8.15 OpenSSL/0.9.7c PHP/4.3.3
Last-Modified: Thu, 20 Nov 2003 18:21:40 GMT
ETag: "3e18523-e8ecde-3fbd0634"
Accept-Ranges: bytes
Content-Length: 15264990
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: audio/x-pn-realaudio
Seek Request:
GET /ugh/patrick_promo.rm HTTP/1.1
Accept: */*
User-Agent: RMA/1.0 (compatible; RealMedia)
Icy-MetaData: 1
Bandwidth: 10485800
ClientID: WinNT_5.0_6.0.11.868_RealPlayer_RN10PRM_en_686
GUID: 00000000-0000-0000-0000-000000000000
Language: en, *
RegionData: 02163
SupportsMaximumASMBandwidth: 1
Connection: Keep-Alive
Host: samples.deepconnections.com
Accept-Language: en, *
Accept-Encoding: gzip
Range:bytes=9914094-
Seek Response:
HTTP/1.1 206 Partial Content
Date: Wed, 03 Dec 2003 18:33:11 GMT
Server: Apache/1.3.28 (Unix) mod_ssl/2.8.15 OpenSSL/0.9.7c PHP/4.3.3
Last-Modified: Thu, 20 Nov 2003 18:21:40 GMT
ETag: "3e18523-e8ecde-3fbd0634"
Accept-Ranges: bytes
Content-Length: 5350896
Content-Range: bytes 9914094-15264989/15264990
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: audio/x-pn-realaudio
Posted by larryb at 07:27 AM [permanent link] | Comments (0)
| TrackBacks (0)
Category: Streaming Media Technology Tips
Category: Streaming Media Technology Tips
December 02, 2003
Interactive MPEG4 authoring - more notes
My article on Interactive MPEG4 Authoring using XMT appeared last week on streamingmedia.com and is getting a lot of traffic. One thing I've learned from readers is that the interactive MPEG4 example and source code that goes with the article requires a lot of CPU horsepower to play. Users on 450MHz Pentium systems get choppy, halting playback, and I've confirmed this using my old dual-processor Pentium 300MHz machine. On my 800MHz machines, the example, which is encoded at about 516kbps, plays just fine.I'm not sure if it's the IBM M4Play applet I'm using that's got high CPU needs or if any MPEG4 player that supports this profile would be the same. Since the QT and RealONE players don't play this content, I haven't been able to easily check it out.
Search
Archives
Recent Entries
MPEG4 XMT tutorial
Video streaming for the rest of us
HTTP is more like streaming than it used to be!
Interactive MPEG4 authoring - more notes
Video streaming for the rest of us
HTTP is more like streaming than it used to be!
Interactive MPEG4 authoring - more notes
Author Links
About the author
Speaking Engagements
Streaming and Multimedia Articles and Tutorials
My Harvard Business School Bio page
Blogroll
Digital Media Bulletin - Jose Alvear
ResearchForward - Michael J. Hemment
BusinessOfVideo.com
Online Video Punch
The Learning Circuits Blog
Elatable - Bradley Horowitz
Harold Jarche
HBS Prof. Andy McAfee on Web 2.0
DV for Teachers
SciTech Daily Review
Quirksmode - Javascript & AJAX
Educational Technology & Life
Jon Udell
Learning Technology - Denis Saulnier
Weblog Categories
Digital Restrictions Management
eLearning & Instructional Technology
Innovative Technology
Misc
Personal Video Publishing
Streaming Media
Streaming Media Technology Tips
Video and Multimedia Technology
Web and Software Development
Weblogs
External Links
