Help for this page

Select Code to Download


  1. or download this
    <obs>
        <ip>10.0.0.17</ip>
        <port>4444</port>
        <password>secretobspassword</password>
    </obs>
    
  2. or download this
    <dsky>
        <clackssocket>/home/monastery/temp/clacksproxy.sock</clackssocket>
        <clacksuser>monasterygates</clacksuser>
        <clackspassword>opensesame</clackspassword>
    ...
    </dsky>
    
  3. or download this
    #!/usr/bin/env perl
    #---AUTOPRAGMASTART---
    use 5.020;
    ...
    use Net::Clacks::Client;
    use Crypt::Digest::SHA256 qw[sha256_b64];
    use Encode qw[encode_utf8 decode_utf8 is_utf8];
    
  4. or download this
    my $clacksconfig = XMLin('dskyconfig.xml');
    my $obsconfig = XMLin('obsconfig.xml');
     
    ...
    
    binmode($sock);
    $sock->blocking(0);
    
  5. or download this
    my $clacks;
    if(defined($clacksconfig->{clackssocket}) && $clacksconfig->{clackssoc
    +ket} ne '') {
        $clacks = Net::Clacks::Client->newSocket($clacksconfig->{clackssoc
    +ket}, $clacksconfig->{clacksuser}, $clacksconfig->{clackspassword}, '
    +DSKY');
    ...
        5   => '5 ... Technical Difficulties',
        6   => '6 ... Camera',
    );
    
  6. or download this
    binmode $sock;
    my $header = 
    "GET / HTTP/1.1\r\n" . 
    ...
    }
        
    my $frame = Protocol::WebSocket::Frame->new(max_payload_size => 500 * 
    +1024 * 1024, masked => 1);
    
  7. or download this
    # Request authentication
    if(1){
        my %request = (
    ...
        my $outframe = $frame->new(buffer => encode_json(\%request), type 
    +=> 'text', masked => 1)->to_bytes;
        syswrite($sock, $outframe);
    }
    
  8. or download this
    my $mutemessageid = '';
    while(1) {
    ...
                } else {
                    print "Failed to enable heartbeat!\n";
                }
    
  9. or download this
            } elsif(defined($msg->{'update-type'}) && $msg->{'update-type'
    +} eq 'Heartbeat') {
                print "OBS Heartbeat\n";
            } elsif(defined($msg->{'obs-studio-version'})) {
                print "OBS Studio version: ", $msg->{'obs-studio-version'}
    +, "\n";
                print "OBS Websocket version: ", $msg->{'obs-websocket-ver
    +sion'}, "\n";
    
  10. or download this
            } elsif(defined($msg->{'update-type'}) && $msg->{'update-type'
    +} eq 'SwitchScenes') {
                my $scene = substr $msg->{'scene-name'}, 0, 1;
                print "Selected scene: ", $scene, "\n";
    ...
                print Dumper($msg);
            }
        }
    
  11. or download this
        $clacks->doNetwork();
    
        # No data packet for more than 10 seconds, send a "OBS Version" re
    +quest *once*
    ...
            $clacks = undef;
            exit(0);
        }
    
  12. or download this
        $clacks->doNetwork();
        while(my $msg = $clacks->getNext()) {
            if($msg->{type} eq 'serverinfo') {
    ...
        }
        $clacks->doNetwork();
    }
    
  13. or download this
    #!/usr/bin/env perl
    #---AUTOPRAGMASTART---
    use 5.020;
    ...
        }
        $clacks->doNetwork();
    }