0
votes

Is it possible to stream live camera video via ffmpeg using ffserver?

I am thinking of the following flow

1.Compile and build ffmpeg with ffserver. 2.Record video via MediaRecorder and send the feeds directly to ffserver which will stream over rtp.

I guess by this way i will get the encoded audio and video streams and ffserver will stream it across rtp. On the other end any player can play the streams i.e VLC player

Thanks, Sureshkumar Menon

3
have you found any solution? my requirement is same.Vinay Pandya

3 Answers

1
votes

its not that bad, I really wouldn't use ffserver for a number of reasons one of which its an unnecessary pain. I would start with live 555 which is much easier to set up. As far ffmpeg there are a few good open source player, we initially started with dolphin player , lately we've been evolving our own, but Dolphin is a very good example.

You can compile ffmpeg optimized for neon.

0
votes

It should be possible. To compile ffmpeg and ffserver for Android there are a lot of tutorials and scripts around here.

I'd recommend that you build just ffmpeg for Android, but since this is an executable it will be hard to run it properly in Android, so you should build libffmpeg and use that in your app, feed the source to it after you set the correct parameters(see libffmpeg docs and forums and lists).

Then you should run ffserver on a different machine, there are 2 resons for this: 1. if you run it on you Android it will drain battery life and internet connection 2. you can connect to it just from your local network anyway, so run it on the pc and then use vlc to connect to that.

It won't be easy if you never worked with libffmpeg, but it should work. I will also mention that ffmpeg streaming is not very optimized for Android and NEON processors. There are alternatives, but first make it work and then optimize.

0
votes

Another reason to set up ffserver on a computer rather than a smartphone is the bandwith.
If you would have the server on your handheld-device you would stream the Video for each client (although you might optimize it by multicast).

On the other hand, if you have the server on a remote computer, you only need to deliver the feed (one stream) and the server handles the distribution.