ビデオファイルをトリミングしたい。ギャラリーからビデオを選んで15秒間のビデオに変換したいだけです。 pickerviewcontroller
で通常のトリミングを使用すると、時間が指定されず、フレームが表示されますが、15秒間固定する必要があります。どうすればこれを達成できますか?iOS SDKで動画ファイルをトリミングして15秒間の動画に変換するにはどうすればよいですか?
5
A
答えて
9
-(void)cropVideo:(NSURL*)videoToTrimURL{
AVURLAsset *asset = [AVURLAsset URLAssetWithURL:videoToTrimURL options:nil];
AVAssetExportSession *exportSession = [[AVAssetExportSession alloc] initWithAsset:asset presetName:AVAssetExportPresetHighestQuality];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *outputURL = paths[0];
NSFileManager *manager = [NSFileManager defaultManager];
[manager createDirectoryAtPath:outputURL withIntermediateDirectories:YES attributes:nil error:nil];
outputURL = [outputURL stringByAppendingPathComponent:@"output.mp4"];
// Remove Existing File
[manager removeItemAtPath:outputURL error:nil];
exportSession.outputURL = [NSURL fileURLWithPath:outputURL];
exportSession.shouldOptimizeForNetworkUse = YES;
exportSession.outputFileType = AVFileTypeQuickTimeMovie;
CMTime start = CMTimeMakeWithSeconds(1.0, 600); // you will modify time range here
CMTime duration = CMTimeMakeWithSeconds(15.0, 600);
CMTimeRange range = CMTimeRangeMake(start, duration);
exportSession.timeRange = range;
[exportSession exportAsynchronouslyWithCompletionHandler:^(void)
{
switch (exportSession.status) {
case AVAssetExportSessionStatusCompleted:
[self writeVideoToPhotoLibrary:[NSURL fileURLWithPath:outputURL]];
NSLog(@"Export Complete %d %@", exportSession.status, exportSession.error);
break;
case AVAssetExportSessionStatusFailed:
NSLog(@"Failed:%@",exportSession.error);
break;
case AVAssetExportSessionStatusCancelled:
NSLog(@"Canceled:%@",exportSession.error);
break;
default:
break;
}
//[exportSession release];
}];
}
0
上記の答えは、開始時刻と終了時刻の両方を調整する必要がある場合に少し変更して私の仕事をしてくれました。それは私のために働いた
CMTime start = CMTimeMakeWithSeconds(self.StartTime, 600); // you will modify time range here
CMTime duration = CMTimeSubtract(CMTimeMakeWithSeconds(self.EndTime, 600), start);
CMTimeRange range = CMTimeRangeMake(start, duration);
:これに
CMTime start = CMTimeMakeWithSeconds(1.0, 600); // you will modify time range here
CMTime duration = CMTimeMakeWithSeconds(15.0, 600);
CMTimeRange range = CMTimeRangeMake(start, duration);
:
は、私はこれを変更しました。
関連する問題
- 1. サーバー上で画像を自動的にトリミングするにはどうすればよいですか?
- 2. ImageViewのサイズを画像のトリミング枠のようにコーナーからドラッグして動的に変更するにはどうすればよいですか?
- 3. バックグラウンド変更画像を15秒ごとに自動的に作成するにはどうすればよいですか? JavaScript? jQuery?
- 4. Facebookの動画サムネイルを動画IDから取得するにはどうすればよいですか?
- 5. YouTube動画が再生された秒数を確認するにはどうすればよいですか?
- 6. ColdFusion(Java)でCMYKとRGBの間で画像を変換するにはどうすればよいですか?
- 7. 動画の再生を知るにはどうすればよいですか?
- 8. iOS - 再生せずに動画からサムネイルを取得するにはどうすればよいですか?
- 9. phonegap-videoplayer-pluginを使用してYouTube動画を再生するにはどうすればよいですか?
- 10. 秒をマイクロ波の時間に変換するにはどうすればよいですか?
- 11. Androidで画像や動画のテキストフィールドを保存するにはどうすればよいですか?
- 12. アンドロイドギャラリーで画像と動画のみをフィルタリングするにはどうすればよいですか?
- 13. 画像を含むreStructuredTextファイルをmarkdownに変換するにはどうすればよいですか?
- 14. オリンパスのネイティブ画像と動画をGoogleフォトにアップロードするにはどうすればよいですか?
- 15. facebook-ios-sdkのようなアプリを再起動するにはどうすればいいですか?
- 16. 自動レイアウトiOSでフォントサイズを動的に変更するにはどうすればよいですか?
- 17. ミリ秒を時間と日に変換するにはどうすればよいですか?
- 18. MIDIデルタタイムを秒またはマイクロ秒に変換するにはどうすればよいですか?
- 19. iOS描画アプリをズームするにはどうすればよいですか?
- 20. PILで画像を自動トリミングする
- 21. iPhoneが画面を再描画するまで変換の変更を表示しないようにするにはどうすればいいですか?
- 22. 自動テスト中に画面の向きを変更するにはどうすればよいですか?
- 23. 動画の再生時間を取得するにはどうすればよいですか?
- 24. YouTubePlayerFragmentを使用してYouTube APIで動画を再生するにはどうすればよいですか?
- 25. moment.jsを使用してミリ秒をdd:hh:mmに変換するにはどうすればよいですか?
- 26. cell.imageview.imageでUITableViewsの画像をトリミングするにはどうすればよいですか?
- 27. あらかじめ定義されたポリゴンシェイプを画像ファイルから自動トリミングするにはどうすればよいですか?
- 28. YouTube動画(IFrame API)を自動的に再生するにはどうすればよいですか?
- 29. FTPを使用してディレクトリ間でファイルを移動するにはどうすればよいですか?
- 30. iOSの動画URLから利用可能な動画サイズ/品質を取得するにはどうすればよいですか?
私たちは時間の開始と継続時間を変えて、時にはビデオをトリミングしないことがあります。これを確認してください。 – Imran
@ram動画の再生時間は60秒です。15から30秒の間に削除したいです。 – sohil
CMTime start = CMTimeMakeWithSeconds(15,600); // CMTime duration = CMTimeMakeWithSeconds(30,600)を変更します。 @sohilそれはあなたのために動作します – ram