Giter Club home page Giter Club logo

pbjvideoplayer's People

Contributors

despinoza avatar jeffaburt avatar justinmakaila avatar natan avatar piemonte avatar rromanchuk avatar rudywen avatar thibauddavid avatar zedrdave avatar

Stargazers

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

Watchers

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

pbjvideoplayer's Issues

美拍 meipai MV effect

my honest;Will somebody know,how to make an effect like meipai'MV,just like combine fileter && mp4 ,but i have no idea about it.Someone know's where can access such an article?vary thx.

Buffering state - delay while "waiting" for video to be ready from url

Hello,
I cant seem to find where a delegate is called when the video is ready to play (from a url sourcce).
There is a small delay where i would like to present a loading view and "remove" it when the video starts, but cannot find a delegate for the change in buffering state. Is that intentional ?

and by the way: THANKS for the control 💃

only get the video thumbnail

how can i make the porject only get the video thumbnail and just start playing/buffereing when i press the play, ( i dont want the video to buffer in the background unless the user press play)

Cleanup loops/freezesAtEnd API into a single enum?

As far as I can tell it doesn't make sense to be able to configure a video player that both loops and freezesAtEnd, but the current API allows for said configuration. Should probably refactor the playbackLoops and playbackFreezesAtEnd properties into a single enum like below, yeah?

typedef NS_ENUM(NSInteger, PBJVideoPlayerPlaybackStyle) {
    PBJVideoPlayerPlaybackStylePlaysOnce = 0,
    PBJVideoPlayerPlaybackStylePlaysOnceAndFreezesAtEnd,
    PBJVideoPlayerPlaybackStyleLoops,
};

better support for remote assets

Currently if you use remote url with bad connection video stops when buffer is empty and never goes on.

I have workaround of this, if you like, I will submit PR for that.

Black player on playback

I have a problem where sometimes (around 50%) I get a black playback view after composing a video and trying to show it with PBJVideoPlayer.
My code is very similar to the example:

    _videoPlayerController = [[PBJVideoPlayerController alloc] init];
    _videoPlayerController.delegate = self;
    _videoPlayerController.view.frame = _playerView.bounds;
    [self addChildViewController:_videoPlayerController];
    [_playerView  addSubview:_videoPlayerController.view];
    [_videoPlayerController didMoveToParentViewController:self];

    _videoPlayerController.videoPath = [self finalVideoPath];

The video path if not nil for sure, and the bounds are correct.

I guess it is some kind of racing condition problem, this code is executed on a compose video finish event I have, but I am not sure what can be done to refresh the player or something similar.

Any ideas?

Correct way to handle a failed async loading of keys

We have been using PBJVideoPlayer and it is awesome.

We are loading a remote m3u8 video and during the initialization of the AVURLAsset, PBJVideoPlayer loads information about the video asynchronously using loadValuesAsynchronouslyForKeys. The keys that are currently in the list are "tracks", "playable", and "duration". We have one tester who is halfway around the world from our test server that is always having the problem that the "tracks" and "playable" keys succeed with the AVKeyValueStatusLoaded. However, the "duration" key is failing with AVKeyValueStatusFailed.

So, despite searching the Apple documentation and the internet high and low, I am not exactly sure what to do in this situation and have a few questions:

  1. Does AVKeyValueStatusFailed on a single key indicate that the AVAsset won't play? Is "duration" a key that will prevent playback.
  2. Can I just re-query that single key with loadValuesAsynchronouslyForKeys and expect that the additional time since the creation of the AVURLAsset will cause it to succeed also?
  3. Do I need to re-create the AVURLAsset object?
  4. Will calls to [PlayerItem duration] block if this key failed? Will it return the wrong value?

I just can't seem to determine what the behavior will be if I change the code to ignore a failure on "duration" or how to attempt to correct it. Currently the PBJVideoPlayerController returns and never finished initializing the video if any of the key loading fails.

save to camera roll

i'm giving myself a headache trying to figure out AVAssetExportSession. could you lend some guidance on how to best save the AVAsset found in PBJVideoView to the user's camera roll?

fyi i'm building an app with "share to instagram" functionality, which is why i need the video in the user's camera roll.

Expose _avplayer…

Very nice and useful lib…

But not being able to access the underlying _avplayer severely limits its usefulness, since many properties cannot be read/set through it yet. And since it is declared in a class extension, there is no way to use an extension either…

Would you consider moving _avplayer to an instance variable or providing a getAVPlayer method?
I can provide PR, but you'll probably be better off doing it your way since it's such a small change…

Video size within the VideoController

Is it possible to make video fill whole space of ViewController? Now when I add the size to ViewController, video within that view controller has a margins. I want to add something similar to Aspect Fill mode on UIImageView.

Hi! I have a little problem.

Hi! @piemonte

How to support at some duration to read the video?

Such as:
MaxDuration (30:00)
If direct player (15:00) duration of the video. how to do?

Jack

Detect orientation of video

Is it possible to detect the orientation of the video and rotate the view accordingly? If a video has a greater width than height, I'd like to rotate the playback to Landscape Left.

