GithubHelp home page GithubHelp logo

flutterwtf / vr-player Goto Github PK

View Code? Open in Web Editor NEW
22.0 22.0 11.0 143 KB

The VrPlayer plugin lets you play 360° and VR videos smoothly on Android and iOS platforms

License: GNU Affero General Public License v3.0

Kotlin 30.43% Ruby 4.82% Swift 22.30% Objective-C 1.27% Dart 41.17%
flutter kaltura video-player vr-player

vr-player's People

Contributors

alesiaradkevich avatar damir-abdulin avatar kirillsergeevich avatar kirznernasta avatar temaand1 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

vr-player's Issues

360 Video Starting Orientation

Hello! I am not sure the best way to contact the developers, so please let me know if I should go through different channels.

With the vr_player, the initial orientation/yaw is not facing where my team and I want it to, and we wonder if it is possible with vr_player to change the starting orientation, say left x-degrees. We are trying to see what packages work best for us, and would love any input.

Thank you!

The package not working on android

I have added the package to my flutter project and trying to run it on android but It gives me this error message:

vr_player-0.1.1/android/src/main/kotlin/wtf/flutter/vr_player/VideoPlayerController.kt: (270, 13): 'when' expression must be exhaustive, add necessary 'IDLE' branch or 'else' branch instead

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':vr_player:compileDebugKotlin'.

A failure occurred while executing org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction
Compilation error. See log for more details

Add touch control

Hello flutterwtf Team,

I'm working with the VR Player and noticed a discrepancy between the documentation and the actual functionality. The documentation mentions support for "touch and device motion controls," but I haven't been able to utilize touch controls within the player.

Could you please clarify the following:

  • Are touch controls currently supported?
  • If so, is there specific configuration required to enable them?
  • If not, are there plans to implement touch controls in the future?

Any guidance on this would be greatly appreciated.

Thanks,
E.Y.

Shaking Video on Android

Hello everyone, I'm using this library for one of my projects but i have some weird behaviour.
When i play a video the images shakes a bit (like if u have trembling hands ). Even with the phone placed on the desk the images shakes. I don't really know why is happing that , do you know how to solve it?

Thanks everyone.

Not able to play any video after playing 1-3 videos.

Player is not able to play videos after some videos its just start buffering and does for every new video after that.
After reinstalling my app it does same -- Plays 1-3 videos and starts buffering again.
For smaller size videos upto 100mb i am able to play 4-8 times. But for large size video above 1gb i am able to play only 1-2 videos after that same buffering state for all videos
Why its happening and what can be the solution of it?

video stop playing when keyboard open.

when i click on textfiled that is below the video and keyboard appears at that time video stop playing..
Getting this error in log.

destroy c2.mtk.avc.decoder in MediaCodec, input num 230 output num 220 render num 201

Video Not starting on Android 13

Working in android 11
Getting below error in android 13:

