Coder Social home page Coder Social logo

vitamio-5.0.0's Introduction

Vitamio

Vitamio is an open multimedia framework for Android and iOS, with full and real hardware accelerated decoder and renderer.

New features

Only few important features are listed here, we have fix many bugs and may introduce some new bugs.

  1. The latest FFmpeg 2.0 git version, which should fix most playback issues, or bring some issues.
  2. Support most FFmpeg AVOptions, which enables custom HTTP headers support.
  3. Support more hardwares, e.g. X86 or MIPS.
  4. Improve streaming, especially support adaptive bitrate streaming, you need open manually.
  5. OpenSSL included, so some SSL related protocols, such as https, tls, rtmps, rtmpts, are supported.
  6. Playback speed control from 0.5x to 2.0x.
  7. Audio amplify to 2x volume.
  8. Improved subtitle support, including external bitmap subtitles.
  9. Cache online video to local storage and can be reused until you delete the cache file.
  10. More MediaPlayer API, e.g. getMetadata, getVideoTrack.
  11. The full Java code is open to all developers, modify and contribute is welcome.
  12. Support RGBA_8888 rendering, spport switching RGB_565 or RGBA_8888 to video rendering.
  13. Enhance the hardware decoding in Android 16+.
  14. Support ARMV6 CPU, may have some bugs.

How to use

please see the website

License

Please see License

Google+

Vitamio Developers Community on Google+ http://goo.gl/fhCDTD

vitamio-5.0.0's People

Contributors

castlefw avatar

Stargazers

Martin.yao avatar lotosbin avatar DINKIN avatar  avatar Howard_Lyu avatar  avatar Junlandroid avatar  avatar  avatar  avatar  avatar  avatar Ciaran Fisher avatar Bin avatar Castle avatar

Watchers

Howard_Lyu avatar James Cloos avatar Nhut Phan avatar Darshan Mistry avatar Castle avatar  avatar Jorge Márquez Torres avatar Rafael Andrade avatar  avatar

vitamio-5.0.0's Issues

Vitamio SDK 5.0 setVideoURI(MovieUri,HashMap) not work

Vitamio SDK 4.2.2 Although at the time of use had been able to video playback in Cookie information set, where you have updated to the SDK 5.0, the Cookie information set can no longer be video playback.
I think what the setting is bad?

Audio streaming doesn't work. [Vitamio 5.0]

