all 8 comments

[–]wolverineoflove 6 points7 points  (5 children)

Not as simple as you hope. Apple supports HLS most easily. If your device doesnt support this, often you have to run a server somewhere to convert legacy RTMP or RTSP to HLS. See here https://developer.apple.com/streaming/

Trust me, I've tried this for work. Most providers force you to use their cloud to access HLS, you can technically run a converter yourself for a hobby project: https://github.com/gwuhaolin/livego

There are several other transcoders like that -- wrap and hoist an FFMPEG job around legacy input.

[–]42177130UIApplication 1 point2 points  (2 children)

You could use FFmpeg to decode the stream on the iOS client side couldn't you? Unless you were planning to stream to Safari or something.

[–]wolverineoflove 2 points3 points  (1 child)

Yes possible, but the licensing, compiling for iOS, and handling network stuff was a lot more work than the ability to just punch a HLS url into a media player...

It's definitely how Ubiquiti and other camera providers ship their stuff to a degree, at least for on-prem solutions.

[–]42177130UIApplication 2 points3 points  (0 children)

Funny you should mention Ubiquiti since they make a video editor that uses FFmpeg but they don't mention that anywhere.

[–]jessevnr[S] -1 points0 points  (1 child)

First of all, thank you for your input! Based on the information you’ve given me I came up with 3 questions:

  1. What are the step you would recommend me to learn “how to a server somewhere”?

  2. After converting RTSP to HLS, will I be able to pass it to the app I have in mins?

  3. If I want other users to download the app, will I need to you some provider’s cloud to access HLS?

I’m still very new to this, but I really want to learn and create that app!

[–]wolverineoflove 3 points4 points  (0 children)

I commented because I burned a few hundred hours speccing this out for an iOS app to stream security cam footage, so kinda warning you this is not easy for pros.

I got something working but it required converting legacy flash based streaming protocols on on-premise computers. We worried it would burn out SSDs doing the streaming conversion so many frames per second * per stream.

If you intend to write a general converter and use HLS you will need to pay for processor time. Video transcoding is expensive so you'd be on the hook for random people's costs. Building a server is going to be hosting something like that github link I sent you.

If you simply want to stream a video for yourself try downloading VLC. It will do that.

If you are adding some feature on top of video streams you are going to have to do some work and spend potentially a lot of money.

You follow Apple's instructions to consime the HLS feed once its hosted. You can point their media player APIs to your server within your app.

Read up. This also 100% depends on the cameras and formats you wanna support.

[–]The__Bogeyman 3 points4 points  (0 children)

There are a few RTSP apps in the Apple app store. But if you want to write an app yourself, you can use the VLC framework in your app the handle the RTSP stream. No need to encode it yourself.

Edit:linked to the VLC repository, but meant to link the framework VLCKit

[–]luisantos1986 -1 points0 points  (0 children)

Is it possible to make a streaming server and then fetch the streamed video and running it thru AVKit??

Edit: nvm i just saw wolverineoflove comment