我正在尝试将视频上传到youtube: 我的代码是:
private static void uploadVideo(YouTubeService service) throws IOException {
System.out.println("First, type in the path to the movie file:");
File videoFile = new File(readLine());
if (!videoFile.exists()) {
System.out.println("Sorry, that video doesn't exist.");
return;
}
System.out.println(
"What is the MIME type of this file? (ex. 'video/quicktime' for .mov)");
String mimeType = readLine();
System.out.println("What should I call this video?");
String videoTitle = readLine();
VideoEntry newEntry = new VideoEntry();
YouTubeMediaGroup mg = newEntry.getOrCreateMediaGroup();
mg.addCategory(new MediaCategory(YouTubeNamespace.CATEGORY_SCHEME, "Entertainment"));
mg.setTitle(new MediaTitle());
mg.getTitle().setPlainTextContent(videoTitle);
mg.setKeywords(new MediaKeywords());
mg.getKeywords().addKeyword("gdata-test");
mg.setDescription(new MediaDescription());
mg.getDescription().setPlainTextContent(videoTitle);
mg.setPrivate(false);
mg.addCategory(new MediaCategory(YouTubeNamespace.DEVELOPER_TAG_SCHEME, "mydevtag"));
mg.addCategory(new MediaCategory(YouTubeNamespace.DEVELOPER_TAG_SCHEME, "anotherdevtag"));
newEntry.setGeoCoordinates(new GeoRssWhere(37.0,-122.0));
MediaFileSource ms = new MediaFileSource(videoFile, mimeType);
newEntry.setMediaSource(ms);
try {
service.insert(new URL(VIDEO_UPLOAD_FEED), newEntry);
} catch (ServiceException se) {
System.out.println("Sorry, your upload was invalid:");
System.out.println(se.getResponseBody());
return;
}
System.out.println("Video uploaded successfully!");
}
switch(uploader.getUploadState()) {
case COMPLETE:
output.println("Uploaded successfully");
break;
case CLIENT_ERROR:
output.println("Upload Failed");
break;
default:
output.println("Unexpected upload status");
break;
}
}
当我运行它时,它显示异常:
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:189)
at java.net.SocketInputStream.read(SocketInputStream.java:121)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:275)
at java.io.BufferedInputStream.read(BufferedInputStream.java:334)
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:641)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:589)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1319)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:468)
at com.google.gdata.client.http.HttpGDataRequest.checkResponse(HttpGDataRequest.java:490)
at com.google.gdata.client.http.HttpGDataRequest.execute(HttpGDataRequest.java:470)
at com.google.gdata.client.http.GoogleGDataRequest.execute(GoogleGDataRequest.java:534)
at com.google.gdata.client.media.MediaService.insert(MediaService.java:353)
at ytupload.YouTubeWriteClient.uploadVideo(YouTubeWriteClient.java:514)
at ytupload.YouTubeWriteClient.main(YouTubeWriteClient.java:837)
我从main调用的函数。上传(服务); 其中service = new YouTubeService(clientId,developerKey); 我该如何修复这个错误?我浪费了一天的时间......但是他想不出来。请建议。
编辑: VIDEO_UPLOAD_FEED =“http://gdata.youtube.com/feeds/api/users/abc123/uploads”
如果视频文件的路径我想作为一些http url给出怎么办? 请建议。 Thanx提前
答案 0 :(得分:0)