12-27 20:04:26.865 21057-21057/ro.package_name E/Vitamio[5.0.0][Player]: FIND_NAME_SYM ffmpeg, ff_ass_split
12-27 20:04:26.865 21057-21057/ro.package_name E/Vitamio[5.0.0][Player]: FIND_NAME_SYM ffmpeg, ff_ass_split_dialog
12-27 20:04:26.865 21057-21057/ro.package_name E/Vitamio[5.0.0][Player]: FIND_NAME_SYM ffmpeg, ff_ass_split_free
12-27 20:04:26.865 21057-21057/ro.package_name E/Vitamio[5.0.0][Player]: FIND_NAME_SYM ffmpeg, av_close_input_file
12-27 20:04:26.866 21057-21057/ro.package_name I/Vitamio[5.0.0][Player]: LOAD FFMPEG END: /data/user/0/ro.package_name/lib/libffmpeg.so
12-27 20:04:26.866 21057-21057/ro.package_name I/Vitamio[5.0.0][Player]: LOAD VVO START: /data/user/0/ro.package_name/lib/libvvo.9.so
12-27 20:04:26.873 21057-21057/ro.package_name E/Vitamio[5.0.0][Player]: FIND_NAME_SYM vvo, render_yuv
12-27 20:04:26.873 21057-21057/ro.package_name I/Vitamio[5.0.0][Player]: LOAD VVO END: /data/user/0/ro.package_name/lib/libvvo.9.so
12-27 20:04:26.873 21057-21057/ro.package_name I/Vitamio[5.0.0][Player]: LOAD VAO START: /data/user/0/ro.package_name/lib/libvao.0.so
12-27 20:04:26.876 21057-25200/ro.package_name I/ProviderInstaller: Installed default security provider GmsCore_OpenSSL
12-27 20:04:26.879 21057-21057/ro.package_name I/Vitamio[5.0.0][Player]: LOAD VAO END: /data/user/0/ro.package_name/lib/libvao.0.so
12-27 20:04:26.880 21057-21057/ro.package_name I/Vitamio[5.0.0][Player]: VPLAYER INIT BEGIN
12-27 20:04:26.880 21057-21057/ro.package_name I/Vitamio[5.0.0][Player]: Vitamio Version 5.0.0 
12-27 20:04:26.880 21057-21057/ro.package_name I/Vitamio[5.0.0][Player]: Application package name: ro.package_name
12-27 20:04:26.880 21057-21057/ro.package_name D/Vitamio[5.0.0][Player]: RENDER RGB
12-27 20:04:26.880 21057-25208/ro.package_name D/Vitamio[5.0.0][Player]: THREAD NOTIFY START
12-27 20:04:26.886 21057-21057/ro.package_name I/Vitamio[5.0.0][Player]: VPLAYER INIT END
12-27 20:04:26.886 21057-25208/ro.package_name D/Vitamio[Player]: CPU implementer:0x51
12-27 20:04:26.886 21057-25208/ro.package_name D/Vitamio[Player]: CPU architecture:7
12-27 20:04:26.886 21057-25208/ro.package_name D/Vitamio[Player]: processor:3
12-27 20:04:26.886 21057-25208/ro.package_name D/Vitamio[Player]: BogoMIPS:38.40
12-27 20:04:26.886 21057-25208/ro.package_name D/Vitamio[Player]: Revision:0000
12-27 20:04:26.886 21057-25208/ro.package_name D/Vitamio[Player]: CPU revision:1
12-27 20:04:26.886 21057-25208/ro.package_name D/Vitamio[Player]: Serial:0000000000000000
12-27 20:04:26.886 21057-25208/ro.package_name D/Vitamio[Player]: Hardware:Qualcomm MSM8974PRO-AC
12-27 20:04:26.886 21057-25208/ro.package_name D/Vitamio[Player]: CPU variant:0x2
12-27 20:04:26.886 21057-25208/ro.package_name D/Vitamio[Player]: Processor:ARMv7 Processor rev 1 (v7l)
12-27 20:04:26.886 21057-25208/ro.package_name D/Vitamio[Player]: Features:swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32
12-27 20:04:26.886 21057-25208/ro.package_name D/Vitamio[Player]: CPU part:0x06f
12-27 20:04:26.887 21057-25208/ro.package_name D/Vitamio[Player]: CPU architecture: 7
12-27 20:04:26.887 21057-25208/ro.package_name D/Vitamio[Player]: GET CPU FATURE: V5TE V6 VFP V7A VFPV3 NEON 
12-27 20:04:27.563 21057-21057/ro.package_name I/Vitamio[5.0.0][Player]:  stop player, stop to play 
12-27 20:04:27.563 21057-21057/ro.package_name I/Vitamio[5.0.0][Player]: stop
12-27 20:04:27.563 21057-21057/ro.package_name E/Vitamio[5.0.0][Player]: stop called in state 1
12-27 20:04:27.565 21057-21057/ro.package_name I/Vitamio[5.0.0][Player]: Copyright (c) YIXIA (http://yixia.com).
                                                                                      THIS SOFTWARE (Vitamio) IS WORK OF YIXIA (http://yixia.com)
12-27 20:04:27.565 21057-21057/ro.package_name I/Vitamio[5.0.0][Player]: Vitamio Version 5.0.0 
12-27 20:04:27.565 21057-21057/ro.package_name I/Vitamio[5.0.0][Player]: Application package name: ro.package_name
12-27 20:04:27.565 21057-21057/ro.package_name E/Vitamio[5.0.0][Player]: SURFACE INIT FAILED
12-27 20:04:27.565 21057-21057/ro.package_name D/Vitamio[5.0.0][Player]: prepare
12-27 20:04:27.565 21057-21057/ro.package_name I/Vitamio[5.0.0][Player]: PREPARE SIG: 0
12-27 20:04:27.566 21057-21057/ro.package_name I/Vitamio[5.0.0][Player]: start
12-27 20:04:27.566 21057-21057/ro.package_name E/Vitamio[5.0.0][Player]: start called in state 4
12-27 20:04:27.567 21057-25228/ro.package_name I/Vitamio[5.0.0][Player]: THREAD PREPARE START
12-27 20:04:27.567 21057-25228/ro.package_name I/Vitamio[5.0.0][Player]: THREAD PREPARE ATTACHED
12-27 20:04:27.568 21057-25228/ro.package_name I/Vitamio[5.0.0][Player]: Copyright (c) YIXIA (http://yixia.com).
                                                                                      THIS SOFTWARE (Vitamio) IS WORK OF YIXIA (http://yixia.com)
12-27 20:04:27.568 21057-25228/ro.package_name I/Vitamio[5.0.0][Player]: Vitamio Version 5.0.0 
12-27 20:04:27.568 21057-25228/ro.package_name I/Vitamio[5.0.0][Player]: OPEN FILE http://mobile.url_stream_here.ro:8127
12-27 20:04:27.629 21057-25228/ro.package_name E/Vitamio[5.0.0][Player]: [aac @ 0xb37ffc00] channel element 1.14 is not allocated
12-27 20:04:27.646 21057-25228/ro.package_name D/Vitamio[5.0.0][Player]: Input #0, aac, from 'http://mobile.url_stream_here.ro:8127':
12-27 20:04:27.646 21057-25228/ro.package_name D/Vitamio[5.0.0][Player]:   Metadata:
12-27 20:04:27.646 21057-25228/ro.package_name D/Vitamio[5.0.0][Player]:     icy-notice1     : 
12-27 20:04:27.646 21057-25228/ro.package_name D/Vitamio[5.0.0][Player]: <BR>This stream requires <a href="http://www.winamp.com/">Winamp</a><BR>
12-27 20:04:27.646 21057-25228/ro.package_name D/Vitamio[5.0.0][Player]:     icy-notice2     : 
12-27 20:04:27.646 21057-25228/ro.package_name D/Vitamio[5.0.0][Player]: SHOUTcast Distributed Network Audio Server/Linux v1.9.8<BR>
12-27 20:04:27.646 21057-25228/ro.package_name D/Vitamio[5.0.0][Player]:     icy-name        : 
12-27 20:04:27.646 21057-25228/ro.package_name D/Vitamio[5.0.0][Player]: Station name
12-27 20:04:27.646 21057-25228/ro.package_name D/Vitamio[5.0.0][Player]:     icy-genre       : 
12-27 20:04:27.646 21057-25228/ro.package_name D/Vitamio[5.0.0][Player]: christian
12-27 20:04:27.646 21057-25228/ro.package_name D/Vitamio[5.0.0][Player]:     icy-url         : 
12-27 20:04:27.646 21057-25228/ro.package_name D/Vitamio[5.0.0][Player]: http://www.url_stream_here.ro
12-27 20:04:27.646 21057-25228/ro.package_name D/Vitamio[5.0.0][Player]:     icy-pub         : 
12-27 20:04:27.646 21057-25228/ro.package_name D/Vitamio[5.0.0][Player]: 1
12-27 20:04:27.646 21057-25228/ro.package_name D/Vitamio[5.0.0][Player]:     icy-br          : 
12-27 20:04:27.646 21057-25228/ro.package_name D/Vitamio[5.0.0][Player]: 64
12-27 20:04:27.646 21057-25228/ro.package_name D/Vitamio[5.0.0][Player]:     StreamTitle     : 
12-27 20:04:27.647 21057-25228/ro.package_name D/Vitamio[5.0.0][Player]: Nelu Andresoi - Track 10 [ www.url_stream_here.ro ]
12-27 20:04:27.647 21057-25228/ro.package_name D/Vitamio[5.0.0][Player]:     StreamUrl       : 
12-27 20:04:27.647 21057-25228/ro.package_name D/Vitamio[5.0.0][Player]: http://www.url_stream_here.ro
12-27 20:04:27.647 21057-25228/ro.package_name D/Vitamio[5.0.0][Player]:   Duration: 
12-27 20:04:27.647 21057-25228/ro.package_name D/Vitamio[5.0.0][Player]: N/A
12-27 20:04:27.647 21057-25228/ro.package_name D/Vitamio[5.0.0][Player]: , bitrate: 
12-27 20:04:27.647 21057-25228/ro.package_name D/Vitamio[5.0.0][Player]: 52 kb/s
12-27 20:04:27.647 21057-25228/ro.package_name D/Vitamio[5.0.0][Player]:     Stream #0:0
12-27 20:04:27.647 21057-25228/ro.package_name D/Vitamio[5.0.0][Player]: : Audio: aac (HE-AAC), 44100 Hz, stereo, fltp, 52 kb/s
12-27 20:04:27.647 21057-25228/ro.package_name D/Vitamio[5.0.0][Player]: METADATA: <BR>This stream requires <a href="http://www.winamp.com/">Winamp</a><BR>SHOUTcast Distributed Network Audio Server/Linux v1.9.8<BR> Mobilechristianhttp://www.url_stream_here.ro164[ www.url_stream_here.ro ]http://www.url_stream_here.ro
12-27 20:04:27.647 21057-25228/ro.package_name I/Vitamio[5.0.0][Player]: META AUDIO: 0. und, META SUBTITLE: 
12-27 20:04:27.647 21057-25228/ro.package_name D/Vitamio[5.0.0][Player]: FIND CODEC_ID 86018
12-27 20:04:27.647 21057-25228/ro.package_name I/Vitamio[5.0.0][Player]: WOW: BRILLIANT C COUNT 4
12-27 20:04:27.649 21057-25228/ro.package_name D/Vitamio[5.0.0][Player]: OPEN CODEC aac
12-27 20:04:27.649 21057-25228/ro.package_name I/Vitamio[5.0.0][Player]: OPEN STREAM AUDIO BEGIN
12-27 20:04:27.650 21057-25233/ro.package_name D/Vitamio[5.0.0][Player]: THREAD AUDIO_DECODE START
12-27 20:04:27.650 21057-25228/ro.package_name I/Vitamio[5.0.0][Player]: Copyright (c) YIXIA (http://yixia.com).
                                                                                      THIS SOFTWARE (Vitamio) IS WORK OF YIXIA (http://yixia.com)
12-27 20:04:27.650 21057-25228/ro.package_name I/Vitamio[5.0.0][Player]: Vitamio Version 5.0.0 
12-27 20:04:27.650 21057-25228/ro.package_name I/Vitamio[5.0.0][Player]: Application package name: ro.package_name
12-27 20:04:27.650 21057-25228/ro.package_name I/Vitamio[5.0.0][Player]: 2, 48000, 0
12-27 20:04:27.659 21057-21057/ro.package_name I/Vitamio[Player]: Info (704, 0)
12-27 20:04:27.660 21057-21057/ro.package_name W/info listener: 704  0

Please resolve this issue.

And one another issue when i comile my android package in Android M says that libffmpeg has text realocations, how to solve this ?

VideoView.seekto not work at the beginning of playing video

if I run the code as below:
videoview.seekto(...)
videoview.start()
the video will not seek to the time I want.

if I run start first. and after some seconds. then I call seek to function. now it will work.

after some tests. I find if I call getDuration function before seekto in the prepared delegate. then it works. the code can be shown as below:
_videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {

			@Override
			public void onPrepared(MediaPlayer mp) {
				// TODO Auto-generated method stub
				_videoView.getDuration();
				_videoView.seekTo(time);
			}
		});

x86 libffmpeg.so lib

possible to build OpenSSL-1.0.2g libffmpeg.so also ?
and arm64-v8a .
thanks..............!!!

Android N Crash

I get this crash only on Android N when I play any audio with vitamio 5.0.1:

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.fivething.vietmobi, PID: 3404
java.lang.UnsatisfiedLinkError: No implementation found for void io.vov.vitamio.MediaPlayer.native_init() (tried Java_io_vov_vitamio_MediaPlayer_native_1init and Java_io_vov_vitamio_MediaPlayer_native_1init__)
at io.vov.vitamio.MediaPlayer.native_init(Native Method)
at io.vov.vitamio.MediaPlayer.(MediaPlayer.java:306)
at io.vov.vitamio.widget.VideoView.openVideo(VideoView.java:428)
at io.vov.vitamio.widget.VideoView.setVideoURI(VideoView.java:400)
at io.vov.vitamio.widget.VideoView.setVideoURI(VideoView.java:393)
at com.fivething.vietmobi.Player.e(Player.java:390)
at com.fivething.vietmobi.Player.c(Player.java:295)
at com.fivething.vietmobi.Player$2.onSuccess(Player.java:268)
at com.loopj.android.http.JsonHttpResponseHandler$1$1.run(JsonHttpResponseHandler.java:154)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:5969)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:801)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:691)

E/Vitamio[Player]: Error loading libs
java.lang.UnsatisfiedLinkError: Expecting an absolute path of the library: libstlport_shared.so
at java.lang.Runtime.load0(Runtime.java:889)
at java.lang.System.load(System.java:1505)
at io.vov.vitamio.MediaPlayer.load_lib(MediaPlayer.java:258)
at io.vov.vitamio.MediaPlayer.(MediaPlayer.java:319)
at io.vov.vitamio.widget.VideoView.openVideo(VideoView.java:428)
at io.vov.vitamio.widget.VideoView.setVideoURI(VideoView.java:400)
at io.vov.vitamio.widget.VideoView.setVideoURI(VideoView.java:393)
at com.fivething.vietmobi.Player.e(Player.java:390)
at com.fivething.vietmobi.Player.c(Player.java:295)
at com.fivething.vietmobi.Player$2.onSuccess(Player.java:268)
at com.loopj.android.http.JsonHttpResponseHandler$1$1.run(JsonHttpResponseHandler.java:154)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:5969)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:801)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:691)

