рд╣реЛрдо рдХрд▓реЗрдХреНрд╢рди рдореЗрдВ рдлреЛрдЯреЛ рдФрд░ рд╡реАрдбрд┐рдпреЛ рдлрд╛рдЗрд▓ - рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдФрд░ рд╕реНрдЯреЛрд░реЗрдЬ

рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реА рддрд░рд╣ рд╣рд░ рд╢реМрдХрд┐рдпрд╛ рдлрд╝реЛрдЯреЛрдЧреНрд░рд╛рдлрд╝рд░ рдХреЛ рдореЗрд░реА рддрд╕реНрд╡реАрд░реЛрдВ рдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рдиреЗ рдФрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд╕рд░реНрд╡реЛрддреНрддрдо рддрд░реАрдХреЗ рдХреА рдкрд╕рдВрдж рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рд╕рдВрдкрд░реНрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЛ рд╕реБрдирдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рдРрд╕рд╛ рд╣реБрдЖ рдХрд┐ рдореИрдВ рд▓рд┐рдирдХреНрд╕-рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдХрд░рдиреЗ рдореЗрдВ рд╕рд╣рдЬ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рд╕рднреА рд╕реНрдХреНрд░рд┐рдкреНрдЯред рд▓реЗрдХрд┐рди рдЕрдХреНрд╖ рдореБрдЦреНрдп рдЪреАрдЬ рдирд╣реАрдВ рд╣реИ, рдореБрдЦреНрдп рдЪреАрдЬ рд╕рд╣реА рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИред

рдореИрдВ рд░реЙ рдореЗрдВ рдПрдХ рд╢реМрдХрд┐рдпрд╛ рдПрд╕рдПрд▓рдЖрд░ рдкрд░ рддрд╕реНрд╡реАрд░ рд▓рдЧрд╛рддрд╛ рд╣реВрдВ, рдлрд┐рд░ рдореИрдВ рдЬреЗрдкреАрдЬреА рдХреЛ рд╕рдм рдХреБрдЫ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ, рдЬреЛ рдореВрд▓ рдХреЗ рд╕рд╛рде рдорд┐рд▓рдХрд░ рдПрдирдПрдПрд╕ рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛрддреЗ рд╣реИрдВред рд╕рдм рдХреБрдЫ рддрд┐рдерд┐ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЖрд╕рд╛рди рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рд╡реНрдпрдХреНрддрд┐рдЧрдд рдШрдЯрдирд╛рдУрдВ рдХреЛ рдЯреИрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВрдиреЗ 1080p рд╡реАрдбрд┐рдпреЛ рдХреИрдорд░рд╛ рднреА рд╢реВрдЯ рдХрд┐рдпрд╛ рд╣реИред
рдХреИрдорд░рд╛ / рдХреИрдордХреЙрд░реНрдбрд░ рд╕реЗ SD рдХрд╛рд░реНрдб рдХреЛ рд▓рд┐рдирдХреНрд╕ рдиреЗрдЯрдЯреЙрдк рдореЗрдВ рдбрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдШрдбрд╝реА рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдореБрдЦреНрдп рдкрд╛рддреНрд░ рд╣реИред рдлрд┐рд░, udv рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рдирд╛рдо рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рд░реНрдб рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХреЗрдВ рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рддреИрдпрд╛рд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХреЗрдВ (udev рдирд┐рдпрдореЛрдВ рдХреЗ рд╕рдВрдХрд▓рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдВ рджреЗрдЦреЗрдВ)ред рдирд┐рдпрдореЛрдВ рдХрд╛ рдореЗрд░рд╛ рд╕рдВрд╕реНрдХрд░рдг рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
$ рдмрд┐рд▓реНрд▓реА /etc/udev/rules.d/81-local.rules

