Сохранить видео Youtube для iPhone в приложении

Воспроизведение видео Youtube в приложении легко и хорошо документировано.

Есть две проблемы:

  1. после закрытия Youtube-плеера, если пользователь хочет снова воспроизвести его, он должен снова ждать streamовой передачи в Интернете
  2. не может играть в автономном режиме (загружать видео дома, чтобы смотреть на дороге)

Кто-нибудь имеет код для:

  1. скачать видео с YouTube в папку с документами и показать ход загрузки
  2. воспроизводить загруженное видео, загружая файл из папки документов (что означает, даже если он не подключен к Интернету)

Чтобы загрузить видео с YouTube:

  1. Получите URL-адрес для загрузки с помощью API YouTube или любого другого метода.
  2. Создайте NSOutputStream или NSFileHandle, открытый во временном файле (в NSTemporaryDirectory() или файл с именем temp в каталоге Documents).
  3. Настройте свой индикатор выполнения и все, что вам нужно сделать.
  4. Выделите и запустите NSURLConnection, чтобы извлечь файл из URL-адреса. Не используйте sendSynchronousRequest:returningResponse:error: конечно.
  5. В connection:didReceiveResponse: delegate, connection:didReceiveResponse: длину данных, которые нужно загрузить для правильного обновления индикатора выполнения.
  6. В connection:didReceiveData: метод делегирования, записывать данные в дескриптор выходного streamа / файла и обновлять индикатор выполнения по мере необходимости.
  7. В connectionDidFinishLoading: или connection:didFailWithError: закройте дескриптор выходного streamа / файла и переименуйте или удалите временный файл по мере необходимости.

Чтобы воспроизвести его, просто используйте файл NSURL fileURLWithPath: чтобы создать URL-адрес, указывающий на локальный файл в папке «Документы», и воспроизвести его так же, как и любое удаленное видео.

Ive использовал classы из этого проекта: https://github.com/larcus94/LBYouTubeView Он отлично работает для меня. Я могу загрузить видео с YouTube.

Я использовал этот код:

 LBYouTubeExtractor *extractor = [[[LBYouTubeExtractor alloc] initWithURL:[NSURL URLWithString:[NSString stringWithFormat:(@"http://www.youtube.com/watch?v=%@"), self.videoID ]] quality:LBYouTubeVideoQualityLarge] autorelease]; [extractor extractVideoURLWithCompletionBlock:^(NSURL *videoURL, NSError *error) { if(!error) { NSLog(@"Did extract video URL using completion block: %@", videoURL); dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ NSData *data = [NSData dataWithContentsOfURL: videoURL]; NSString *pathToDocs = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; NSString *filename = [NSString stringWithFormat:(@"video_%@.mp4"), self.videoID ]; [data writeToFile:[pathTODocs stringByAppendingPathComponent:filename] atomically:YES]; NSLog(@"File %@ successfully saved", filename); }); } else { NSLog(@"Failed extracting video URL using block due to error:%@", error); } }]; 

Вы можете показать ход загрузки, используя технику, описанную в сообщениях выше.

Вот мой пример: https://github.com/comonitos/youtube_video

Я использовал class PSYouTubeExtractor.h от Peter Steinberger. Он может получить URL-адрес видео YouTube youtube mp4, а загрузка и просмотр не проблема.

NSURLConnection + NSNotificationCenter + PSYouTubeExtractor + NSMutableData

проверьте эти проекты –

https://github.com/iosdeveloper/MyTube
https://github.com/pvinis/mytube

они определенно помогут вам!

Я лично не знаю, как загружать видео с YouTube (и код слишком велик, чтобы вставить здесь ответ).

Однако здесь приведен полный пример загрузки YouTube. Это загрузчик youtube с открытым исходным кодом под названием LoadTube: вот ссылка на исходный код .

Я хотел бы воспроизвести видео и выяснить, где хранится файл temp. Если вы можете получить к нему доступ, скопируйте его в какую-нибудь папку для просмотра в автономном режиме.

  • Получите данные Exif от UIImage - UIImagePickerController
  • запись NSDictionary для plist в моем приложении
  • UIScrollView: подкачка по горизонтали, прокрутка по вертикали?
  • всплывающее меню iPhone, как iPad popover?
  • Класс размера для iPad-портрета и ландшафтных режимов
  • Можете ли вы настраивать анимацию для встраиваемых ячеек UITableView?
  • Как изменить формат даты в подборщике даты
  • UISlider вместе с ProgressView
  • Сохранить фотографии в пользовательский альбом в iPhones Photo Library
  • SplitView как приложение Facebook на iPhone
  • Данные о сердечном ритме на яблоне
  • Давайте будем гением компьютера.