W/MediaCodecRenderer(20801): Failed to initialize decoder: c2.mtk.avc.decoder
W/MediaCodecRenderer(20801): java.lang.IllegalArgumentException
W/MediaCodecRenderer(20801): at android.media.MediaCodec.native_configure(Native Method)
W/MediaCodecRenderer(20801): at android.media.MediaCodec.configure(MediaCodec.java:2214)
W/MediaCodecRenderer(20801): at android.media.MediaCodec.configure(MediaCodec.java:2130)
W/MediaCodecRenderer(20801): at com.kaltura.android.exoplayer2.mediacodec.AsynchronousMediaCodecAdapter.initialize(AsynchronousMediaCodecAdapter.java:156)
W/MediaCodecRenderer(20801): at com.kaltura.android.exoplayer2.mediacodec.AsynchronousMediaCodecAdapter.access$100(AsynchronousMediaCodecAdapter.java:50)
W/MediaCodecRenderer(20801): at com.kaltura.android.exoplayer2.mediacodec.AsynchronousMediaCodecAdapter$Factory.createAdapter(AsynchronousMediaCodecAdapter.java:103)
W/MediaCodecRenderer(20801): at com.kaltura.android.exoplayer2.mediacodec.DefaultMediaCodecAdapterFactory.createAdapter(DefaultMediaCodecAdapterFactory.java:111)
W/MediaCodecRenderer(20801): at com.kaltura.android.exoplayer2.mediacodec.MediaCodecRenderer.initCodec(MediaCodecRenderer.java:1090)
W/MediaCodecRenderer(20801): at com.kaltura.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1001)
W/MediaCodecRenderer(20801): at com.kaltura.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecOrBypass(MediaCodecRenderer.java:536)
W/MediaCodecRenderer(20801): at com.kaltura.android.exoplayer2.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1444)
W/MediaCodecRenderer(20801): at com.kaltura.android.exoplayer2.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:917)
W/MediaCodecRenderer(20801): at com.kaltura.android.exoplayer2.mediacodec.MediaCodecRenderer.readSourceOmittingSampleData(MediaCodecRenderer.java:945)
W/MediaCodecRenderer(20801): at com.kaltura.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:760)
W/MediaCodecRenderer(20801): at com.kaltura.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1007)
W/MediaCodecRenderer(20801): at com.kaltura.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:502)
W/MediaCodecRenderer(20801): at android.os.Handler.dispatchMessage(Handler.java:102)
W/MediaCodecRenderer(20801): at android.os.Looper.loopOnce(Looper.java:211)
W/MediaCodecRenderer(20801): at android.os.Looper.loop(Looper.java:300)
W/MediaCodecRenderer(20801): at android.os.HandlerThread.run(HandlerThread.java:67)
E/MediaCodecVideoRenderer(20801): Video codec error
E/MediaCodecVideoRenderer(20801): com.kaltura.android.exoplayer2.mediacodec.MediaCodecRenderer$DecoderInitializationException: Decoder init failed: c2.mtk.avc.decoder, Format(0, null, null, video/avc, avc1.640033, -1, null, [4096, 2048, -1.0], [-1, -1])
E/MediaCodecVideoRenderer(20801): at com.kaltura.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1012)
E/MediaCodecVideoRenderer(20801): at com.kaltura.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecOrBypass(MediaCodecRenderer.java:536)
E/MediaCodecVideoRenderer(20801): at com.kaltura.android.exoplayer2.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1444)
E/MediaCodecVideoRenderer(20801): at com.kaltura.android.exoplayer2.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:917)
E/MediaCodecVideoRenderer(20801): at com.kaltura.android.exoplayer2.mediacodec.MediaCodecRenderer.readSourceOmittingSampleData(MediaCodecRenderer.java:945)
E/MediaCodecVideoRenderer(20801): at com.kaltura.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:760)
E/MediaCodecVideoRenderer(20801): at com.kaltura.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1007)
E/MediaCodecVideoRenderer(20801): at com.kaltura.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:502)
E/MediaCodecVideoRenderer(20801): at android.os.Handler.dispatchMessage(Handler.java:102)
E/MediaCodecVideoRenderer(20801): at android.os.Looper.loopOnce(Looper.java:211)
E/MediaCodecVideoRenderer(20801): at android.os.Looper.loop(Looper.java:300)
E/MediaCodecVideoRenderer(20801): at android.os.HandlerThread.run(HandlerThread.java:67)
E/MediaCodecVideoRenderer(20801): Caused by: java.lang.IllegalArgumentException
E/MediaCodecVideoRenderer(20801): at android.media.MediaCodec.native_configure(Native Method)
E/MediaCodecVideoRenderer(20801): at android.media.MediaCodec.configure(MediaCodec.java:2214)
E/MediaCodecVideoRenderer(20801): at android.media.MediaCodec.configure(MediaCodec.java:2130)
E/MediaCodecVideoRenderer(20801): at com.kaltura.android.exoplayer2.mediacodec.AsynchronousMediaCodecAdapter.initialize(AsynchronousMediaCodecAdapter.java:156)
E/MediaCodecVideoRenderer(20801): at com.kaltura.android.exoplayer2.mediacodec.AsynchronousMediaCodecAdapter.access$100(AsynchronousMediaCodecAdapter.java:50)
E/MediaCodecVideoRenderer(20801): at com.kaltura.android.exoplayer2.mediacodec.AsynchronousMediaCodecAdapter$Factory.createAdapter(AsynchronousMediaCodecAdapter.java:103)
E/MediaCodecVideoRenderer(20801): at com.kaltura.android.exoplayer2.mediacodec.DefaultMediaCodecAdapterFactory.createAdapter(DefaultMediaCodecAdapterFactory.java:111)
E/MediaCodecVideoRenderer(20801): at com.kaltura.android.exoplayer2.mediacodec.MediaCodecRenderer.initCodec(MediaCodecRenderer.java:1090)
E/MediaCodecVideoRenderer(20801): at com.kaltura.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1001)
E/MediaCodecVideoRenderer(20801): ... 11 more
D/MediaCodecInfo(20801): NoSupport [sizeAndRate.cover, [email protected]] [c2.mtk.avc.decoder, video/avc] [miel, 2201117PI, Xiaomi, 33]
D/MediaCodecInfo(20801): NoSupport [sizeAndRate.support, [email protected]] [c2.android.avc.decoder, video/avc] [miel, 2201117PI, Xiaomi, 33]
E/ExoPlayerImplInternal(20801): Playback error
E/ExoPlayerImplInternal(20801): com.kaltura.android.exoplayer2.ExoPlaybackException: MediaCodecVideoRenderer error, index=0, format=Format(0, null, null, video/avc, avc1.640033, -1, null, [4096, 2048, -1.0], [-1, -1]), format_supported=NO_EXCEEDS_CAPABILITIES
E/ExoPlayerImplInternal(20801): at com.kaltura.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:578)
E/ExoPlayerImplInternal(20801): at android.os.Handler.dispatchMessage(Handler.java:102)
E/ExoPlayerImplInternal(20801): at android.os.Looper.loopOnce(Looper.java:211)
E/ExoPlayerImplInternal(20801): at android.os.Looper.loop(Looper.java:300)
E/ExoPlayerImplInternal(20801): at android.os.HandlerThread.run(HandlerThread.java:67)
E/ExoPlayerImplInternal(20801): Caused by: com.kaltura.android.exoplayer2.mediacodec.MediaCodecRenderer$DecoderInitializationException: Decoder init failed: c2.mtk.avc.decoder, Format(0, null, null, video/avc, avc1.640033, -1, null, [4096, 2048, -1.0], [-1, -1])
E/ExoPlayerImplInternal(20801): at com.kaltura.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1012)
E/ExoPlayerImplInternal(20801): at com.kaltura.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecOrBypass(MediaCodecRenderer.java:536)
E/ExoPlayerImplInternal(20801): at com.kaltura.android.exoplayer2.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1444)
E/ExoPlayerImplInternal(20801): at com.kaltura.android.exoplayer2.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:917)
E/ExoPlayerImplInternal(20801): at com.kaltura.android.exoplayer2.mediacodec.MediaCodecRenderer.readSourceOmittingSampleData(MediaCodecRenderer.java:945)
E/ExoPlayerImplInternal(20801): at com.kaltura.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:760)
E/ExoPlayerImplInternal(20801): at com.kaltura.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1007)
E/ExoPlayerImplInternal(20801): at com.kaltura.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:502)
E/ExoPlayerImplInternal(20801): ... 4 more
E/ExoPlayerImplInternal(20801): Caused by: java.lang.IllegalArgumentException
E/ExoPlayerImplInternal(20801): at android.media.MediaCodec.native_configure(Native Method)
E/ExoPlayerImplInternal(20801): at android.media.MediaCodec.configure(MediaCodec.java:2214)
E/ExoPlayerImplInternal(20801): at android.media.MediaCodec.configure(MediaCodec.java:2130)
E/ExoPlayerImplInternal(20801): at com.kaltura.android.exoplayer2.mediacodec.AsynchronousMediaCodecAdapter.initialize(AsynchronousMediaCodecAdapter.java:156)
E/ExoPlayerImplInternal(20801): at com.kaltura.android.exoplayer2.mediacodec.AsynchronousMediaCodecAdapter.access$100(AsynchronousMediaCodecAdapter.java:50)
E/ExoPlayerImplInternal(20801): at com.kaltura.android.exoplayer2.mediacodec.AsynchronousMediaCodecAdapter$Factory.createAdapter(AsynchronousMediaCodecAdapter.java:103)
E/ExoPlayerImplInternal(20801): at com.kaltura.android.exoplayer2.mediacodec.DefaultMediaCodecAdapterFactory.createAdapter(DefaultMediaCodecAdapterFactory.java:111)
E/ExoPlayerImplInternal(20801): at com.kaltura.android.exoplayer2.mediacodec.MediaCodecRenderer.initCodec(MediaCodecRenderer.java:1090)
E/ExoPlayerImplInternal(20801): at com.kaltura.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1001)
E/ExoPlayerImplInternal(20801): ... 11 more
D/BufferQueueConsumer(20801): SurfaceTexture-1-20801-3 disconnect
D/libMEOW (20801): meow delete tls: 0xb4000077ce465840
D/ExoPlayerWrapper(20801): onPlayerError error type => 4001
E/PKPlaybackException(20801): Unable to instantiate decoderc2.mtk.avc.decoder
E/ExoPlayerWrapper(20801): ExoPlaybackException, type = RENDERER_ERROR

