Solved ffmpeg v.s. ffmpeg0

Nicola Mingotti

Active Member

Thanks: 101
Messages: 245

#1
Hi,

could somebody tell me what is the difference beween these 2 packages ?

AFAI coud understand ffmpeg0 still provides ffserver0 where ffmpeg does not.
Are there other differences ?

Bye.
 
OP
OP
Nicola Mingotti

Nicola Mingotti

Active Member

Thanks: 101
Messages: 245

#3
i would like to stream my webcam to web browsers. From small embedded machines, i.e. BeagleBones Black.

Googling it seems ffmpeg is one of the most popular options for the task. (untill ffserver was expunged)

And, not least, i had it working in my laptop, so i know it should work and i was mativated enough to compile for 2 days to try it;) (no package available)

unfortunately i still have unresolved issues with ffmpeg0.
 

Bobi B.

Active Member

Thanks: 76
Messages: 166

#4
If 20 or 30 seconds delay is not an issue, you might consider using ffmpeg to transcode camera stream to a live HLS stream, store HLS segments somewhere on a RAM drive (no point to write temporary, short-lived data to a persistent storage) and publish HLS stream via a web server, using www/nginx, for example. multimedia/ffmpeg is able to create such a stream. Finally you must create a simple web page with HTML5 video tag (lots of HLS samples on the Net) and watch it on your mobile device. If you need to watch it on a PC, as well, use clappr.
 
OP
OP
Nicola Mingotti

Nicola Mingotti

Active Member

Thanks: 101
Messages: 245

#5
Thank you for further suggestion Bobi B. , it was actually what i was trying to do right now. But with Apache. If delay is avoidable better, If i get this working i could use it in a lot of projects in the company.

I tried many options during this week, but on ARM the thing is really hard. There are very few packages ready for this matter (e.g. ffmepg, vlc etc.) and compiling them from ports it is all but and easy trip.
 

Bobi B.

Active Member

Thanks: 76
Messages: 166

#6
You can't avoid the delay completely with segmented transports. Depends on what kind of devices you wish to play the media stream. If VLC is enough, you can use ffmpeg's HTTP or UDP multicast outputs. If you want to put video in a web page, well, you need HLS or MPEG-DASH.
 
OP
OP
Nicola Mingotti

Nicola Mingotti

Active Member

Thanks: 101
Messages: 245

#7
Bobi B. , after your suggestion i tried VLC in my desktop, and after finding this very useful page i was able to stream to the browser.

The delay is acceptable, about 1 sec or less. I must consider if it takes too much effort for the BeagleBone to run it, but i will do that later.

Now the issue is, i must compile VLC for the BeableBone. I will try...

I have two questions more:
1] do you know how can I set the framerate and camera size, i would like to repicate the two options -r 35 -s 320x240 i was using in ffmpeg.

2] as far as you know would it be possible to compile VLC without X in FreeBSD ? I see in Debian there is a package called vlc-nox.

bye
 

Bobi B.

Active Member

Thanks: 76
Messages: 166

#8
My suggestion were to playback the result with VLC.

BeagleBone and WebCam are the producers of the media. VLC would be the consumer. That is, if you can run VLC on devices you wish to "see through" the WebCam.

If you use BB as IP-connected WebCam, on what device you wish to see the result?

I cannot help you with using VLC as a media encoder; my experience is with ffmpeg.
 
OP
OP
Nicola Mingotti

Nicola Mingotti

Active Member

Thanks: 101
Messages: 245

#9
Every experiment takes me a lot of hours so when i got something working in VLC i have bet all on it.

The idea of passing through a web server like nginx or apache was appealing, but it seemed to me to have all working in single piece of software was more practical and probably easy; if i had one of such soft. working in BBB.

I may convert to the web nginx/apache solution in a second phase. Now i need something working even if not "elegant".

VLC depends on Qt and about 50 packages, so, i don't consider it ideal to provide a service. On the other side it solves both problems of reading the wecam and streaming it, so what it looses in fatness it gains in practicality. I gave it a shot.

In my desktop I got VLC reading the webcam, then streaming it to another instance of VLC running on the same computer. Them sending the stream to a web browser of the same computer (delay was short enough).

Then i compiled VLC for BBB, and repeated the steps followed in the laptop. There are some extra difficulties. E.g. BBB has no screen.

I arrived at reading the stream in VLC on the laptop where the stream is produced bt VLC reading a webcam connected to BBB.

For some reason i could not be able to arrive at final step: read the stream in the laptop browser. But, now it is really time for a beer ! ;) I hope to conclude tomorrow.
 

Bobi B.

Active Member

Thanks: 76
Messages: 166

#10
A stock web browser is fairly limited in what live media it can play. That's the reason I suggested HLS or MPEG-DASH upfront. Both solutions, however, introduce a delay.

There are other options, like Flash (soon to be gone), Silverlight, embedded VLC (if that's still an option), remuxing JavaScript libraries also exist.
 

Phishfry

Son of Beastie

Thanks: 954
Messages: 2,905

#11
Every experiment takes me a lot of hours so when i got something working in VLC i have bet all on it.
VLC software tries to be the jack of all trades but can't do any of them well.
Simple rtsp streams it just barfs on. OTA video streams it fails me. I wanted it to work but it made me look elsewhere.
I am quite fond of multimedia/mplayer. It has a command line player and a X gui. It plays everything I throw at it.
All the trouble you had with ffmpeg I just wonder about using multimedia/mencoder instead.
 
OP
OP
Nicola Mingotti

Nicola Mingotti

Active Member

Thanks: 101
Messages: 245

#12
A stock web browser is fairly limited in what live media it can play. That's the reason I suggested HLS or MPEG-DASH upfront. Both solutions, however, introduce a delay.

There are other options, like Flash (soon to be gone), Silverlight, embedded VLC (if that's still an option), remuxing JavaScript libraries also exist.
Thank you Bobi B. , I am not expert at all in video technologies. I will consider the options you propose once i have a proof of concept working, by whatever cranky mean.

I must say it is really a pity ffserver was removed from ffmpeg. That would have beep my first choice.
 
OP
OP
Nicola Mingotti

Nicola Mingotti

Active Member

Thanks: 101
Messages: 245

#13
VLC software tries to be the jack of all trades but can't do any of them well.
Simple rtsp streams it just barfs on. OTA video streams it fails me. I wanted it to work but it made me look elsewhere.
I am quite fond of multimedia/mplayer. It has a command line player and a X gui. It plays everything I throw at it.
All the trouble you had with ffmpeg I just wonder about using multimedia/mencoder instead.
Hello Phishfry. I have seen VLC is quite cranky, also simply to show me the webcam on screen.

On the other side it seems the only sofware who can read and stream the webcam. Or at least, the only one I could have working in ARM, and have it configured with informations available on the web.

About mencoder, I will take a look. About mplayer yes, I also appreciate its stability as a reader.

Anyhow, the big issue here are packages, all experiments requires compiling, all compiling requires me to fill by hand the depencies, this shoud be fixed, i will send a mail to the ARM mailing list right now. If i can compile, then "they (i don't know who)" centrally should be able to compile;)
 
Top