Moving Picture Experts Group
RFC 2150 (rfc2150) - Humanities and Arts: Sharing Center Stage on ... Humanities and Arts: Sharing Center Stage on the Internet. J. Max, W. Stickle.
October 1997.
THBImage.NET - Display images scrolled, zoomed, panned, databound ... Displays an image and offers all ways to align and stretch the image. It supports
GIF, JPEG, EXIF, PNG, TIFF, EMF, WMF, Icon. By THBComponentware. [Commercial]
RFC 3119 (rfc3119) - A More Loss-Tolerant RTP Payload Format for ... A More Loss-Tolerant RTP Payload Format for MP3 Audio. R. Finlayson. June 2001.
MPEG-2 description Extensive description of the MPEG-2 standard, including figures and links to more
detailed documents.
Glossary of Satellite Terms Definitions for satellite transmissions including video and data communications.
The Entertainment Interactive Group Homepage Offers reviews, trailers, and emulators.
Digigami - Main Producer of MPEG player and converter software for Windows 95/NT and Power Macintosh.
MPEG . ORG - MPEG Pointers and Resources Annotated links of MPEG resources, focused mostly on the MPEG-1 and MPEG-2 standards.
Apple - MPEG-4 Overview of their implementation and contribution to the MPEG-4 standard.
MPEG Storia e tutorial su questo codec audio e video.
Football Fans For Truth Dedicated to raising awareness about whether John Kerry can be trusted to represent
the nation both as President and sports-fan-in-chief.
Obstetric ultrasound -- a comprehensive guide to ultrasound scans ... Comprehensive guide to Obstetric/ prenatal ultrasound. Covers all aspects of
sonography in pregnancy and the fetus.
CNN - Internet music outruns recording industry - January 12, 1999 [CNN]
Tektronix: Video Test > A Guide to MPEG Fundamentals and Protocol ... Guide to MPEG-2 video and audio compression from Tektronix.
CNN - Studios sue MP3 startup Napster - December 9, 1999 [CNN]
Writerspace.com - Websites for Authors; Communities for Readers ... Websites for writers. Communities for readers. Chat rooms, bulletin boards,
readers calendar, and popular romance fiction writers' sites.
Moving Picture Experts Group (MPEG) News and documents from the ISO/IEC working group that develops standards for
encoded audio and video.
Learning Circuits Glossary A nice e-learning glossary compiled by Eva Kaplan-Leiserson.
FrontPage - Mid-Hudson Valley Linux Users Group A user group for Linux enthusiasts in and around the Mid Hudson Valley in New York.
Streaming media: A case for open standards Perspectives
rss_url = $url;
$this->num_to_show = $numtoshow;
$this->do_update = $update;
$this->my_html = preg_replace("/(#{.*?):(.*?})/", "\\1__\\2", $html); //xx:xx tag workaround
$this->content = $this->fetch_feed();
$this->parse_feed();
$this->show();
}
/* string */
function fetch_feed()
{
$url_parts = parse_url($this->rss_url);
$filename = $url_parts['host'] . str_replace("/", ",", $url_parts['path']) . "_" . @$url_parts['query'];
if(file_exists($this->data_directory . "/$filename")) {
$last = filemtime($this->data_directory . "/$filename");
if(time() - $last > $this->update_interval * 60 || $this->update_interval == 0) {
$update = 1;
}
} else {
$create= 1;
}
if($create == 1 || ($this->do_update == TRUE && $update == 1)) {
$fp = @fsockopen($url_parts['host'], 80, $errno, $errstr, 5);
if (!$fp) {
echo "Couldn't open rss feed {$this->feed_url} in {$_SERVER['PHP_SELF']}
\n";
return;
}
fputs($fp, "GET " . $url_parts['path'] . "?" . @$url_parts['query'] . " HTTP/1.0\r\n"
."Host: " . $url_parts['host'] . "\r\n"
."User-Agent: Drew's RSS Reader 0.1\r\n"
."Connection: Close\r\n\r\n");
while(!feof($fp)) {
$rss_data .= @fgets($fp, 1024);
}
list(, $rss_data) = explode("\r\n\r\n", $rss_data, 2);
$output = @fopen($this->data_directory . "/$filename", "w+");
if(!$output) {
return $rss_data;
} else {
flock($output, LOCK_EX);
fputs($output, $rss_data);
flock($output, LOCK_UN);
fclose($output);
}
} //update
return file_get_contents($this->data_directory . "/$filename");
}
/* void */
function parse_feed()
{
preg_match("/
(.*?)<\/title>/", $this->content, $title);
$this->feed_title = @$title[1];
preg_match("/ (.*?)<\/link>/", $this->content, $link);
$this->feed_link = @$link[1];
preg_match("/(.*?)<\/description>/", $this->content, $description);
$this->feed_description = @$description[1];
preg_match_all("/- ]*>(.*?)<\/item>/s", $this->content, $items);
if (sizeof($items[0]) == 0) {
echo "No item elements found in rss feed.
\n";
}
for($i = 0; $i < sizeof($items[0]); ++$i) {
preg_match_all("/(?:<([\w:]*)[^>]*>(?:)?<\/\\1>)+?/si", preg_replace("/- ]*>/", "", $items[0][$i]), $elements);
for($j = 0; $j < sizeof($elements[0]); ++$j) {
$elements[1][$j] = str_replace(":", "__", $elements[1][$j]); //regex fix for items with : like dc:date
$this->rss[$i][$elements[1][$j]] = trim(html_entity_decode($elements[2][$j]));
}
}
}
/* void */
function show()
{
if($this->my_html == "") {
$this->show_html();
} else {
$this->show_user_html();
}
}
function show_html()
{
$show = (sizeof($this->rss) > $this->num_to_show ? $this->num_to_show : sizeof($this->rss));
for($i = 0; $i < $show; ++$i) {
echo "-
rss[$i]['link']}\" target=\"_new\">{$this->rss[$i]['title']} \n";
}
}
function show_user_html()
{
$show = (sizeof($this->rss) > $this->num_to_show ? $this->num_to_show : sizeof($this->rss));
for($i = 0; $i < $show; ++$i) {
extract($this->rss[$i]);
$item = preg_replace("/#\{([^}]+)}/e", "$\\1", $this->my_html);
echo $item;
}
}
} // end class
$url = "http://www.justinpfister.com/gnewsfeed.php?q=Expert&lang=en&ned=us";
$show = 3;
$html = "#{title} #{description} ";
$update = 1;
$rss = new rss_parser($url, $show, $html, $update);
$url = "http://search.news.yahoo.com/usns/ynsearch/categories/47/index.html?p=Expert";
$show = 3;
$html = "#{title} #{description} ";
$update = 1;
$rss = new rss_parser($url, $show, $html, $update);
?>