Fixed up scripts to support importing videos from phones
[videoscripts/.git] / organize_videos.conf
1 # Force Emacs Perl Mode
2 # Local Variables: 
3 # mode: perl 
4 # End:
5
6 ################################################################################
7 # This is a perl module included by the perl scripts for this application.
8 # You must modify these values to match your system configuration.
9 # Create a new file called "organize_videos.conf.local" in the same dir as "organize_videos.conf"
10 # and only put in it the variables you wish to override.
11 # This will prevent your localized settings from being overwritten by future code updates.
12 ################################################################################
13
14 # Path to look for videos to move from
15 $srcpathname = "/naspool/dropbox/New Memories";
16
17 # Path to move the videos to
18 $dstpathname = "/naspool/videos/HomeVideos";
19
20 # Path to move the originals to
21 $origpathname = "/naspool/dropbox/Originals";
22 $originals_file_ext = qr/(mov|mp4)/i;
23 $save_originals = 1;
24
25 # Path to a dir to watch for videos to move to $srcpathname to be organized
26 $watchpathname = "/naspool/pictures/mylio";
27
28 # Path to merge_videos_by_day script
29 $merge_videos_by_day = "/naspool/videos/bin/merge_videos_by_day";
30
31 # Flag to merge videos by modification date instead of the date parsed from the filename
32 $merge_by_modification_date = 0;
33
34 # Path to the make_mkv script
35 $make_mkv = "/naspool/videos/bin/make_mkv";
36
37 # mkvmerge path/command name
38 $mkvmerge = '/usr/bin/mkvmerge';
39
40 # ffmpeg path/command name
41 $ffmpeg = '/usr/bin/ffmpeg';
42 $ffprobe = '/usr/bin/ffprobe';
43 $avconv = '/usr/bin/avconv';
44
45 # handbrake path/command name
46 $handbrake = '/usr/bin/HandBrakeCLI';
47
48 # The pid file to use to indicate organize_videos is running
49 $pid_file = "/tmp/organize_videos.pid";
50
51 # The owner of the files after they are moved
52 $owner = "ajp";
53
54 # The group of the files after they are moved
55 $group = "pip";
56
57 # The mode to set on each file after they are moved
58 $mode = "664";
59
60 # The mode to set on each directory after they are created
61 $dirmode = "2775";
62
63 # The extension to use when creating playlist files
64 $playlist_extension = "pls";
65
66 # What number to start with when adding an incrementing suffix to the end of the final video clip to avoid name collisions
67 $video_suffix = "000";
68
69 # Which movie file extensions should be considered for merging
70 # NOTE: Script does not support merging multiple mkv files into a single mkv file
71 $movie_file_ext = "-iregex \".*\.mov\" -o -iregex \".*\.3gp\" -o -iregex \".*\.avi\" -o -iregex \".*\.mp4\" -o -iregex \".*\.mpg\" -o -iregex \".*\.mts\" -o -iregex \".*\.m4v\"";
72
73 # Which movie file extensions should not be recompressed for merging
74 $no_recompress_file_ext = qr/\.(mp4)$/;
75
76 # Video file creation dates must not have changed in the last X minutes to process any of the video files
77 # This is done to ensure that all videos from a given upload from a camera have completed prior to looking for videos to merge
78 $minage = "+30";
79
80 # What command should be used to find files that have changed (are at least $minage old) 
81 $find_changed_cmd = "find  \"$srcpathname/\" -not -cmin $minage -a \\( $movie_file_ext \\)";
82
83 # What command should be used to find all movie files
84 $find_cmd = "find \"$srcpathname/\" $movie_file_ext";
85 $find_cmd_with_mkv = "find \"$srcpathname/\" $movie_file_ext -o -iregex \".*\.mkv\"";
86 $find_mkv = "find \"$srcpathname/\" -iregex \".*\.mkv\"";
87
88 # Set the tmpfile to use, but remove the 0 byte file it creates, we'll create it if we need it
89 $tmpfile = `tempfile`; chomp($tmpfile); unlink "$tmpfile";
90
91 # Set the timezone to use
92 $timezone = `cat /etc/timezone`; chomp($timezone);
93
94 # handbrake options used when re-encoding the videos
95 $handbrake_requantize_options='--strict-anamorphic --crop 0:0:0:0 -E ac3';
96 $handbrake_recompress_options='--strict-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="High Profile"';
97
98 # tmp chapter file used by handbrake when creating mkv, but remove the 0 byte file it creates, we'll create it if we need it
99 $chapter_file = `tempfile`; chomp($chapter_file); unlink "$chapter_file";
100
101 # handbrake input file options
102 $input_file_options = "-S";
103
104 # handbrake output file options
105 $output_file_options = "--chapters $chapter_file --compression -1:none";
106
107 # handbrake quantization levels
108 $interlaced_requantize_quality=0.85;
109 $progressive_requantize_quality=0.75;
110
111 # Remote compute host to farm handbrake encode job off to (I need this since this script is run from a virtual machine)
112 $compute_host = "pippin.pippins.net";
113
114 # 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.
115 $use_compute_host = 0;
116
117 # This will dramatically decrease the size of the video with minimal compute processing requirements.
118 $requantize_input_video=0; 
119 $recompress_input_video=1;
120
121 # What text to put on the front of the title for the merged video being created
122 $video_title_prefix = "HomeVideos:";
123
124 ####################################################################################################