Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/perl
- use strict;
- use warnings;
- use Data::Dumper;
- use DateTime;
- use Date::Calc qw(Delta_Days);
- # READ BYTE
- sub rb {
- my ($FH, $len) = @_;
- read($FH, my $b, $len ? $len : 1);
- unpack("W*", $b);
- }
- # READ INT
- sub ri {
- my $FH = shift;
- read($FH, my $i, 4);
- unpack("I", $i);
- }
- sub rs {
- my $FH = shift;
- read($FH, my $i, 2);
- unpack("s", $i);
- }
- open(my $CHANDAT, "<", 'getchannelsdat.html') or die $!;
- binmode($CHANDAT);
- my $length = rb($CHANDAT);
- my $string = rb($CHANDAT, 4);
- my $highVersion = rb($CHANDAT);
- my $lowVersion = rb($CHANDAT);
- #while(1) {
- my $tunerType = rb($CHANDAT) || 0;
- my $channelGroup = rb($CHANDAT);
- my $satModulationSystem = rb($CHANDAT);
- my $flags = rb($CHANDAT);
- my $frequency = ri($CHANDAT);
- my $Symbolrate = ri($CHANDAT);
- my $lnbLof = rs($CHANDAT);
- my $pmtPID = rs($CHANDAT);
- my $reserved1 = rs($CHANDAT);
- my $satModulation = rb($CHANDAT);
- my $avFormat = rb($CHANDAT);
- my $fec = rb($CHANDAT);
- my $reserved2 = rb($CHANDAT);
- my $reserved3 = rs($CHANDAT);
- my $polarity = rb($CHANDAT);
- my $reserved4 = rb($CHANDAT);
- my $orbitalPosition = rs($CHANDAT); # a2i
- my $tone = rb($CHANDAT);
- my $reserved5 = rb($CHANDAT);
- my $discCext = rs($CHANDAT);
- my $descq = rb($CHANDAT);
- my $reserved6 = rb($CHANDAT);
- my $reserved7 = rs($CHANDAT);
- my $audioPID = rs($CHANDAT); # a2i
- my $reserved8 = rs($CHANDAT);
- my $videoPID = rs($CHANDAT); # a2i
- my $transportStreamID = rs($CHANDAT); # a2i
- my $teletextPID = rs($CHANDAT);
- my $orginalNetworkID = rs($CHANDAT); # a2i
- my $serviceID = rs($CHANDAT); # a2i
- my $channelID = (($tunerType + 1) * 536870912) + ($audioPID * 65536) + $serviceID;
- #my $channelID = $serviceID + ($audioPID + (2**16)) + (($tunerType + 1) + (2**29)) + ($transportStreamID * (2**32)) + (($orbitalPosition * 10) * (2**48)) + (1 * (2**61));
- my $epgID = (($tunerType + 1) * 2**48 + $orginalNetworkID * 2**32 + $transportStreamID * 2**16 + $serviceID);
- my $favID = ($tunerType + 1) * 536870912 + $serviceID;
- # last;
- #}
- close($CHANDAT);
- my $dt = DateTime->now(time_zone => 'local');
- my $days = Delta_Days(1899, 12, 30, $dt->year, $dt->month, $dt->day); # Days since Delphi
- my $minutesOfDay = (($dt->hour+1) * 60) + $dt->minute;
- my $precentage = $minutesOfDay / (24 * 60);
- my $start = int($precentage*24*60);
- $precentage =~ s/^\d+\.//;
- print $days.".".$precentage."<--\n";
- print "start: ".$start."\n";
- print $dt->hour."<-keke\n";
- print "TSID: ".$transportStreamID."\n";
- printf("CHANNEL-ID: %.0f\n", $channelID);
- #print "CHANID: :".$channelID."\n";
- print "EPGID: ".$epgID."\n";
- print "FAVID: ".$favID."\n";
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement