Skip to content

Instantly share code, notes, and snippets.

@VladSumtsov
Forked from oc2pcoj/Good IOS RTSP Player.md
Created January 4, 2016 15:28
Show Gist options
  • Select an option

  • Save VladSumtsov/b2de1c884da4606a4abb to your computer and use it in GitHub Desktop.

Select an option

Save VladSumtsov/b2de1c884da4606a4abb to your computer and use it in GitHub Desktop.

Revisions

  1. @oc2pcoj oc2pcoj revised this gist Nov 29, 2015. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion Good IOS RTSP Player.md
    Original file line number Diff line number Diff line change
    @@ -12,7 +12,7 @@ I have tried a lot of solutions for IP-camera streams.

    4. DFURTSPPlayer. https://github.com/durfu/DFURTSPPlayer <br />
    **Result:** I used this solutions few months. But this project haven't scripts for building new ffmpeg libs and
    sometimes it player crashes in random momenet after stop playing.
    sometimes it player crashes in random moment after stop playing.

    # Current well working solution

  2. @oc2pcoj oc2pcoj revised this gist Nov 29, 2015. 1 changed file with 7 additions and 3 deletions.
    10 changes: 7 additions & 3 deletions Good IOS RTSP Player.md
    Original file line number Diff line number Diff line change
    @@ -20,14 +20,17 @@ sometimes it player crashes in random momenet after stop playing.
    It is ffmpeg based fresh player by Bilibili company.

    ## How to integrate special for IP-cameras
    Folow intructions based on ijplayer instructions.
    Follow my intructions based on ijplayer instructions.

    1. Install git and yasm to you system. Use homebrew or mac ports for this.
    1. Install `git` and `yasm` to you system. Use homebrew or mac ports for this.
    2. Create special directory in you project, for example, *youproject/libs/video*
    3. Add ijkplayer as submodule to your project
    `git submodule add https://github.com/Bilibili/ijkplayer.git libs/video/ijkplayer`
    4. Execute commands:
    `cd libs/video/ijkplayer <br /> git checkout -B latest k0.4.2.4`
    ```
    cd libs/video/ijkplayer
    git checkout -B latest k0.4.2.4
    ```
    Tag for latest branch may be differ then my. You should check official documentation for latest tag.
    5. Replace libs/video/ijkplayer/config/module.sh with my rtsp_module.sh located below this instruction.
    My file contains some addition keys for ffmpeg which added support for protocols and codecs which use popular IP-cameras.
    @@ -58,4 +61,5 @@ self.view.autoresizesSubviews = YES;
    ```
    <br />
    Don't forget about callbacks.

    Have fun!
  3. @oc2pcoj oc2pcoj revised this gist Nov 29, 2015. 1 changed file with 5 additions and 1 deletion.
    6 changes: 5 additions & 1 deletion Good IOS RTSP Player.md
    Original file line number Diff line number Diff line change
    @@ -45,7 +45,11 @@ If you complete steps correctly ffmpeg and player should be compile successfully
    8. Look at **ijkplayer/ios/IJKMediaDemo/** and and insert player to you code. For example:

    ```
    self.player = [[IJKFFMoviePlayerController alloc] initWithContentURL:self.url withOptions:options]; self.player.view.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight; self.player.view.frame = self.videoView.bounds; <br /> self.player.scalingMode = MPMovieScalingModeFill; self.view.autoresizesSubviews = YES;
    self.player = [[IJKFFMoviePlayerController alloc] initWithContentURL:self.url withOptions:options];
    self.player.view.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;
    self.player.view.frame = self.videoView.bounds;
    self.player.scalingMode = MPMovieScalingModeFill;
    self.view.autoresizesSubviews = YES;
    [self.videoView addSubview:self.player.view];
    [self.videoView sendSubviewToBack:self.player.view];
    [self installMovieNotificationObservers];
  4. @oc2pcoj oc2pcoj revised this gist Nov 29, 2015. 1 changed file with 2 additions and 4 deletions.
    6 changes: 2 additions & 4 deletions Good IOS RTSP Player.md
    Original file line number Diff line number Diff line change
    @@ -31,14 +31,13 @@ Folow intructions based on ijplayer instructions.
    Tag for latest branch may be differ then my. You should check official documentation for latest tag.
    5. Replace libs/video/ijkplayer/config/module.sh with my rtsp_module.sh located below this instruction.
    My file contains some addition keys for ffmpeg which added support for protocols and codecs which use popular IP-cameras.
    6. Run this. <br />
    6. Run this.
    ```
    ./init-ios.sh
    cd ios
    ./compile-ffmpeg.sh clean
    ./compile-ffmpeg.sh all
    ```
    <br />
    If you complete steps correctly ffmpeg and player should be compile successfully.

    7. Add IJKMediaPlayer.xcodeproj as sub project to your project. [Apple Developer FAQ](https://developer.apple.com/library/ios/recipes/xcode_help-structure_navigator/articles/Adding_an_Existing_Project_to_a_Workspace.html)
    @@ -55,5 +54,4 @@ self.player = [[IJKFFMoviePlayerController alloc] initWithContentURL:self.url wi
    ```
    <br />
    Don't forget about callbacks.

    9. Have fun!
    Have fun!
  5. @oc2pcoj oc2pcoj revised this gist Nov 29, 2015. 1 changed file with 16 additions and 9 deletions.
    25 changes: 16 additions & 9 deletions Good IOS RTSP Player.md
    Original file line number Diff line number Diff line change
    @@ -31,21 +31,28 @@ Folow intructions based on ijplayer instructions.
    Tag for latest branch may be differ then my. You should check official documentation for latest tag.
    5. Replace libs/video/ijkplayer/config/module.sh with my rtsp_module.sh located below this instruction.
    My file contains some addition keys for ffmpeg which added support for protocols and codecs which use popular IP-cameras.
    6. Run this.
    `./init-ios.sh <br /> cd ios <br /> ./compile-ffmpeg.sh clean <br /> ./compile-ffmpeg.sh all`

    6. Run this. <br />
    ```
    ./init-ios.sh
    cd ios
    ./compile-ffmpeg.sh clean
    ./compile-ffmpeg.sh all
    ```
    <br />
    If you complete steps correctly ffmpeg and player should be compile successfully.

    7. Add IJKMediaPlayer.xcodeproj as sub project to your project. [Apple Developer FAQ](https://developer.apple.com/library/ios/recipes/xcode_help-structure_navigator/articles/Adding_an_Existing_Project_to_a_Workspace.html)

    8. Look at **ijkplayer/ios/IJKMediaDemo/** and and insert player to you code. For example:

    `self.player = [[IJKFFMoviePlayerController alloc] initWithContentURL:self.url withOptions:options]; <br /> self.player.view.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight; <br /> self.player.view.frame = self.videoView.bounds; <br /> self.player.scalingMode = MPMovieScalingModeFill; <br /> self.view.autoresizesSubviews = YES;`
    `[self.videoView addSubview:self.player.view];`
    `[self.videoView sendSubviewToBack:self.player.view];`
    `[self installMovieNotificationObservers];`
    `[self.player prepareToPlay];`
    `[self.player play];`
    ```
    self.player = [[IJKFFMoviePlayerController alloc] initWithContentURL:self.url withOptions:options]; self.player.view.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight; self.player.view.frame = self.videoView.bounds; <br /> self.player.scalingMode = MPMovieScalingModeFill; self.view.autoresizesSubviews = YES;
    [self.videoView addSubview:self.player.view];
    [self.videoView sendSubviewToBack:self.player.view];
    [self installMovieNotificationObservers];
    [self.player prepareToPlay];
    [self.player play];
    ```
    <br />
    Don't forget about callbacks.

  6. @oc2pcoj oc2pcoj revised this gist Nov 29, 2015. 1 changed file with 4 additions and 11 deletions.
    15 changes: 4 additions & 11 deletions Good IOS RTSP Player.md
    Original file line number Diff line number Diff line change
    @@ -27,33 +27,26 @@ Folow intructions based on ijplayer instructions.
    3. Add ijkplayer as submodule to your project
    `git submodule add https://github.com/Bilibili/ijkplayer.git libs/video/ijkplayer`
    4. Execute commands:
    `cd libs/video/ijkplayer
    git checkout -B latest k0.4.2.4`
    `cd libs/video/ijkplayer <br /> git checkout -B latest k0.4.2.4`
    Tag for latest branch may be differ then my. You should check official documentation for latest tag.
    5. Replace libs/video/ijkplayer/config/module.sh with my rtsp_module.sh located below this instruction.
    My file contains some addition keys for ffmpeg which added support for protocols and codecs which use popular IP-cameras.
    6. Run this.
    `./init-ios.sh
    cd ios
    ./compile-ffmpeg.sh clean
    ./compile-ffmpeg.sh all`
    `./init-ios.sh <br /> cd ios <br /> ./compile-ffmpeg.sh clean <br /> ./compile-ffmpeg.sh all`

    If you complete steps correctly ffmpeg and player should be compile successfully.

    7. Add IJKMediaPlayer.xcodeproj as sub project to your project. [Apple Developer FAQ](https://developer.apple.com/library/ios/recipes/xcode_help-structure_navigator/articles/Adding_an_Existing_Project_to_a_Workspace.html)

    8. Look at **ijkplayer/ios/IJKMediaDemo/** and and insert player to you code. For example:

    `self.player = [[IJKFFMoviePlayerController alloc] initWithContentURL:self.url withOptions:options];`
    `self.player.view.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;`
    `self.player.view.frame = self.videoView.bounds;`
    `self.player.scalingMode = MPMovieScalingModeFill;`
    `self.view.autoresizesSubviews = YES;`
    `self.player = [[IJKFFMoviePlayerController alloc] initWithContentURL:self.url withOptions:options]; <br /> self.player.view.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight; <br /> self.player.view.frame = self.videoView.bounds; <br /> self.player.scalingMode = MPMovieScalingModeFill; <br /> self.view.autoresizesSubviews = YES;`
    `[self.videoView addSubview:self.player.view];`
    `[self.videoView sendSubviewToBack:self.player.view];`
    `[self installMovieNotificationObservers];`
    `[self.player prepareToPlay];`
    `[self.player play];`
    <br />
    Don't forget about callbacks.

    9. Have fun!
  7. @oc2pcoj oc2pcoj revised this gist Nov 29, 2015. 1 changed file with 4 additions and 4 deletions.
    8 changes: 4 additions & 4 deletions Good IOS RTSP Player.md
    Original file line number Diff line number Diff line change
    @@ -2,15 +2,15 @@ I have tried a lot of solutions for IP-camera streams.

    # Old solutions

    1. Vitamio.https://github.com/yixia/Vitamio-iOS **Result:** random crashes and not working cameras
    1. Vitamio.https://github.com/yixia/Vitamio-iOS <br /> **Result:** random crashes and not working cameras

    2. https://github.com/kolyvan/kxmovie
    2. https://github.com/kolyvan/kxmovie <br />
    **Result:** compile time error. I haven't successfully integrated it to my project.

    3. GStreamer. https://github.com/sdroege/gst-player
    3. GStreamer. https://github.com/sdroege/gst-player <br />
    **Result:** I successfully integrated it, but reached bug: https://bugzilla.gnome.org/show_bug.cgi?id=756073

    4. DFURTSPPlayer. https://github.com/durfu/DFURTSPPlayer
    4. DFURTSPPlayer. https://github.com/durfu/DFURTSPPlayer <br />
    **Result:** I used this solutions few months. But this project haven't scripts for building new ffmpeg libs and
    sometimes it player crashes in random momenet after stop playing.

  8. @oc2pcoj oc2pcoj revised this gist Nov 29, 2015. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion Good IOS RTSP Player.md
    Original file line number Diff line number Diff line change
    @@ -2,7 +2,7 @@ I have tried a lot of solutions for IP-camera streams.

    # Old solutions

    1. Vitamio.https://github.com/yixia/Vitamio-iOS </b> **Result:** random crashes and not working cameras
    1. Vitamio.https://github.com/yixia/Vitamio-iOS **Result:** random crashes and not working cameras

    2. https://github.com/kolyvan/kxmovie
    **Result:** compile time error. I haven't successfully integrated it to my project.
  9. @oc2pcoj oc2pcoj revised this gist Nov 29, 2015. 1 changed file with 2 additions and 6 deletions.
    8 changes: 2 additions & 6 deletions Good IOS RTSP Player.md
    Original file line number Diff line number Diff line change
    @@ -25,10 +25,9 @@ Folow intructions based on ijplayer instructions.
    1. Install git and yasm to you system. Use homebrew or mac ports for this.
    2. Create special directory in you project, for example, *youproject/libs/video*
    3. Add ijkplayer as submodule to your project

    `git submodule add https://github.com/Bilibili/ijkplayer.git libs/video/ijkplayer`
    `git submodule add https://github.com/Bilibili/ijkplayer.git libs/video/ijkplayer`
    4. Execute commands:
    `cd libs/video/ijkplayer
    `cd libs/video/ijkplayer
    git checkout -B latest k0.4.2.4`
    Tag for latest branch may be differ then my. You should check official documentation for latest tag.
    5. Replace libs/video/ijkplayer/config/module.sh with my rtsp_module.sh located below this instruction.
    @@ -46,11 +45,8 @@ If you complete steps correctly ffmpeg and player should be compile successfully
    8. Look at **ijkplayer/ios/IJKMediaDemo/** and and insert player to you code. For example:

    `self.player = [[IJKFFMoviePlayerController alloc] initWithContentURL:self.url withOptions:options];`

    `self.player.view.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;`

    `self.player.view.frame = self.videoView.bounds;`

    `self.player.scalingMode = MPMovieScalingModeFill;`
    `self.view.autoresizesSubviews = YES;`
    `[self.videoView addSubview:self.player.view];`
  10. @oc2pcoj oc2pcoj revised this gist Nov 29, 2015. 1 changed file with 15 additions and 11 deletions.
    26 changes: 15 additions & 11 deletions Good IOS RTSP Player.md
    Original file line number Diff line number Diff line change
    @@ -34,26 +34,30 @@ Tag for latest branch may be differ then my. You should check official documenta
    5. Replace libs/video/ijkplayer/config/module.sh with my rtsp_module.sh located below this instruction.
    My file contains some addition keys for ffmpeg which added support for protocols and codecs which use popular IP-cameras.
    6. Run this.
    7.
    `./init-ios.sh
    cd ios
    ./compile-ffmpeg.sh clean
    ./compile-ffmpeg.sh all`

    If you complete steps correctly ffmpeg and player should be compile successfully.
    8. Add IJKMediaPlayer.xcodeproj as sub project to your project. [Apple Developer FAQ](https://developer.apple.com/library/ios/recipes/xcode_help-structure_navigator/articles/Adding_an_Existing_Project_to_a_Workspace.html)
    9. Look at **ijkplayer/ios/IJKMediaDemo/** and and insert player to you code. For example:

    7. Add IJKMediaPlayer.xcodeproj as sub project to your project. [Apple Developer FAQ](https://developer.apple.com/library/ios/recipes/xcode_help-structure_navigator/articles/Adding_an_Existing_Project_to_a_Workspace.html)

    8. Look at **ijkplayer/ios/IJKMediaDemo/** and and insert player to you code. For example:

    `self.player = [[IJKFFMoviePlayerController alloc] initWithContentURL:self.url withOptions:options];`

    `self.player.view.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;`

    `self.player.view.frame = self.videoView.bounds;`
    `self.player.scalingMode = MPMovieScalingModeFill;`
    self.view.autoresizesSubviews = YES;
    [self.videoView addSubview:self.player.view];
    [self.videoView sendSubviewToBack:self.player.view];
    [self installMovieNotificationObservers];
    [self.player prepareToPlay];
    [self.player play];`

    `self.player.scalingMode = MPMovieScalingModeFill;`
    `self.view.autoresizesSubviews = YES;`
    `[self.videoView addSubview:self.player.view];`
    `[self.videoView sendSubviewToBack:self.player.view];`
    `[self installMovieNotificationObservers];`
    `[self.player prepareToPlay];`
    `[self.player play];`
    Don't forget about callbacks.
    10. Have fun!

    9. Have fun!
  11. @oc2pcoj oc2pcoj revised this gist Nov 29, 2015. 1 changed file with 0 additions and 1 deletion.
    1 change: 0 additions & 1 deletion Good IOS RTSP Player.md
    Original file line number Diff line number Diff line change
    @@ -45,7 +45,6 @@ If you complete steps correctly ffmpeg and player should be compile successfully
    9. Look at **ijkplayer/ios/IJKMediaDemo/** and and insert player to you code. For example:

    `self.player = [[IJKFFMoviePlayerController alloc] initWithContentURL:self.url withOptions:options];`

    `self.player.view.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;`
    `self.player.view.frame = self.videoView.bounds;`
    `self.player.scalingMode = MPMovieScalingModeFill;`
  12. @oc2pcoj oc2pcoj revised this gist Nov 29, 2015. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions Good IOS RTSP Player.md
    Original file line number Diff line number Diff line change
    @@ -45,6 +45,7 @@ If you complete steps correctly ffmpeg and player should be compile successfully
    9. Look at **ijkplayer/ios/IJKMediaDemo/** and and insert player to you code. For example:

    `self.player = [[IJKFFMoviePlayerController alloc] initWithContentURL:self.url withOptions:options];`

    `self.player.view.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;`
    `self.player.view.frame = self.videoView.bounds;`
    `self.player.scalingMode = MPMovieScalingModeFill;`
  13. @oc2pcoj oc2pcoj revised this gist Nov 29, 2015. 1 changed file with 4 additions and 3 deletions.
    7 changes: 4 additions & 3 deletions Good IOS RTSP Player.md
    Original file line number Diff line number Diff line change
    @@ -44,9 +44,10 @@ If you complete steps correctly ffmpeg and player should be compile successfully
    8. Add IJKMediaPlayer.xcodeproj as sub project to your project. [Apple Developer FAQ](https://developer.apple.com/library/ios/recipes/xcode_help-structure_navigator/articles/Adding_an_Existing_Project_to_a_Workspace.html)
    9. Look at **ijkplayer/ios/IJKMediaDemo/** and and insert player to you code. For example:

    `self.player = [[IJKFFMoviePlayerController alloc] initWithContentURL:self.url withOptions:options]; self.player.view.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;`
    self.player.view.frame = self.videoView.bounds;
    self.player.scalingMode = MPMovieScalingModeFill;
    `self.player = [[IJKFFMoviePlayerController alloc] initWithContentURL:self.url withOptions:options];`
    `self.player.view.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;`
    `self.player.view.frame = self.videoView.bounds;`
    `self.player.scalingMode = MPMovieScalingModeFill;`
    self.view.autoresizesSubviews = YES;
    [self.videoView addSubview:self.player.view];
    [self.videoView sendSubviewToBack:self.player.view];
  14. @oc2pcoj oc2pcoj revised this gist Nov 29, 2015. 1 changed file with 2 additions and 3 deletions.
    5 changes: 2 additions & 3 deletions Good IOS RTSP Player.md
    Original file line number Diff line number Diff line change
    @@ -43,11 +43,10 @@ cd ios
    If you complete steps correctly ffmpeg and player should be compile successfully.
    8. Add IJKMediaPlayer.xcodeproj as sub project to your project. [Apple Developer FAQ](https://developer.apple.com/library/ios/recipes/xcode_help-structure_navigator/articles/Adding_an_Existing_Project_to_a_Workspace.html)
    9. Look at **ijkplayer/ios/IJKMediaDemo/** and and insert player to you code. For example:
    ` self.player = [[IJKFFMoviePlayerController alloc] initWithContentURL:self.url withOptions:options];
    self.player.view.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;

    `self.player = [[IJKFFMoviePlayerController alloc] initWithContentURL:self.url withOptions:options]; self.player.view.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;`
    self.player.view.frame = self.videoView.bounds;
    self.player.scalingMode = MPMovieScalingModeFill;

    self.view.autoresizesSubviews = YES;
    [self.videoView addSubview:self.player.view];
    [self.videoView sendSubviewToBack:self.player.view];
  15. @oc2pcoj oc2pcoj revised this gist Nov 29, 2015. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions Good IOS RTSP Player.md
    Original file line number Diff line number Diff line change
    @@ -43,8 +43,7 @@ cd ios
    If you complete steps correctly ffmpeg and player should be compile successfully.
    8. Add IJKMediaPlayer.xcodeproj as sub project to your project. [Apple Developer FAQ](https://developer.apple.com/library/ios/recipes/xcode_help-structure_navigator/articles/Adding_an_Existing_Project_to_a_Workspace.html)
    9. Look at **ijkplayer/ios/IJKMediaDemo/** and and insert player to you code. For example:
    `
    self.player = [[IJKFFMoviePlayerController alloc] initWithContentURL:self.url withOptions:options];
    ` self.player = [[IJKFFMoviePlayerController alloc] initWithContentURL:self.url withOptions:options];
    self.player.view.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;
    self.player.view.frame = self.videoView.bounds;
    self.player.scalingMode = MPMovieScalingModeFill;
    @@ -55,5 +54,6 @@ If you complete steps correctly ffmpeg and player should be compile successfully
    [self installMovieNotificationObservers];
    [self.player prepareToPlay];
    [self.player play];`

    Don't forget about callbacks.
    10. Have fun!
  16. @oc2pcoj oc2pcoj revised this gist Nov 29, 2015. 1 changed file with 30 additions and 2 deletions.
    32 changes: 30 additions & 2 deletions Good IOS RTSP Player.md
    Original file line number Diff line number Diff line change
    @@ -27,5 +27,33 @@ Folow intructions based on ijplayer instructions.
    3. Add ijkplayer as submodule to your project

    `git submodule add https://github.com/Bilibili/ijkplayer.git libs/video/ijkplayer`

    4.
    4. Execute commands:
    `cd libs/video/ijkplayer
    git checkout -B latest k0.4.2.4`
    Tag for latest branch may be differ then my. You should check official documentation for latest tag.
    5. Replace libs/video/ijkplayer/config/module.sh with my rtsp_module.sh located below this instruction.
    My file contains some addition keys for ffmpeg which added support for protocols and codecs which use popular IP-cameras.
    6. Run this.
    7.
    `./init-ios.sh
    cd ios
    ./compile-ffmpeg.sh clean
    ./compile-ffmpeg.sh all`

    If you complete steps correctly ffmpeg and player should be compile successfully.
    8. Add IJKMediaPlayer.xcodeproj as sub project to your project. [Apple Developer FAQ](https://developer.apple.com/library/ios/recipes/xcode_help-structure_navigator/articles/Adding_an_Existing_Project_to_a_Workspace.html)
    9. Look at **ijkplayer/ios/IJKMediaDemo/** and and insert player to you code. For example:
    `
    self.player = [[IJKFFMoviePlayerController alloc] initWithContentURL:self.url withOptions:options];
    self.player.view.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;
    self.player.view.frame = self.videoView.bounds;
    self.player.scalingMode = MPMovieScalingModeFill;

    self.view.autoresizesSubviews = YES;
    [self.videoView addSubview:self.player.view];
    [self.videoView sendSubviewToBack:self.player.view];
    [self installMovieNotificationObservers];
    [self.player prepareToPlay];
    [self.player play];`
    Don't forget about callbacks.
    10. Have fun!
  17. @oc2pcoj oc2pcoj revised this gist Nov 29, 2015. 2 changed files with 247 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions Good IOS RTSP Player.md
    Original file line number Diff line number Diff line change
    @@ -26,6 +26,6 @@ Folow intructions based on ijplayer instructions.
    2. Create special directory in you project, for example, *youproject/libs/video*
    3. Add ijkplayer as submodule to your project

    `git submodule add https://github.com/Bilibili/ijkplayer.git libs/video/ijplayer`

    `git submodule add https://github.com/Bilibili/ijkplayer.git libs/video/ijkplayer`

    4.
    245 changes: 245 additions & 0 deletions rtsp_module.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,245 @@
    #! /usr/bin/env bash

    #--------------------
    # Standard options:
    export COMMON_FF_CFG_FLAGS=
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --prefix=PREFIX"

    # Licensing options:
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-gpl"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-version3"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-nonfree"

    # Configuration options:
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-static"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-shared"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-small"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-runtime-cpudetect"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-gray"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-swscale-alpha"

    # Program options:
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-programs"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-ffmpeg"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-ffplay"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-ffprobe"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-ffserver"

    # Documentation options:
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-doc"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-htmlpages"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-manpages"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-podpages"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-txtpages"

    # Component options:
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-avdevice"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-avcodec"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-avformat"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-avutil"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-swresample"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-swscale"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-postproc"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-avfilter"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-avresample"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-pthreads"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-w32threads"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-os2threads"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-network"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-dct"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-dwt"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-lsp"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-lzo"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-mdct"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-rdft"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-fft"

    # Hardware accelerators:
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-dxva2"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-vaapi"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-vda"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-vdpau"

    # Individual component options:
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-everything"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-encoders"

    # ./configure --list-decoders
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-decoders"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=aac"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=aac_latm"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=pcm_alaw"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=flv"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=h263"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=h263i"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=h263p"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=h264"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=mp3*"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=mjpeg"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=mjpegb"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=jpeg2000"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=vp6"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=vp6a"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=vp6f"

    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-hwaccels"

    # ./configure --list-muxers
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-muxers"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-muxer=mpegts"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-muxer=mp4"

    # ./configure --list-demuxers
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-demuxers"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=aac"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=pcm_alaw"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=concat"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=data"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=flv"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=hls"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=latm"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=live_flv"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=loas"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=m4v"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=mov"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=mp3"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=mpegps"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=mpegts"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=mpegvideo"

    # ./configure --list-parsers
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-parsers"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-parser=aac"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-parser=aac_latm"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-parser=ac3"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-parser=h263"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-parser=mjpeg"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-parser=h264"

    # ./configure --list-bsf
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-bsfs"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-bsf=mjpeg2jpeg"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-bsf=mjpeg2jpeg"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-bsf=mjpega_dump_header"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-bsf=mov2textsub"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-bsf=text2movsub"

    # ./configure --list-protocols
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-protocols"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=async"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=bluray"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=ffrtmpcrypt"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-protocol=ffrtmphttp"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=gopher"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=librtmp*"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=libssh"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=mmsh"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=mmst"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=rtmp*"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-protocol=rtmp"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-protocol=rtmpt"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-protocol=rtp"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=rtsp"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=sctp"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=srtp"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=unix"

    #
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-devices"
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-filters"

    # External library support:
    export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-iconv"
    # ...

    # Advanced options (experts only):
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --cross-prefix=${FF_CROSS_PREFIX}-"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-cross-compile"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --sysroot=PATH"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --sysinclude=PATH"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --target-os=TAGET_OS"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --target-exec=CMD"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --target-path=DIR"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --toolchain=NAME"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --nm=NM"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --ar=AR"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --as=AS"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --yasmexe=EXE"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --cc=CC"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --cxx=CXX"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --dep-cc=DEPCC"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --ld=LD"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --host-cc=HOSTCC"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --host-cflags=HCFLAGS"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --host-cppflags=HCPPFLAGS"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --host-ld=HOSTLD"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --host-ldflags=HLDFLAGS"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --host-libs=HLIBS"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --host-os=OS"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --extra-cflags=ECFLAGS"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --extra-cxxflags=ECFLAGS"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --extra-ldflags=ELDFLAGS"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --extra-libs=ELIBS"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --extra-version=STRING"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --optflags=OPTFLAGS"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --build-suffix=SUFFIX"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --malloc-prefix=PREFIX"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --progs-suffix=SUFFIX"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --arch=ARCH"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --cpu=CPU"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-pic"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-sram"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-thumb"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-symver"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-hardcoded-tables"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-safe-bitstream-reader"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-memalign-hack"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-lto"

    # Optimization options (experts only):
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-asm"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-altivec"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-amd3dnow"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-amd3dnowext"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-mmx"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-mmxext"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-sse"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-sse2"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-sse3"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-ssse3"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-sse4"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-sse42"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-avx"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-fma4"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-armv5te"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-armv6"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-armv6t2"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-vfp"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-neon"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-vis"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-inline-asm"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-yasm"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-mips32r2"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-mipsdspr1"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-mipsdspr2"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-mipsfpu"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-fast-unaligned"

    # Developer options (useful when working on FFmpeg itself):
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-coverage"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-debug"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-debug=LEVEL"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-optimizations"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-extra-warnings"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-stripping"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --assert-level=level"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-memory-poisoning"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --valgrind=VALGRIND"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-ftrapv"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --samples=PATH"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-xmm-clobber-test"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-random"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-random"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-random=LIST"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-random=LIST"
    # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --random-seed=VALUE"
  18. @oc2pcoj oc2pcoj revised this gist Nov 29, 2015. 1 changed file with 3 additions and 1 deletion.
    4 changes: 3 additions & 1 deletion Good IOS RTSP Player.md
    Original file line number Diff line number Diff line change
    @@ -24,6 +24,8 @@ Folow intructions based on ijplayer instructions.

    1. Install git and yasm to you system. Use homebrew or mac ports for this.
    2. Create special directory in you project, for example, *youproject/libs/video*
    3. Add ijkplayer as submodule to your project `git submodule add https://github.com/Bilibili/ijkplayer.git libs/video/ijplayer`
    3. Add ijkplayer as submodule to your project

    `git submodule add https://github.com/Bilibili/ijkplayer.git libs/video/ijplayer`


  19. @oc2pcoj oc2pcoj revised this gist Nov 29, 2015. 1 changed file with 10 additions and 6 deletions.
    16 changes: 10 additions & 6 deletions Good IOS RTSP Player.md
    Original file line number Diff line number Diff line change
    @@ -2,24 +2,28 @@ I have tried a lot of solutions for IP-camera streams.

    # Old solutions

    1. Vitamio.https://github.com/yixia/Vitamio-iOS </b>

    Result: random crashes and not working cameras
    1. Vitamio.https://github.com/yixia/Vitamio-iOS </b> **Result:** random crashes and not working cameras

    2. https://github.com/kolyvan/kxmovie
    Result: compile time error. I haven't successfully integrated it to my project.
    **Result:** compile time error. I haven't successfully integrated it to my project.

    3. GStreamer. https://github.com/sdroege/gst-player
    Result: I successfully integrated it, but reached bug: https://bugzilla.gnome.org/show_bug.cgi?id=756073
    **Result:** I successfully integrated it, but reached bug: https://bugzilla.gnome.org/show_bug.cgi?id=756073

    4. DFURTSPPlayer. https://github.com/durfu/DFURTSPPlayer
    Result: I used this solutions few months. But this project haven't scripts for building new ffmpeg libs and
    **Result:** I used this solutions few months. But this project haven't scripts for building new ffmpeg libs and
    sometimes it player crashes in random momenet after stop playing.

    # Current well working solution

    **ijkplayer** - https://github.com/Bilibili/ijkplayer
    It is ffmpeg based fresh player by Bilibili company.

    ## How to integrate special for IP-cameras
    Folow intructions based on ijplayer instructions.

    1. Install git and yasm to you system. Use homebrew or mac ports for this.
    2. Create special directory in you project, for example, *youproject/libs/video*
    3. Add ijkplayer as submodule to your project `git submodule add https://github.com/Bilibili/ijkplayer.git libs/video/ijplayer`


  20. @oc2pcoj oc2pcoj revised this gist Nov 29, 2015. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions Good IOS RTSP Player.md
    Original file line number Diff line number Diff line change
    @@ -3,6 +3,7 @@ I have tried a lot of solutions for IP-camera streams.
    # Old solutions

    1. Vitamio.https://github.com/yixia/Vitamio-iOS </b>

    Result: random crashes and not working cameras

    2. https://github.com/kolyvan/kxmovie
  21. @oc2pcoj oc2pcoj revised this gist Nov 29, 2015. No changes.
  22. @oc2pcoj oc2pcoj revised this gist Nov 29, 2015. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion Good IOS RTSP Player.md
    Original file line number Diff line number Diff line change
    @@ -2,7 +2,7 @@ I have tried a lot of solutions for IP-camera streams.

    # Old solutions

    1. Vitamio.https://github.com/yixia/Vitamio-iOS
    1. Vitamio.https://github.com/yixia/Vitamio-iOS </b>
    Result: random crashes and not working cameras

    2. https://github.com/kolyvan/kxmovie
  23. @oc2pcoj oc2pcoj renamed this gist Nov 29, 2015. 1 changed file with 0 additions and 0 deletions.
    File renamed without changes.
  24. @oc2pcoj oc2pcoj revised this gist Nov 29, 2015. 1 changed file with 7 additions and 2 deletions.
    9 changes: 7 additions & 2 deletions Good IOS RTSP Player
    Original file line number Diff line number Diff line change
    @@ -1,6 +1,7 @@
    I have tried a lot of solutions for IP-camera streams.

    There are:
    # Old solutions

    1. Vitamio.https://github.com/yixia/Vitamio-iOS
    Result: random crashes and not working cameras

    @@ -14,6 +15,10 @@ Result: I successfully integrated it, but reached bug: https://bugzilla.gnome.or
    Result: I used this solutions few months. But this project haven't scripts for building new ffmpeg libs and
    sometimes it player crashes in random momenet after stop playing.

    Current well working solution
    # Current well working solution
    **ijkplayer** - https://github.com/Bilibili/ijkplayer
    It is ffmpeg based fresh player by Bilibili company.

    ## How to integrate special for IP-cameras


  25. @oc2pcoj oc2pcoj revised this gist Nov 29, 2015. 1 changed file with 6 additions and 4 deletions.
    10 changes: 6 additions & 4 deletions Good IOS RTSP Player
    Original file line number Diff line number Diff line change
    @@ -1,17 +1,19 @@
    I have tried a lot of solutions for IP-camera streams.

    There are:
    1 Vitamio.https://github.com/yixia/Vitamio-iOS
    1. Vitamio.https://github.com/yixia/Vitamio-iOS
    Result: random crashes and not working cameras

    2 https://github.com/kolyvan/kxmovie
    2. https://github.com/kolyvan/kxmovie
    Result: compile time error. I haven't successfully integrated it to my project.

    3 GStreamer. https://github.com/sdroege/gst-player
    3. GStreamer. https://github.com/sdroege/gst-player
    Result: I successfully integrated it, but reached bug: https://bugzilla.gnome.org/show_bug.cgi?id=756073

    4 DFURTSPPlayer. https://github.com/durfu/DFURTSPPlayer
    4. DFURTSPPlayer. https://github.com/durfu/DFURTSPPlayer
    Result: I used this solutions few months. But this project haven't scripts for building new ffmpeg libs and
    sometimes it player crashes in random momenet after stop playing.

    Current well working solution


  26. @oc2pcoj oc2pcoj renamed this gist Nov 29, 2015. 1 changed file with 0 additions and 0 deletions.
    File renamed without changes.
  27. @oc2pcoj oc2pcoj created this gist Nov 29, 2015.
    17 changes: 17 additions & 0 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,17 @@
    I have tried a lot of solutions for IP-camera streams.

    There are:
    1 Vitamio.https://github.com/yixia/Vitamio-iOS
    Result: random crashes and not working cameras

    2 https://github.com/kolyvan/kxmovie
    Result: compile time error. I haven't successfully integrated it to my project.

    3 GStreamer. https://github.com/sdroege/gst-player
    Result: I successfully integrated it, but reached bug: https://bugzilla.gnome.org/show_bug.cgi?id=756073

    4 DFURTSPPlayer. https://github.com/durfu/DFURTSPPlayer
    Result: I used this solutions few months. But this project haven't scripts for building new ffmpeg libs and
    sometimes it player crashes in random momenet after stop playing.