[linux-dvb] Extracting video stream

Jelle De Loecker skerit at kipdola.com
Thu Jan 29 14:03:54 CET 2009


Hi everyone,

This is not a real -dvb question, but -media seemed too official.

A device of mine is serving a video stream on a certain port, (Hawking 
HNC210, video surveillance cam)
unfortunately it uses its own (very simple) protocol: it's a bunch of 
jpegs in a row.

I have this script that checks the stream every second and creates a 
jpeg out of it,
but I really want a continuous video stream. Is there a way to do this?

This is the script:

#!/usr/bin/perl
use IO::Socket;
#SET WHERE CAMERA IS
$sock = new IO::Socket::INET (PeerAddr => '10.11.0.101',
                                PeerPort => 4321,
                                Proto    => 'tcp',
                                Timeout  => 1);
#do it again forever
while (1){
#sleep timeout (this value give us 1fps)
select(undef, undef, undef, 0.5);

$sock->send("0110\n");
$sock->read($size, 2);
$sock->read($j1, 1);
$sock->read($j2, 1);
$j1=oct("0x".unpack("H*", $j1));
$j2=oct("0x".unpack("H*", $j2));
#print "J1_USERS:".$j1."\n";
#print "J2:".$j2."\n";
$size=oct("0x".unpack("H*", $size));
#print "SIZE:".$size."\n";
if ($size != 0) {
$sock->read($data, $size);
open OUTF, "> /var/www/hawking.jpg" or die "Can't open $outfile : $!";
print OUTF $data;
close OUTF;
}
}

Greetings,
Jelle De Loecker



More information about the linux-dvb mailing list