|
@@ -103,16 +103,38 @@ sub get_track_length() {
|
|
|
exit 1;
|
|
|
}
|
|
|
|
|
|
-sub run_split($$$$) {
|
|
|
+sub convert_to_mp3() {
|
|
|
+
|
|
|
+ my $filename;
|
|
|
+ if ( $full_file_path =~ m/^.*\/(.*)\.(mp4)$/ ) {
|
|
|
+ $filename = $1 . ".mp3";
|
|
|
+ } else {
|
|
|
+ print "Couldn't parse relative filename out of $full_file_path\n";
|
|
|
+ exit 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ #my $ffmpegCmd = "ffmpeg -i '$full_file_path' -vn acodec libmp3lame -ac 2 -ab 160k -ar 48000 '$filename'";
|
|
|
+ my $ffmpegCmd = "ffmpeg -i '$full_file_path' -vn -acodec libmp3lame -ac 2 -qscale:a 4 -ar 48000 '$filename' > /dev/null 2>&1";
|
|
|
+
|
|
|
+ print "Converting $full_file_path to mp3...\n";
|
|
|
+ system("$ffmpegCmd") == 0 or die "Failed to convert $full_file_path to an mp3 with $ffmpegCmd\n";
|
|
|
+
|
|
|
+ return $filename;
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+sub run_split($$$$$) {
|
|
|
|
|
|
# ffmpeg -i Ryo\ Fukui\ -\ Scenery\ 1976\ \(FULL\ ALBUM\)-Hrr3dp7zRQY.mp4 -acodec copy -ss 00:00:00 -to 00:04:15 shibz.mp4
|
|
|
+ my $mp3_file = shift;
|
|
|
my $track_number = shift;
|
|
|
my $track_name = shift;
|
|
|
my $start_time = shift;
|
|
|
my $end_time = shift;
|
|
|
# Optionally covert to different codec?
|
|
|
- my $filename = "$track_number" . "-" . "$track_name" . ".mp4";
|
|
|
- my $ffmpegCmd = "$ffmpegBin -i '$full_file_path' -acodec copy -ss $start_time -to $end_time $filename 2>&1 > /dev/null";
|
|
|
+ my $filename = "$track_number" . "-" . "$track_name" . ".mp3";
|
|
|
+ my $ffmpegCmd = "$ffmpegBin -i '$mp3_file' -acodec copy -ss $start_time -to $end_time $filename > /dev/null 2>&1";
|
|
|
+ print "Splitting $track_name from $mp3_file -> $start_time - $end_time\n";
|
|
|
system("$ffmpegCmd") == 0 or die "Failed to run $ffmpegCmd\n";
|
|
|
|
|
|
}
|
|
@@ -149,10 +171,12 @@ foreach my $track_number ( sort keys %track_times ) {
|
|
|
|
|
|
}
|
|
|
|
|
|
+my $mp3_file = convert_to_mp3();
|
|
|
+
|
|
|
foreach my $track_number ( sort keys %track_times ) {
|
|
|
|
|
|
print "Splitting $track_number - $track_names{$track_number} - $track_times{$track_number}[0] - $track_times{$track_number}[1]\n";
|
|
|
- run_split($track_number,$track_names{$track_number},$track_times{$track_number}[0],$track_times{$track_number}[1]);
|
|
|
+ run_split($mp3_file,$track_number,$track_names{$track_number},$track_times{$track_number}[0],$track_times{$track_number}[1]);
|
|
|
|
|
|
}
|
|
|
|