diff -ur /var/www/localhost/htdocs/mythweb_ori/modules/stream/handler.pl /var/www/localhost/htdocs/mythweb/modules/stream/handler.pl
--- /var/www/localhost/htdocs/mythweb_ori/modules/stream/handler.pl	2008-11-21 20:37:30.000000000 +0100
+++ /var/www/localhost/htdocs/mythweb/modules/stream/handler.pl	2010-03-20 02:48:19.000000000 +0100
@@ -30,7 +30,7 @@
     elsif ($ENV{'REQUEST_URI'} =~ /\.flvp$/i) {
         require "modules/$Path[0]/stream_flvp.pl";
     }
-    elsif ($ENV{'REQUEST_URI'} =~ /\.flv$/i) {
+    elsif ($ENV{'REQUEST_URI'} =~ /\.flv\?.+$/i) {
         require "modules/$Path[0]/stream_flv.pl";
     }
 # Mpeg4?
diff -ur /var/www/localhost/htdocs/mythweb_ori/modules/stream/stream_flv.pl /var/www/localhost/htdocs/mythweb/modules/stream/stream_flv.pl
--- /var/www/localhost/htdocs/mythweb_ori/modules/stream/stream_flv.pl	2009-10-30 00:58:52.000000000 +0100
+++ /var/www/localhost/htdocs/mythweb/modules/stream/stream_flv.pl	2010-03-20 03:00:28.000000000 +0100
@@ -62,8 +62,22 @@
     $vbitrate = 256 unless ($vbitrate && $vbitrate > 1);
     $abitrate = 64  unless ($abitrate && $abitrate > 1);
 
+
+# approximation of the final size of the stream
+    $sh = $dbh->prepare('SELECT unix_timestamp(endtime)-unix_timestamp(starttime) FROM  recorded WHERE chanid=? AND starttime=FROM_UNIXTIME(?)');
+    $sh->execute($chanid,$starttime);
+    $timelength = $sh->fetchrow_array;
+    $length = ((($abitrate + $vbitrate)/8) * 1024 * $timelength );
+
+
+    if ("$ENV{'REQUEST_URI'}" =~ /start\=(\d+)$/i) {
+	    $start = $1; }
+    else {
+	    $start = 0; }
+
     my $ffmpeg_command = $ffmpeg
                         .' -y'
+			.' -ss '.shell_escape("$start")
                         .' -i '.shell_escape($filename)
                         .' -s '.shell_escape("${width}x${height}")
                         .' -g 30'
@@ -83,7 +97,8 @@
                 "Can't do ffmpeg: $!\n${ffmpeg_command}";
         exit;
     }
-    print header(-type => 'video/x-flv');
+
+    print header(-type => 'video/x-flv', -Content_length => "${length}");
     my $buffer;
     while (read DATA, $buffer, 262144) {
         print $buffer;
diff -ur /var/www/localhost/htdocs/mythweb_ori/modules/tv/tmpl/default/detail.php /var/www/localhost/htdocs/mythweb/modules/tv/tmpl/default/detail.php
--- /var/www/localhost/htdocs/mythweb_ori/modules/tv/tmpl/default/detail.php	2010-03-08 06:44:16.000000000 +0100
+++ /var/www/localhost/htdocs/mythweb/modules/tv/tmpl/default/detail.php	2010-03-20 17:40:34.000000000 +0100
@@ -548,6 +548,7 @@
                             },
                         // Then we have the video
                         {
+                            provider: 'pseudo',
                             url: "<?php echo video_url($program, 'flv'); ?>",
                             duration: <?php echo $program->length ?>,
                             autoPlay: false,
@@ -555,7 +556,13 @@
                             // waste bandwidth and CPU on the remote machine.
                             autoBuffering: false
                             }
-                        ]}
+                    ],
+                    plugins: { 
+                        pseudo: {
+                            url: 'flowplayer.mythpseudostreaming.swf'
+                        }
+                    } 
+                    }
                     );
             </script>
 <?php       } elseif (file_exists('modules/tv/MFPlayer.swf')) { ?>
