Качество загрузки с YouTube - PullRequest
6 голосов
/ 27 апреля 2011

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

Это работает как задумано? Если да, то есть ли способ обойти это сжатие видео, которое позволит моему приложению загружать фильмы 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 Ответ

1 голос
/ 21 июля 2011

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

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

...