2

I develop a video streaming app and I'm researching existing video rendering libraries to render .mkv (H253-255) and .mp4.

I saw there is a native Android View called VideoView that uses MediaCodec and has a lot of functionalities so I was sure this is the good-to-go library but then I came across ExoPlayer (by Google) which can do the same.

So I wonder what are the differences between the two?

  • "and has a lot of functionalities" -- I would disagree. `VideoView` is very limited, compared to ExoPlayer. – CommonsWare May 16 '21 at 17:27
  • @CommonsWare According to their official API, there are a lot of functions I could use in my project. Relatively to ExoPlayer, it has very limited, as you say, but that's a different matter I don't mind. I just want to know the difference. – Moshe Rimok May 16 '21 at 19:44

1 Answers1

3

Exoplayer is more flexible and easy to customize compared to videoview and it is much more stable and has a lot of other functionalities which videoview does not, Like take a simple use case of you needing to play videos in a sequence, So you can do that pretty much easily in Exoplayer with ConcatinatingMediaSource and in the latest version, it has become much more flexible and easy to do but to do the same thing in videoview you had to do a lot of things to make it work. So it's a more advanced and flexible version of videoview which has is a lot more customizable than videoview. I just mentioned one use case but you can read more on google about exoplayer as to why it's better than videoview. It also depends on your use case. But I recommend using Exoplayer or if you need more reasons then just try to do what I explained with videoview and you will more or less get my point. But exoplayer also has bugs and issues but as I said it is lot more flexible and better then VideoView.

bv akhil
  • 136
  • 6