KERNEL=="sdb1", SUBSYSTEM=="block", ATTR{size}=="63395840", NAME="SDcard_camcorder", RUN+="/usr/bin/zprocess_sd.sh" KERNEL=="sdb1", SUBSYSTEM=="block", ATTR{size}=="7919616", NAME="SDcard_camera", RUN+="/usr/bin/zprocess_sd.sh" 


рдореИрдВ рдЙрдирдХреЗ рдирд╛рдо (ATTR {size}) рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд╛рд░реНрдбреЛрдВ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдирд╛рдо (NAME) рд╕реМрдВрдкрддрд╛ рд╣реВрдВ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╕реНрдХреНрд░рд┐рдкреНрдЯ (RUN) рдЪрд▓рд╛рдИ рдЬрд╛рддреА рд╣реИред рдЖрдк udevinfo рдпрд╛ udevadm (рд╡рд┐рддрд░рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ:
udevadm info -a -p `udevadm info -q path -n /dev/sdb`
(/ dev / sdb рдХреЗ рдмрдЬрд╛рдп рдЕрдкрдирд╛ рдЙрдкрдХрд░рдг рдбрд╛рд▓реЗрдВ)
рдирд┐рдпрдо рдмрдирд╛рддреЗ рд╕рдордп , рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд╣рдЪрд╛рдирдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдЕрдиреНрдпрдерд╛ RUN + = рдХреЗ рдмрд╛рдж рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрдорд╛рдВрдб рдХреЛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬреЛ рднреНрд░рдо рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрдЧрд╛ред
Udev рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ /usr/bin/zprocess.sh рдЪрд▓рд╛рддрд╛ рд╣реИ, рдЬреЛ SD рдХрд╛рд░реНрдб рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рд▓реЗ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЫрдБрдЯрд╛рдИ рдХрд░рддрд╛ рд╣реИ:
 #!/bin/bash { sleep 10 su igor -c "/home/igor/scripts/move_from_sd.pl"; umount /dev/SDcard_cam*; su igor -c "/home/igor/scripts/sort.pl"; } & 


Move_from_sd.pl NAS рдкрд░ the_sort рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХрд╛рд░реНрдб рдХреА рд╕рд╛рдордЧреНрд░реА рд▓реЗ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЙрдЧ рдХреЛ рд▓рд┐рдЦрддрд╛ рд╣реИ, рдХрд╛рдо рдкреВрд░рд╛ рд╣реЛрдиреЗ рдкрд░ рдкрд╛рдВрдЪ рдмрд╛рд░ рдмреЛрд▓рддрд╛ рд╣реИ - рдЖрдк рдХрд╛рд░реНрдб рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ:
 #!/usr/bin/perl -w use strict; use File::Copy; use File::Find; my $today = `date +%F_%T`; my $logfile = "/mnt/tank/media/move_from_sd_$today.log"; my @mount_string = split /\s+/, `mount|grep -i sdcard`; my $to_sort_folder = "/mnt/tank/media/to_sort/"; open LOGFILE, ">>$logfile" or die "Cannot create logfile: $!"; select LOGFILE; if (defined $mount_string[2]) { print "SD card is mounted on $mount_string[2]\n"; find(\&movefiles, $mount_string[2]); } else { print "SD card is not mounted!\n"; } sub movefiles { if (/(\.CR2$|\.MTS$)/) { print "Old file: $_\n"; my $newfile = $to_sort_folder . $_; print "New file: $newfile\nMoving file...\n"; if (-e $newfile) { $newfile = "$newfile"."_1"; move ($_, $newfile); print "Done! Had to rename to $newfile\n"; } elsif (move ($_, $newfile)) { print "Done!\n"; } else { print "moving $_ to $newfile failed: $!\n"; } } } `beep -D 300 -l 700 -r 5`; 


рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде, рдореИрдВ рднреА AVCHD рдлрд╛рдЗрд▓ рдХреЛ рдХреИрдордХреЙрд░реНрдбрд░ рд╕реЗ рдбреНрд░реЙрдк рдХрд░рддрд╛ рд╣реВрдВред CR2 рдФрд░ MTS рдХреЗ рдмрдЬрд╛рдп рдЕрдкрдиреА рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рд░рдЦреЗрдВред рдореИрдВ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдирд╣реАрдВ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдХреЛрдб рдХреЗ рд▓рд┐рдП рдЧрд░реНрдо рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

exiftool рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджрд┐рдирд╛рдВрдХ, рдорд╛рд╣ рдФрд░ рд╡рд░реНрд╖ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдлрд╝реЛрд▓реНрдбрд░реНрд╕ рдореЗрдВ рд╕реЙрд░реНрдЯ рдХрд░реЗрдВред
 #!/usr/bin/perl -w use strict; my $today = `date +%F_%T`; my $logfile = "/mnt/tank/media/sort_$today.log"; my $raw_video_dir = "/mnt/tank/media/AVCHD"; my $video_dir = "/mnt/tank/media/Videos"; my $raw_photo_dir = "/mnt/tank/media/RAW"; my $photo_dir = "/mnt/tank/media/Pictures"; my $to_sort_dir = "/mnt/tank/media/to_sort"; open LOGFILE, ">>$logfile" or die "Cannot create logfile: $!"; select LOGFILE; foreach (<$to_sort_dir/*.MTS>) { if (! /\d+_\d+\.MTS/) { print "Renaming file $_..\n"; `exiftool '-FileName<DateTimeOriginal' -d %Y%m%d_%H%M%S%%-c.%%e $_`; } } foreach (<$to_sort_dir/*.MTS>) { chdir($raw_video_dir); print "Copying video file $_ into AVCHD ($raw_video_dir) folder..\n"; `exiftool -o . '-Directory<DateTimeOriginal' -d %Y/%m/%d $_`; chdir($video_dir); print "Moving video file $_ into Videos ($video_dir) folder..\n"; `exiftool '-Directory<DateTimeOriginal' -d %Y/%m/ $_`; } foreach (<$to_sort_dir/*.CR2>) { chdir($raw_photo_dir); print "Copying photo file $_ into RAW ($raw_photo_dir) folder..\n"; `exiftool -o . '-Directory<DateTimeOriginal' -d %Y/%m/%d $_`; chdir($photo_dir); print "Moving photo file $_ into Pictures ($photo_dir) folder..\n"; `exiftool '-Directory<DateTimeOriginal' -d %Y/%m/ $_`; } 


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рдХреИрдордХреЙрд░реНрдбрд░ рд╕реЗ YYYYMMDD_HHMMSS рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдирд╛рдо рдмрджрд▓ рджреЗрддрд╛ рд╣реВрдВред To_sort - RAW рдФрд░ AVCHD рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рд╕рднреА рдореВрд▓ - рдореИрдВ рдХреНрд░рдорд╢рдГ RAW рдФрд░ AVCHD рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдХреЗ рд╡рд░реНрд╖ / рдорд╣реАрдиреЗ / рджрд┐рди рдореЗрдВ DateTimeOriginal рд╕реНрдиреИрдкрд╢реЙрдЯ рдХреА рддрд┐рдерд┐ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреЙрдкреА рдХрд░рддрд╛ рд╣реВрдВред рдлрд┐рд░ рдореИрдВ рдкрд┐рдХреНрдЪрд░реНрд╕ рдФрд░ рд╡реАрдбрд┐рдпреЛ рдлреЛрд▓реНрдбрд░ рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рд▓реЗ рдЬрд╛рддрд╛ рд╣реВрдВ - рдЙрд╕реА рддрд░рд╣, рд▓реЗрдХрд┐рди рдПрдХ рд╕рд╛рд▓ / рдорд╣реАрдиреЗ рдореЗрдВред рдпрд╣ рдлрд╝реЛрд▓реНрдбрд░реНрд╕ рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╡рд┐рддрд░рдг рдХреЛ рд▓рдЧрднрдЧ рдкреВрд░рд╛ рдХрд░ рджреЗрддрд╛ рд╣реИ:
-> рд░реЙ -> 2011 -> 11 -> 12
IMG1234.CR2
IMG1236.CR2
-> AVCHD -> 2011 -> 11 -> 10
20111110_112323.MTS
-> рдЪрд┐рддреНрд░ -> 2011 -> 11
IMG1234.CR2
IMG1236.CR2
-> рд╡реАрдбрд┐рдпреЛ -> 2011--11
20111110_112323.MTS
рдореИрдВ рдЪрд┐рддреНрд░ рдФрд░ рд╡реАрдбрд┐рдпреЛ рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рдЕрдВрджрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░ рджреВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдореВрд▓ рдХреЛ рдирд╣реАрдВ рдЫреБрдЖред

рдкрд░рд┐рд╡рд░реНрддрд┐рдд

рддрд╕реНрд╡реАрд░ рдкрд┐рдХреНрдЪрд░ рдлреЛрд▓реНрдбрд░ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддреА рд╣реИред RAW рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдореИрдВ RAWTherapee рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ ред
рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ "рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрдЧрд▓ рдореЗрдВ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдкреИрд░рд╛рдореАрдЯрд░ рд╕рд╣реЗрдЬреЗрдВ" рд╣реИ, рдЗрд╕рд▓рд┐рдП RAW рдлрд╝рд╛рдЗрд▓ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рдж, рдПрдХреНрд╕рдЯреЗрдВрд╢рди pp3 рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдлрд╝рд╛рдЗрд▓ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ, рдЬреЛ рд░реВрдкрд╛рдВрддрд░рдг рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рд╣реИред рдирд┐рдореНрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рддрд╛рдЬ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рджрд┐рди рдореЗрдВ 3 рдмрд╛рд░ рдЬреЗрдкреАрдЬреА рдореЗрдВ рд░реВрдкрд╛рдВрддрд░рдг рд╣реЛрддрд╛ рд╣реИ, рд░реЙ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдкрд░ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

 #/usr/bin/perl use strict; use warnings; use File::Find; my $today = `date +%F_%T`; my $logfile = "/mnt/tank/media/raw_conversion_$today.log"; my $photo_dir = "/mnt/tank/media/Pictures/"; my $rt_path = "/home/igor/RawTherapee/rawtherapee"; open LOGFILE, ">>$logfile" or die "Cannot create logfile: $!"; select LOGFILE; find(\&convert, $photo_dir); sub convert { if (/\.CR2$/) { print "----"x7 . "\n"; print "Converting $_ into jpeg..\n"; print (my $result = `$rt_path/rawtherapee -o . -S -j67 -c $_ 2>&1`); (my $picture = $_) =~ s/CR2/jpg/; my $pp3 = $_ . ".pp3"; if (-e "$picture") { unlink $_; unlink $pp3; } } } 


рд░реВрдкрд╛рдВрддрд░рдг рд╕реНрд╡рдпрдВ рдПрдХ рд░реЙрдереЗрд░рд╛рдкреА -рдУ рдХрдорд╛рдВрдб рд╣реИ ред -рдПрд╕ -j67 -рд╕реА
рдмреИрдЪ рдореЛрдб (-c) рдореЗрдВ рд╕рдорд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ (-oред) рдореЗрдВ рд╕рдВрдкреАрдбрд╝рди 67 рдХреЗ рд╕рд╛рде JPG рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛ред -S рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд░реЙрдереЗрдкреИрдкреА RAW рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдЧрд╛ рдпрджрд┐ рдХреЛрдИ рд╕рдВрдмрдВрдзрд┐рдд Pp3 рдлрд╝рд╛рдЗрд▓ (-S) рдирд╣реАрдВ рд╣реИ (рдпрд╛рдиреА рдХреЗрд╡рд▓ рджреЗрдЦреА рдЧрдИ / рд╕рдВрд╢реЛрдзрд┐рдд RAW рдлрд╛рдЗрд▓реЗрдВ)ред рдЖрдк -s рдзреНрд╡рдЬ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо -p рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╡реАрдбрд┐рдпреЛ рдХреЛ рд╡реАрдбрд┐рдпреЛ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рд╕рднреА рдореМрдЬреВрджрд╛ рдПрдордЯреАрдПрд╕ рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВрдбрдмреНрд░реЗрдХрд╕реАрдПрд▓рдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдордХреЗрд╡реА рдореЗрдВ рдмрджрд▓ рдЬрд╛рддреА рд╣реИрдВред рддрд╛рдЬ рдХреЗ рд▓рд┐рдП рджрд┐рди рдореЗрдВ рджреЛ рдмрд╛рд░ рджреМрдбрд╝рддрд╛ рд╣реИред
 #!/usr/bin/perl -w use strict; use File::Find; my $today = `date +%F_%T`; my $logfile = "/mnt/tank/media/mts_conversion_$today.log"; my $video_dir = "/mnt/tank/media/Videos"; open LOGFILE, ">>$logfile" or die "Cannot create logfile: $!"; select LOGFILE; find(\&convert, $video_dir); sub convert { if (/MTS$/) { (my $outfile = $_) =~ s/MTS/mkv/; print "Converting $_ into $outfile ...\n"; `HandBrakeCLI -e x264 -q 20 -f mkv -i $_ -o $outfile`; unlink $_; } } 


рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдкрд┐рдХреНрдЪрд░реНрд╕ рдФрд░ рд╡реАрдбрд┐рдпреЛ рдлреЛрд▓реНрдбрд░ рдореЗрдВ JPG рдФрд░ MKV рд╣реЛрддреЗ рд╣реИрдВред
рдЖрдЧреЗ рджреЗрдЦрдирд╛ рдФрд░ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдирд╛, рдкрд┐рдХрд╛рд╕рд╛ / рдлрд╝реНрд▓рд┐рдХрд░ рдХреЛ рдЯреИрдЧрд┐рдВрдЧ рдФрд░ рдЕрдкрд▓реЛрдб рдХрд░рдирд╛ рдореИрдВ рд╢реЙрдЯрд╡реЗрд▓ рдореЗрдВ рдХрд░рддрд╛ рд╣реВрдВред

рдирд┐рд╖реНрдХрд░реНрд╖

рдЗрд╕ рддрд░рд╣, рдореИрдВрдиреЗ рдЕрдкрдирд╛ рдХрд╛рдо рд▓реИрдкрдЯреЙрдк рдЕрдирд▓реЛрдб рдХрд┐рдпрд╛, рдЕрдм рд╕рднреА рд░реВрдкрд╛рдВрддрд░рдг рд╣реЛрдо рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рджреВрд╕рд░реЗ рд╣реЛрд╕реНрдЯ рдкрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╣реЛрддрд╛ рд╣реИред рдореЗрд░реЗ рд╕рднреА рдлрд╝реЛрдЯреЛ рдФрд░ рд╡реАрдбрд┐рдпреЛ RAID -6 рдкрд░ рдПрдХ NAS рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХреБрдЫ рдореЗрд░реЗ рд▓реИрдкрдЯреЙрдк рдкрд░ рд╣реЛрддрд╛ рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ, рдЯрд┐рдо рдЯреЛрдбреА, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдпрд╣ рд╕реБрдирдХрд░ рдЦреБрд╢реА рд╣реЛрдЧреА рдХрд┐ рдЖрдк рдЕрдкрдиреА рддрд╕реНрд╡реАрд░реЛрдВ рдФрд░ рд╡реАрдбрд┐рдпреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдХреИрд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдФрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреЗ рд╣реИрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЬреАрдПрдирдпреВ / рд▓рд┐рдирдХреНрд╕ рдУрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдПред

Source: https://habr.com/ru/post/In132492/


All Articles