2011-04-27 127 views
6

我使用谷歌的GData API爲了從我的應用程序上傳視頻到YouTube。上傳工作正常,但上傳的視頻質量僅爲360p,而原始視頻的質量爲720p。Youtube上傳質量

這是按預期工作嗎?如果是的話,是否有任何解決方案可以讓我的應用上傳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:)]; 

布倫頓

+0

我也有類似的上傳480p視頻,但沒有嘗試過720p。它是一個很長的鏡頭,但是我的代碼最大的區別在於我使用了@ @ video/mp4「'mime類型。 – 2011-06-30 02:20:08

回答

1

YouTube的轉碼流水線僅着眼於視頻文件本身,以確定是否應該生成視頻的HQ/HD版本。在gdata API調用中傳遞的內容無關緊要。

轉碼流水線尋找的東西包括視頻大小以及平均比特率。例如,具有非常低比特率的720p視頻可能不符合HD甚至HQ編碼的條件。有時,錯誤編碼的視頻可能會導致錯誤的視頻尺寸或比特率被其代碼轉換器解釋,因此請確保您的視頻編碼器沒有做任何奇怪的事情。

+0

我目前遇到同樣的問題。你能稍微擴展一下嗎?有沒有辦法確保用UIImagePickerController拍攝的視頻以720p上傳? – zakdances 2012-07-30 21:10:45

+0

我很久沒有玩過YouTube API了,但我認爲只要您設置了UIImagePickerController以使用最高的視頻質量,並且源視頻是在支持720p/1080p的iPhone上拍攝的( iPhone 4及更高版本),YouTube應能夠以720p(或更高)播放上傳的視頻。只要確保你設置了'imagePicker.videoQuality = UIImagePickerControllerQualityTypeHigh;'。 – Ziconic 2012-08-11 18:46:24