4

I am thinking about making app on videos in android. I came to know that there are 2 famous libraries, FFMPEG and Vitamio.

I just want to know that can i do simple video functions like playing the video, grabbing a frame, converting video to mp3 with both the libraries? What are their pros and cons?

Thanks in advance.

Toseef Khilji
  • 17,192
  • 12
  • 80
  • 121
user1662334
  • 659
  • 2
  • 9
  • 21

3 Answers3

7

Vitamio is much easier to use. It is just like the default MediaPlayer in Android but with some fancy capabilities. At the same time it can't do everything you want. As I understand it just plays video.

FFmpeg is not as simple. It is quite a powerful library that requires some thoughtful native coding in C. I'm sure you can do whatever you need with it, but it will cost you lots of efforts.

So I can recommend you to use either default Android's or Vitamio's MediaPlayer for playing video. And implement some specific features with the help of FFmpeg.

olshevski
  • 4,971
  • 2
  • 35
  • 34
  • 1
    [FFmpeg for Android](http://sourceforge.net/projects/ffmpeg4android/) might be worth investigating. From the author, "My goal was to create FFmpeg library which can be compiled under Android source code tree, using Android NDK. I tried to do this by enabling proper library configuration with configure script, making no changes to files in official FFmpeg release archives, using makefiles from official FFmpeg release archives as initialization scripts for variables used in Android.mk files, and enabling building of all libraries and tools." – llogan Sep 21 '12 at 17:49
  • how much it will cost? – Rajneesh071 Feb 21 '14 at 06:36
  • what about exoplayer? is it good? i want to use it for HLS foramt. – Siavash Abdoli Sep 21 '15 at 05:17
2

Old question, but since I'm working on this very problem and I found a lot of outdated information, I think it might be worth an answer anyway.

Vitamio is acually based on ffmpeg which makes the "Vitamio vs ffmpeg" question moot:

What's Vitamio, on the Vitamio website

The Media Formats paragraph cites:

Vitamio used FFmpeg as the demuxers and main decoders, many audio and video codecs are packed into Vitamio beside the default media format built in Android platform, some of them are listed below.

the "used" instead of "uses" looks like a typo (the site is choke full of them...).

Therefore the tip of the scale would point toward Vitaminio, it seems, as it's very easy to use. However...

  1. Vitamio is a derivative work of ffmpeg for android, with an unspecified license (it's spelled quite clearly on the site that individuals can use the library for their own apps freely, though. That part was probably added after the answer by Marcus Wolschon)
  2. ffmpeg for android is a derivative work of ffmpeg (more than that, actually: it's a port) and it's released under the LGPL v3 to abide it's contractual terms with ffmpeg (it actually does), relaying the same obligations to the user in a viral way (attribution, making the source of the library used for the compilation available, etc etc)
  3. ffmpeg (the original work) is released under a dual license: a very liberal GPL (of no consequence in this discussion) and LGPL (the one picked by ffmpeg for android)


What follows is strictly my biased personal opinion, not a statement about the facts

This leads me to think that unless the company selling Vitamio has some agreement with both the author of ffmpeg android and ffmpeg, that we know nothing about, Vitamio is violating the copyright of ffmpeg for android (and therefore ffmpeg) hard.

The fact that the Vitamio's website has a lot of broken links, a grammatically challenged documentation, and not all legal information required for an educated choice, doesn't exactly plays in its favor, if I had to make my mind between considering them a high profile company or some individual trying to live off the back of the ffmpeg team's work...

This leads me to the following considerations:

  • from a practical standpoint, Vitamio might or might not be the best choice as it should be easy to integrate in your project (I say it should, as I didn't manage to do it yet, and I have quite some experience as an android developer under my belt...). The conditional is due, as the software is based on ffmpeg for android, which already makes an effort for easy Android integration.

  • from a legal standpoint, the situation is even more shadier, the options are:

    1. turn a blind eye. The company behind Vitamio says that the product is fine and it's free to use (more than that actually: it sells the library), so if there is a licensing issue, it's their issue: as developers we have a semi-legitimate reason to bother to a point, as we would be as cheated as the people behind ffmpeg (I'm not very convinced about this whole argument myself...).
    2. golf for honesty and shun Vitamio, adopting ffmpeg for android instead, which might mean more homework during the integration, both to replicate MediaPlayer and to abide to the LGPL terms, but guarantees a clear conscience

I didn't my mind yet, but I'll probably opt for "2"

Hope this helps

UPDATE It looks like that Vitamio is (at least partially) complying with the terms of the LGPL license, as they are publishing the source code required to build their product:

ffmpeg for Vitamio on GitHub

I don't have the time to find out if this is all that's required for complying with the original ffmpeg license (I'm skeptic), and how that influences the previous considerations (sorry).

Rick77
  • 3,121
  • 25
  • 43
1

You can't use Vitamio in any project because it has no license. Without a LICENSE file or any other mention what rights you are granted you are granted to rights to use it at all. See here: http://vitamio.org/topics/93?locale=en

Marcus Wolschon
  • 2,550
  • 2
  • 22
  • 28
  • While you're right about the problems related to something that doesn't have a license, here it seems that the sources files have the Apache License 2.0 header and a copyright holder. This would need to be verified for all the files, of course, but this is a strong indication that would make library be under Apache License 2.0. – Bruno Jan 23 '13 at 14:20
  • 3
    No, they are not under Apache 2.0, obvoiusly. It is mostly their proprietary code and libffmpeg and libomx. There is no license on their proprietary files and they ignore all questions regarding license on their forum and in personal emails. As much as I like this lib, I find it very very suspicious they are ignoring these questions. – EvilDuck Feb 04 '13 at 11:57
  • I have elaborated a bit on this licensing problem in my answer: check it if you are interested (it misses your considerations about the license on the files, but it still should be valid). – Rick77 Jan 15 '16 at 15:19