iOS VIMVideoPlayerView не может загружать видео vimeo

Я делаю приложение iOS на Objective C, которое должно загружать видео с URL-адресами vimeo. Я хотел использовать видеоплеер, и я использовал это: https://github.com/vimeo/VIMVideoPlayer . Я следую инструкциям, прочитанным мной, однако я не могу читать видео vimeo, у меня возникла ошибка:

Ошибка состояния видеоплеера: ошибка = Ошибка Домен = AVFoundationErrorDomain Code = -11828 «Невозможно открыть» UserInfo = 0x7f9c5d17b8c0 {NSUnderlyingError = 0x7f9c5d176910 «Операция не может быть завершена. (Ошибка OSStatus -12847.)», Формат NSLocalizedFailure не поддерживается., NSLocalizedDescription = Cannot Open}

Вот мой код:

-(void)viewDidLoad
{
    [super viewDidLoad];

    self.videoPlayerView = [[VIMVideoPlayerView alloc] init];
    self.videoPlayerView.translatesAutoresizingMaskIntoConstraints = NO;
    self.videoPlayerView.delegate = self;
    [self.videoPlayerView setVideoFillMode:AVLayerVideoGravityResizeAspect];
    [self.videoPlayerView.player enableTimeUpdates];
    [self.videoPlayerView.player enableAirplay];
    [self.view addSubview:self.videoPlayerView];
    NSDictionary *views = NSDictionaryOfVariableBindings(_videoPlayerView);
    [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-0-[_videoPlayerView]-0-|" options:0   metrics:nil views:views]];
    [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-0-[_videoPlayerView]-0-|" options:0   metrics:nil views:views]];

    //this is the kind of url I want to load
    NSURL *URL = [NSURL URLWithString:@"https://player.vimeo.com/video/51806929"];
    [self.videoPlayerView.player setURL:URL];
    [self.videoPlayerView.player play];
}

Спасибо за вашу помощь.


person Ben7    schedule 12.08.2015    source источник


Ответы (1)


Это не URL-адрес видеофайла (https://player.vimeo.com/video/51806929), это URL-адрес веб-страницы.

URL-адреса, передаваемые в видеопроигрыватель, должны быть URL-адресами фактического ресурса видеофайла.

Вы можете протестировать VIMVideoPlayer, перетащив файл mp4 на сервер и передав этот URL-адрес проигрывателю.

Если вы являетесь пользователем учетной записи Vimeo PRO, когда вы запрашиваете JSON для определенного видео или списка видео из Vimeo API, вы увидите список VideoFile объектов, связанных с каждым video объектом. Они представляют собой видеофайлы с различным разрешением для этого конкретного видео. У каждого есть URL. Вы можете передать этот URL-адрес игроку.

Дайте нам знать, если у вас возникнут вопросы!

person Alfie Hanssen    schedule 13.08.2015
comment
Итак, чтобы воспроизводить видео в приложении для iOS, разработчик должен приобрести учетную запись Vimeo PRO? Или же разработчик может просто зарегистрировать свое приложение на developer.vimeo.com/api, и он сможет получить JSON с URL-адресами файлов? - person Cyprian; 26.11.2015
comment
Это верно, только подписчики PRO будут видеть URL воспроизведения в ответе JSON для видеообъекта. - person Alfie Hanssen; 30.11.2015
comment
@AlfieHanssen Так вы говорите, что невозможно воспроизвести видео vimeo, если владелец видео a) не имеет профессиональной учетной записи b) извлекает URL-адрес в mp4 и делится им - person RunLoop; 22.01.2016
comment
@RunLoop, вроде того. Чтобы увидеть URL-адреса прогрессивного воспроизведения и воспроизведения HLS в ответе JSON видеообъекта от Vimeo API, разработчик должен иметь учетную запись Vimeo Pro. Вы можете воспользоваться альтернативным подходом и воспроизвести видео через веб-просмотр. - person Alfie Hanssen; 01.02.2016
comment
@AlfieHanssen, спасибо за информацию. Я считаю, что позиция Vimeo по этому поводу сбивает с толку. Нам пришлось посоветовать нашему клиенту ссылаться только на YouTube, поскольку использование UIWebView для видео не является оптимальным для пользователя в контексте пользовательского интерфейса приложения. - person RunLoop; 02.02.2016
comment
@AlfieHanssen. Если я куплю учетную запись Vimeo PRO, она предоставит мне прямую ссылку на мое видео на vimeo. - person bittu; 03.02.2016
comment
Vimeo поддерживает все формы воспроизведения на мобильных устройствах, предлагаемые Youtube (как указано здесь: разработчики .google.com / youtube / article /). Вы можете воспроизводить видео Vimeo с помощью приложения Vimeo, используя следующие вспомогательные библиотеки: github.com/vimeo/VIMDeeplink . Кроме того, пользователи PRO имеют прямой доступ к воспроизводимым видеофайлам, чего не предлагает Youtube. - person Dashron; 04.02.2016
comment
Чтобы было ясно, владельцы учетных записей PRO имеют доступ только к своим собственным URL-адресам видео, это правильно? Не URL видео других пользователей. Значит, только ответ JSON, относящийся к видео владельцев учетных записей, будет иметь URL-адреса, а ответы из других учетных записей не будут их содержать? - person George Brown; 04.08.2016
comment
Можно ли использовать проигрыватель с результатами, в которых указано, что видео vimeo можно загрузить? Разрешить пользователю транслировать видео в пользовательском проигрывателе без загрузки файла на устройство? - person George Brown; 04.08.2016