8

I'm in need of a open source solution/library to stream RTSP/RTMP to an iOS Application. I need to build an app that connects to a media server, and opens the provided video stream. I believe there has to be libraries out there, but I have yet to find one that is open source, compiles, actually works, and runs on iOS 5+, iPhone 4+. I do not have a preference, RTMP or RTSP will suffice. Preferably the one with the least amount of work. I have RTSP working on the Android side, but nothing for iOS yet.

This is what I already know from research today -

RTSP

  • Seems possible using Live555/FFMPEG
  • MooncatVenture Group - Old FFMPEG, not compatible with ARMv7s (No updates/blogs/commits in over a year)
  • DFURTSPPlayer - This is a working example.

RTMP

  • Seems possible using Live555/FFMPEG
  • A few libraries are out there for data messaging, but that is all
  • MidnightCoders Project - Does not seem video support is build yet, as Audio is not.

I've never messed with anything video related before, so encoding, frame rate, key frame, chunks, etc... is pretty foreign to me. Right now, it seems building a static binary from Live555/FFMPEG is the only solution to my problem. If so, can anyone give me a simple quickstart guide or links to a blog/example someone has out there? I'm not looking for anything crazy, just a simple

  1. Download This - LINK
  2. Compile it like this - LINK
  3. Place it into X Folder in Xcode
  4. Create X Object
  5. Read Stream API here - LINK

If not, anyone want to point me to a working open source library?

Oh yeah, this happens to be my first iPhone app and first time in Objective-C. Awesome first project, yeah?

nathansizemore
  • 3,028
  • 7
  • 39
  • 63

2 Answers2

1

DFURTSPPlayer is a working example on GitHub. Will have to double check on licensing issues, but with this it is a good place to start for RTSP.

nico.ruti
  • 605
  • 6
  • 17
nathansizemore
  • 3,028
  • 7
  • 39
  • 63
0

It seems at this time, the only way to do what I want is to create a static binary to use, from complete scratch. Libavcodec, FFMPEG, and Live555 are all under LGPL. Which means, in order to not make my code open source, I would have to allow dynamic linking, so that my app users have the ability to make modifications to the open source libraries I used, whenever they want. The AppStore does not allow dynamic linking, so I am essentially dead in the water unless I want to write it all from scratch. Which, I definitely do not want to do...

nathansizemore
  • 3,028
  • 7
  • 39
  • 63
  • where do you guys keep getting all this false information, if you go to the ffmpeg site there are FAQ's on using on IOS, just about every IOS rtsp, rtmp app in the app store uses ffmpeg. that said I believe we try to update the mooncatventures libs as much as we can, we do a lot of commercial contracting and that has to take priority. The libs work with armv7, right now there is no compelling reason for armv7s, when you build the app just remove that from app settings and you will be fine. – Michelle Cannon Jan 07 '14 at 19:37
  • yes , live555 has good streaming ability, but for decoding you still need to use ffmpeg or something similar, contact us if you want some help – Michelle Cannon Jan 07 '14 at 19:40
  • @MichelleCannon What information are you saying is false? How are they getting it into the AppStore with it being under GPL/LGPL? I was under the impression that I had to use static linking in app to use, and without providing my source code, would not comply with licensing? – nathansizemore Jan 07 '14 at 19:57
  • read this and decide for your self. https://trac.ffmpeg.org/ticket/1229 – Michelle Cannon Jan 08 '14 at 16:11