use v5.10;
use strict;
use  locale;

use Getopt::Long;
Getopt::Long::Configure('bundling');

my %params = (
	id => undef,
	cookies => undef,
	ff_loader => 'load-by-ffmpeg.8.pl',
	aria => 0,
	check_id => 1,
	delay => 12,
);

GetOptions(
	'id=i' => \$params{id}, 
	'cookies=s' => \$params{cookies}, 
	'ff-loader=s' => \$params{ff_loader}, 
	'aria' => \$params{aria},
	'check-id=i' => \$params{check_id},
	'delay=i' => \$params{delay},
)
or die 'GetOptions';

say ''; say "REM --- $_=$params{$_}" for sort keys %params; say '';

if ($params{check_id}) {
	die "exists id=$params{id}" if qx(dir/b) =~ /\[$params{id}\]/;
}

my ($u, $f) = map {/(.+)/; lc $1} qx(yt-dlp https://www.camsclips.net/videos/$params{id}/___/ --cookies="$params{cookies}" --get-url --get-filename);
sleep $params{delay};

unless ($params{aria}) {
	system qq(perl "$params{ff_loader}" --url="$u" --title="$f---" --dry-run=1 --ext=ts --sparse=auto);
}
else {
	system qq(aaa -x5 --auto-file-renaming=false -o "$f" "$u");
}