aboutsummaryrefslogtreecommitdiffstats
path: root/Convert into QuickTime/Convert into QuickTime.m
diff options
context:
space:
mode:
Diffstat (limited to 'Convert into QuickTime/Convert into QuickTime.m')
-rw-r--r--Convert into QuickTime/Convert into QuickTime.m44
1 files changed, 44 insertions, 0 deletions
diff --git a/Convert into QuickTime/Convert into QuickTime.m b/Convert into QuickTime/Convert into QuickTime.m
new file mode 100644
index 0000000..5e23ed3
--- /dev/null
+++ b/Convert into QuickTime/Convert into QuickTime.m
@@ -0,0 +1,44 @@
+//
+// Convert into QuickTime.m
+// Convert into QuickTime
+//
+// Created by Filipp Lepalaan on 10.7.2011.
+// Copyright (c) 2011 __MyCompanyName__, All Rights Reserved.
+//
+
+#import "Convert into QuickTime.h"
+
+@implementation Convert_into_QuickTime
+
+- (id)runWithInput:(id)input fromAction:(AMAction *)anAction error:(NSDictionary **)errorInfo
+{
+ // Add your code here, returning the data to be passed to the next action.
+
+ NSMutableArray *returnArray = [NSMutableArray arrayWithCapacity:[input count]];
+ NSFileManager *fileManager = [NSFileManager defaultManager];
+
+ NSString *ffmpeg = [[self bundle] pathForResource:@"ffmpeg" ofType:nil];
+ NSString *uuid = [[NSProcessInfo processInfo] globallyUniqueString];
+ NSLog(@"Using ffmpeg from %@", ffmpeg);
+ NSString *outFolder = [NSString stringWithFormat:@"%@/%@", NSTemporaryDirectory(), uuid];
+ [fileManager createDirectoryAtPath:outFolder withIntermediateDirectories:NO attributes:nil error:NULL];
+ NSLog(@"Output set to: %@", outFolder);
+
+ NSUInteger i, count = [input count];
+ for (i = 0; i < count; i++)
+ {
+ NSString *inFile = [input objectAtIndex:i];
+ NSString *fileName = [[inFile pathComponents] lastObject];
+ NSString *outFile = [NSString stringWithFormat:@"%@/%@.mov", outFolder, fileName];
+ NSArray *args = [NSArray arrayWithObjects:@"-y", @"-i", inFile,
+ @"-vcodec", @"copy", @"-acodec", @"alac", outFile, nil];
+ NSTask *t = [NSTask launchedTaskWithLaunchPath:ffmpeg arguments:args];
+ [t waitUntilExit];
+ [returnArray addObject:outFile];
+ }
+
+ return returnArray;
+
+}
+
+@end