Mediaplayer playback doesn't work

I can't play any audio, from local file, resource, or http/rtmp link. I'm using the example project and it doesn't work. When I play any audio with MediaPlayer, it appears to work fine, the log outputs this:

Vitamio[5.0.0][Player]: Vitamio Version 5.0.0
Vitamio[5.0.0][Player]: Application package name: io.vov.vitamio.demo
...
Vitamio[5.0.0][Player]: prepare
Vitamio[5.0.0][Player]: PREPARE SIG: 0
Vitamio[5.0.0][Player]: start
Vitamio[5.0.0][Player]: THREAD PREPARE START
Vitamio[5.0.0][Player]: THREAD PREPARE ATTACHED
itamio[5.0.0][Player]: Copyright (c) YIXIA...
Vitamio[5.0.0][Player]: OPEN FILE /storage/emulated/0/ivoox/test.mp3
Vitamio[5.0.0][Player]: [mp3 @ 0xb38c9600] Estimating duration from bitrate, this may be inaccurate
Vitamio[5.0.0][Player]: Input #0, mp3, from '/storage/emulated/0/ivoox/test.mp3':
Vitamio[5.0.0][Player]: Duration:
Vitamio[5.0.0][Player]: 00:19:08.34
Vitamio[5.0.0][Player]: , start:
Vitamio[5.0.0][Player]: 0.000000
...
Vitamio[5.0.0][Player]: OPEN CODEC mp3
Vitamio[5.0.0][Player]: OPEN STREAM AUDIO BEGIN
Vitamio[5.0.0][Player]: THREAD AUDIO_DECODE START

But I cant hear anything in any device I have test...
Any suggestions?
(I have been using Vitamio 4.2 without problems)

Fatal Exception while playing HLS Stream

While playing HLS stream with the latest version of Vitamio (5.0.0) got the following fatal exception

Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 31095.

Mainly this issue occurred while buffering starts. In Vitamio 4.0 version it was working perfectly. But due to some security vulnerability with the older version, we need to upgrade to this latest version. But it have this issue.

Could you please help me in solving this issue?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.