How to add time slider bar

hello
I can see maxDuration property in PBJVideoViewController.m file
Is it possible to add time slider bar ?

Thanks

Video Player Screen rotate

Can we able to rotate player?? With respect to landscape or portrait mode
Actually I want toggle screen on click of full screen button and video screen enters in full screen with landscape orientation and toggle back to portrait orientation.
Can we able to do using this library??

Video Player Screen rotate

##Can we able to rotate player?? With respect to landscape or portrait mode
Actually I want toggle screen on click of full screen button and video screen enters in full screen with landscape orientation and toggle back to portrait orientation.
Can we able to do using this library?? @natan @rromanchuk @fyaqub @zedrdave @rudywen

Video playing black screen on iOS 10, 10.1..

I faced a critical issue for video playing with PBJVideoPlayer.
Sometimes, video playing is showing a black screen with only sound. The sound is working good.
This was worked on iOS 9.x well.

I am not sure the reason.

Please review that and help soon.
Looking forward to your fixing or replying
Thanks

Playing video as NSData

Hi, is it posible to use PBJVideoPlayer with NSData ?
If not how can i do that, please ?

Thanks in advance

cache feautre

could you plz add a caching feature, so it will not buffer from the start

Make Video Player take up full screen

Any idea why my videos won't take the full aspect ratio of the screen? I'm using PBJVision to record video and PBJVideoPlayer to play them back.

Here's my relevant code (in swift):

        // allocate controller
        var videoPlayerController = PBJVideoPlayerController();
        videoPlayerController.delegate = self;
        videoPlayerController.view.frame = playerView.bounds;
        // Disable tap to pause
        videoPlayerController.view.userInteractionEnabled = false;

        // setup media
        videoPlayerController.videoPath = self.videoPath?;

        // present
        self.addChildViewController(videoPlayerController);
        playerView.addSubview(videoPlayerController.view);
        videoPlayerController.didMoveToParentViewController(self);

        // Start Video
        videoPlayerController.playFromBeginning();

Sometimes, it'll even appear as such: http://cl.ly/YYWY (but it's highly likely that it's an issue specific to my app, not a PBJVideoPlayer issue)

What kinds of file do i play?

I wonder what kind of files do i play except http://
I want to play avi files and http streaming files in own app
so please tell me your good video player what to do!!!
as soon as possible

Sound Not Playing

I'm playing a simple mp4 video and am not receiving any sound from the video. To contrast this, I used your Player lib with the same code and no issues (sound and video worked just fine). I'm bridging this library to my Swift project due to other non-related reasons. Code sample below.

    self.player = PBJVideoPlayerController()

    if let videoPlayer = self.player {
        videoPlayer.view.userInteractionEnabled = true

        videoPlayer.view.multipleTouchEnabled = true

        videoPlayer.view.frame = self.view.bounds

        videoPlayer.playbackFreezesAtEnd = false

        videoPlayer.playbackLoops = true

        videoPlayer.videoPath = self.ViewControllerVideoPath

        self.addChildViewController(videoPlayer)

        self.view.addSubview(videoPlayer.view)

        videoPlayer.didMoveToParentViewController(self)

        videoPlayer.playFromBeginning()
 }

PBJVideoPlayerController how to clear current video

Hi,

I'm working on a project that has embedded videos in a UITableView and I'm using the PBJVideoPlayerController for the playback.

But I'm having a problem with clearing the last clip from the player.

the use case goes like this:

you show a video in the top cell and then you scroll the tableview, the scroll pause the playback, after the scroll finishes you load a new video but the player still holds a reference to the old one.

how to i clear the player object?

Save to camera roll

Hello,
I would like to save viewed video to the camera roll, I have an error with the export, did I do something wrong ?

          AVAssetExportSession *exportSession = [AVAssetExportSession exportSessionWithAsset:self.videoPlayerController.asset
                                                                                         presetName:AVAssetExportPresetHighestQuality];
                 NSString *exportPath = [NSTemporaryDirectory() stringByAppendingPathComponent:@"tempOutput.mov"];
                 exportSession.outputURL = [NSURL fileURLWithPath:exportPath isDirectory:NO];
                 exportSession.outputFileType = AVFileTypeQuickTimeMovie;

                 [exportSession exportAsynchronouslyWithCompletionHandler:^{
                     if (exportSession.error) {
                         NSLog(@"Export failed: %@", [exportSession error]);
                     } else {
                         UISaveVideoAtPathToSavedPhotosAlbum(exportPath, self, @selector(video:didFinishSavingWithError:contextInfo:), NULL);
                     }
                 }];

The error:

Export failed: Error Domain=AVFoundationErrorDomain Code=-11800 "The operation could not be completed" UserInfo={NSUnderlyingError=0x14d8b9580 {Error Domain=NSOSStatusErrorDomain Code=-12780 "(null)"}, NSLocalizedFailureReason=An unknown error occurred (-12780), NSLocalizedDescription=The operation could not be completed}

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.