3

私たちの iOS アプリでは、ユーザーは動画をアップロードして再生できます。

  1. 動画の保存には AWS S3 バケットを使用しています。
  2. AWS Cloudfront は CDN です。

すべての動画は CDN URL を介してアクセスされます。例: https://dnxrwXXXXXX.cloudfront.net/1417696382ABC.mp4

確認したとおり、CDN とインターネット接続に問題はありません。このビデオをブラウザの HTML プレーヤーで再生しても問題はありません。

しかし問題は、1 つのビデオをクリックすると、再生に時間がかかることです。私たちだけが見ることができるのはロード中です。ビデオの再生を開始した後、スムーズに再生されます。初期ロードの問題。

ここにコードがあります

MPMovieSourceType sourceType;
    NSURL *currentURL = [[VideoDiskCache getSharedInstance] searchCash:urll];
    if (!currentURL) {
        currentURL = urll;
        sourceType = MPMovieSourceTypeStreaming;
    } else {
        sourceType = MPMovieSourceTypeFile;
    }
    moviePlayerController = [[MPMoviePlayerViewController alloc]
                initWithContentURL:currentURL];
    moviePlayerController.view.superview.backgroundColor = [UIColor blackColor];
    moviePlayerController.view.superview.superview.backgroundColor = [UIColor blackColor];
    moviePlayerController.view.superview.superview.backgroundColor = [UIColor blackColor];
    moviePlayerController.view.backgroundColor = [UIColor blackColor];
    moviePlayerController.moviePlayer.movieSourceType = sourceType;
    [AppDelegate getAppDelegate].navigationController.view.backgroundColor = [UIColor blackColor];
    [[AppDelegate getAppDelegate].navigationController presentMoviePlayerViewControllerAnimated:moviePlayerController];

ここで url は元のクラウド フロント URL を意味します。動画がキャッシュにある場合は、ソース タイプ MPMovieSourceTypeFile でキャッシュから読み込みます。または、ソース タイプ MPMovieSourceTypeStreaming の URL からストリーミングします。また、HTTP ライブ ストリーミング (HLS) も使用しています。

これらのビデオはキャッシュされており、キャッシュされたビデオの再生に問題はありません。

4

0 に答える 0