# Force Emacs Perl Mode # Local Variables: # mode: perl # End: ################################################################################ # This is a perl module included by the perl scripts for this application. # You must modify these values to match your system configuration. # Create a new file called "organize_videos.conf.local" in the same dir as "organize_videos.conf" # and only put in it the variables you wish to override. # This will prevent your localized settings from being overwritten by future code updates. ################################################################################ # Path to look for videos to move from $srcpathname = "/naspool/dropbox/New Memories"; # Path to move the videos to $dstpathname = "/naspool/videos/HomeVideos"; # Path to move the originals to $origpathname = "/naspool/dropbox/Originals"; $originals_file_ext = qr/(mov|mp4)/i; #$originals_no_copy_brands = qr/mp42avc1/i; # Don't copy videos from camcorder to Originals because we keep these videos on those cards $originals_no_copy_brands = qr/none/i; # We no longer keep the cards $save_originals = 1; # Brands that store time as local vs UTC $local_tz_brands = qr/mp42avc1/i; # the camcorder sets the creation time to the local time with no timezone (so UTC), so treat them as local timestamps, not UTC timestamps # Path to a dir (or dirs separated by semis) to watch for videos to move to $srcpathname to be organized $watchpathname = "/naspool/cloud/alan/files/InstantUpload/Camera;/naspool/cloud/mary/files/InstantUpload/Camera;"; # Path to nextcloud base dir where user dirs start $nextcloudbase = "/naspool/cloud/"; # If there are file duplicates in srcpathname, should they be overwritten (assumes all files from phones will be named uniquely) $overwrite_dest = 1; # Path to nextcloud occ cmd script $occ = "/naspool/www/pippins.net/nextcloud.custom/occ.cmd"; # Path to merge_videos_by_day script $merge_videos_by_day = "/naspool/videos/bin/merge_videos_by_day"; # Flag to merge videos by modification date instead of the date parsed from the filename $merge_by_modification_date = 0; # Path to the make_mkv script $make_mkv = "/naspool/videos/bin/make_mkv"; # mkvmerge path/command name $mkvmerge = '/usr/bin/mkvmerge'; # ffmpeg path/command name $ffmpeg = '/usr/bin/ffmpeg'; $ffprobe = '/usr/bin/ffprobe'; $avconv = '/usr/bin/avconv'; # handbrake path/command name $handbrake = '/usr/bin/HandBrakeCLI'; # The pid file to use to indicate organize_videos is running $pid_file = "/tmp/organize_videos.pid"; # The owner of the files after they are moved $owner = "ajp"; # The group of the files after they are moved $group = "pip"; # The mode to set on each file after they are moved $mode = "664"; # The mode to set on each directory after they are created $dirmode = "2775"; # The extension to use when creating playlist files $playlist_extension = "pls"; # What number to start with when adding an incrementing suffix to the end of the final video clip to avoid name collisions $video_suffix = "000"; # Which movie file extensions should be considered for merging # NOTE: Script does not support merging multiple mkv files into a single mkv file $movie_file_ext = "-iregex \".*\.mov\" -o -iregex \".*\.3gp\" -o -iregex \".*\.avi\" -o -iregex \".*\.mp4\" -o -iregex \".*\.mpg\" -o -iregex \".*\.mts\" -o -iregex \".*\.m4v\""; # Which movie file extensions should not be recompressed for merging $no_recompress_file_ext = qr/\.(mp4)$/i; # Video file creation dates must not have changed in the last X minutes to process any of the video files # This is done to ensure that all videos from a given upload from a camera have completed prior to looking for videos to merge $minage = "+60"; # What command should be used to find files by move_videos_from_watchdir that have changed (are at least X minutes old) $find_changed_cmd = "find \"$srcpathname/\" -not -cmin +5 -a \\( $movie_file_ext \\)"; # What command should be used to find all movie files $find_cmd = "find \"$srcpathname/\" $movie_file_ext"; $find_cmd_with_mkv = "find \"$srcpathname/\" $movie_file_ext -o -iregex \".*\.mkv\""; $find_mkv = "find \"$srcpathname/\" -iregex \".*\.mkv\""; # Set the tmpfile to use, but remove the 0 byte file it creates, we'll create it if we need it $tmpfile = `mktemp`; chomp($tmpfile); unlink "$tmpfile"; # Set the timezone to use $timezone = `cat /etc/timezone`; chomp($timezone); # handbrake options used when re-encoding the videos $handbrake_requantize_options='--auto-anamorphic --crop 0:0:0:0 -E ac3'; $handbrake_recompress_options='--auto-anamorphic --crop 0:0:0:0 --denoise="weak" -e x264 -q 18 -x b-adapt=2:rc-lookahead=50 -v 2 -a 1 -6 dpl2 --preset="HQ 1080p30 Surround"'; # handbrake input file options $input_file_options = "-S"; # handbrake output file options $output_file_options = "--compression -1:none"; # handbrake quantization levels $interlaced_requantize_quality=0.85; $progressive_requantize_quality=0.75; # Remote compute host to farm handbrake encode job off to (I need this since this script is run from a virtual machine) $compute_host = "pippin.pippins.net"; # Set to 1 to use a remote compute host to run the mkvmerge command. Set to 0 to use the local host to run it. $use_compute_host = 0; # This will dramatically decrease the size of the video with minimal compute processing requirements. $requantize_input_video=0; $recompress_input_video=1; # What text to put on the front of the title for the merged video being created $video_title_prefix = "HomeVideos:"; ####################################################################################################