| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- // Tencent is pleased to support the open source community by making vap available.
- //
- // Copyright (C) 2020 THL A29 Limited, a Tencent company. All rights reserved.
- //
- // Licensed under the MIT License (the "License"); you may not use this file except in
- // compliance with the License. You may obtain a copy of the License at
- //
- // http://opensource.org/licenses/MIT
- //
- // Unless required by applicable law or agreed to in writing, software distributed under the License is
- // distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
- // either express or implied. See the License for the specific language governing permissions and
- // limitations under the License.
- #import "VapxMp4Editor.h"
- @implementation VapxMp4Editor
- - (NSString *)mp4ByInsertAtom:(NSString *)atomPath atIndex:(NSInteger)index {
-
- NSFileManager *fileManager = [NSFileManager defaultManager];
- if (self.inputPath.length == 0 || ![fileManager fileExistsAtPath:self.inputPath]) {
- return nil;
- }
-
- NSString *ffmpegPath = [[NSBundle mainBundle] pathForResource:@"mp4edit" ofType:@""];
- NSString *output = self.outputPath;
-
- NSArray *arguments = @[@"--insert", [NSString stringWithFormat:@":%@:%@", atomPath, @(index)], self.inputPath, output];
-
- NSPipe *pipe = [NSPipe pipe];
- NSFileHandle * read = [pipe fileHandleForReading];
- NSTask *task = [[NSTask alloc] init];
- [task setLaunchPath: ffmpegPath];
- [task setArguments: arguments];
- [task setStandardOutput: pipe];
- [task launch];
- [task waitUntilExit];
- NSData* data = [read readDataToEndOfFile];
- NSString* stringOutput = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
- NSLog(@"stringOutput:%@, terminationStatus:%i",stringOutput, [task terminationStatus]);
-
- return output;
- }
- @end
|