The gyroscope is not working

When I reproduce the example video. The player does not respond to the movement of the mobile device. Apparently it is not responding to the movement of the gyroscope, however it is possible to navigate the video using the finger.

Video output on iOS

Hi there,
I was trying to reproduce the video, but, the output image is not woking. The problem should be in my video because the video example it's working.
This is the video example that works: https://cdn.bitmovin.com/content/assets/playhouse-vr/m3u8s/105560.m3u8
And this is my video: https://vrestudio.com/storage/AppAlmeria/Video360/EmeritaLudica/Emerita_Ludica.m3u8

This is the output warning when I run on Xcode:

"[MonoSphericalVideoScene] failed to render video with error: The pixel buffer is not compatible with Metal due to an unsupported buffer size, pixel format, or attribute."

Note: All works fine on Android.

Codec, Format

I'm getting -

E/PlayerController(23920): onLoadError Player Load error: LOAD_ERROR
E/ExoPlayerImplInternal(23920): Playback error
E/ExoPlayerImplInternal(23920):   com.kaltura.android.exoplayer2.ExoPlaybackException: Source error

I have tried vr video from pexels, created one by myself, mp4 format
I also converted the file to m3u8 format but I'm getting this error,

Can you give some inputs on how to resolve it, also what codec and media format to use?

360º pictures functionality

Could this work with 360º pictures? It would be really helpful to start social networks app concepts with VR

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.