IJKplayer播放

前文我們講述瞭如何在mac推流操作。做這些的目的就是爲了今天的成果。

如果你們後臺已經完成了推流代碼,並保證完全測通,那麼就可以從這篇文章看起。開始做我們客戶端的事,否則,就需要我們客戶端自己推流來測試拉流播放效果。 安裝nginx服務器用於rtmp(ios端)推流測試

下面開始今天的主角,客戶端引入ijkplayer,並測試拉流播放。

第一步:我們需要合成ijkplayer的framework。這個在前文我們已經完成了,需要的話重新看看 ios端集成ijkplayer ios端ijkplayer編譯 這兩篇就是完成的這個步驟。

第二步:引入ijkplayer的庫,從demo中導入需要播放功能的幾個類。其實ijkplayer就是基於FFmpeg做的一個跨平臺播放系統,支持各種複雜的編碼解碼以及視頻格式等。這裏我引入的是這幾個類。
這裏寫圖片描述

第三步:解決導入這幾個文件後報錯,其實就是引用頭文件的一些錯誤,錯誤也不多,這裏就不累述了。

第四步:我們在新建項目的ViewController中引入頭文件#import "IJKMoviePlayerViewController.h"

第五步:跳入播放界面,並傳入需要的url,這個url就是我們mac上推流的地址。

NSURL *url = [NSURL URLWithString:@"rtmp://localhost:1935/rtmplive/room"];
    NSString *scheme = [[url scheme] lowercaseString];

    if ([scheme isEqualToString:@"http"]|| [scheme isEqualToString:@"https"]|| [scheme isEqualToString:@"rtmp"]) {
        [IJKVideoViewController presentFromViewController:self withTitle:[NSString stringWithFormat:@"URL: %@", url] URL:url completion:^{
            [self.navigationController popViewControllerAnimated:YES];
        }];
    }

最後我們就可以測試了,我們再終端重啓nginx,並輸入推流代碼,我這裏僅僅推送調用攝像頭的推流代碼,代碼和效果如下。

1. nginx
2. nginx -s reload
3. ffmpeg -f avfoundation -framerate 30 -i "0" -target pal-vcd ./hello.mpg -f flv rtmp://localhost:1935/rtmplive/room

然後我們運行xcode實現拉流。效果如下:
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章