Качество загрузки с Youtube

#iphone #youtube #gdata-api #gdata

#iPhone #YouTube #gdata-api #gdata

Вопрос:

Я использую GData API от Google, чтобы загрузить видео на YouTube из моего приложения. Загрузка работает нормально, однако качество загруженного видео составляет всего 360 пикселей, тогда как качество исходного видео составляет 720 пикселей.

Работает ли это так, как задумано? Если да, есть ли какой-либо способ обойти это сжатие видео, который позволит моему приложению загружать фильмы HQ?

Вот код, который я использую для загрузки видео, если это поможет.

 GDataYouTubeMediaGroup *mediaGroup = [GDataYouTubeMediaGroup mediaGroup];
[mediaGroup setMediaTitle:title];
[mediaGroup setMediaDescription:desc];
[mediaGroup addMediaCategory:category]; 
[mediaGroup setMediaKeywords:keywords];
[mediaGroup setIsPrivate:NO];

NSString *mimeType = [GDataUtilities MIMETypeForFileAtPath:outputURL.relativePath defaultMIMEType:@"video/quicktime"];

GDataEntryYouTubeUpload *entry;
entry = [GDataEntryYouTubeUpload uploadEntryWithMediaGroup:mediaGroup data:data MIMEType:mimeType slug:filename];

SEL progressSel = @selector(ticket:hasDeliveredByteCount:ofTotalByteCount:);
[service setServiceUploadProgressSelector:progressSel];

GDataServiceTicket *ticket;
ticket = [service fetchEntryByInsertingEntry:entry forFeedURL:url delegate:self didFinishSelector:@selector(uploadTicket:finishedWithEntry:error:)];
  

Брентон

Комментарии:

1. Я аналогичным образом загружал видео с разрешением 480p, но не пробовал 720p. Это долгий путь, но самое большое отличие в моем коде заключается в том, что я использовал @"video/mp4" mime-тип.

Ответ №1:

Конвейер транскодирования YouTube просматривает только сам видеофайл, чтобы определить, следует ли создавать версии видео в формате HQ / HD. Не имеет значения, что вы передаете вместе с этим в вызове gdata API.

Конвейер транскодирования проверяет размер видео, а также среднюю скорость передачи данных. Например, видео с разрешением 720p и очень низкой скоростью передачи может не соответствовать кодировке HD или даже HQ. Иногда из-за неправильно закодированного видео их транскодер может интерпретировать видео неправильного размера или скорости передачи в битах, поэтому убедитесь, что ваш видеокодер не делает ничего странного.

Комментарии:

1. В настоящее время у меня такая же проблема. Не могли бы вы немного подробнее остановиться на этом? Есть ли способ гарантировать, что видео, снятое с помощью UIImagePickerController, загружается в формате 720p?

2. Я давно не играл с API YouTube, но я думаю, что пока вы настраиваете свой UIImagePickerController на использование видео наивысшего качества, а исходное видео было снято на iPhone с поддержкой 720p / 1080p (iPhone 4 и более поздние версии), YouTube должен иметь возможность воспроизводить загруженное видео с разрешением 720p (или выше). Просто убедитесь, что вы настроили imagePicker.videoQuality = UIImagePickerControllerQualityTypeHigh; .