--- /dev/null
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+use Getopt::Long;
+use Data::Dumper;
+
+
+my ($title, $artist, $file, $volume);
+
+GetOptions(
+ "title=s" => \$title,
+ "artist=s" => \$artist,
+ "file=s" => \$file,
+ "volume=s" => \$volume
+ ) or die $@;
+
+if (-f $file) {
+ my $tmp = $$;
+ if ($volume) {
+ system("avconv -i \"$file\" -vcodec copy -af \"volume=$volume\" /tmp/file$tmp.mp4");
+ system("mv /tmp/file$tmp.mp4 \"$file\"");
+ }
+ if ($title && $artist) {
+ system("avconv -i \"$file\" -metadata artist=\"$artist\" -metadata title=\"$title\" -codec copy -vcodec copy /tmp/file$tmp.mp4");
+ system("mv /tmp/file$tmp.mp4 \"$file\"");
+ }
+
+} else {
+ print "$file not found.\n";
+}
+