동영상을 녹화하는 Android 앱을 개발 중이며 YouTube Data API v3을 사용하여 YouTube에 직접 업로드 할 수 있습니다. 코드는에 설명 된 것과 유사하다 : 파일이 매우 큰 경우,YouTube API 3 동영상 업로드 - 잘못된 자격증 명 - Android
YouTube API 3 Upload Video - Access not configured - Android
성공적하지만, 대부분의 경우 YouTube에 파일을 업로드 (~ 영상의 시간 데이터의 몇 GB) 업로드가 실패합니다. 업로드가 4GB 파일의 절반에 도달하면 다음 메시지가 나타납니다.
성공한 코드와 실패한 코드는 변경되지 않습니다. 신임장은 동일합니다. 업로드가 실패하기 전에 약 1 시간 동안 작동합니다.
기타 잠재적으로 유용한 정보는 안드로이드 스택 트레이스에서 발견된다 :에 해당
W/GLSUser(1794): [amz][amz] Permission for com.package.name to access oauth2: https://www.googleapis.com/auth/youtube.upload will be managed remotely.
W/qdhwcomposer(318): Excessive delay reading vsync: took 1182 ms
W/HttpTransport(8543): exception thrown while executing request
W/HttpTransport(8543): java.io.IOException: unexpected end of stream
W/HttpTransport(8543): at libcore.net.http.FixedLengthOutputStream.close(FixedLengthOutputStream.java:58)
W/HttpTransport(8543): at com.google.api.client.http.javanet.NetHttpRequest.execute(NetHttpRequest.java:81)
W/HttpTransport(8543): at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:964)
W/HttpTransport(8543): at com.google.api.client.googleapis.media.MediaHttpUploader.executeCurrentRequest(MediaHttpUploader.java:559)
W/HttpTransport(8543): at com.google.api.client.googleapis.media.MediaHttpUploader.resumableUpload(MediaHttpUploader.java:434)
W/HttpTransport(8543): at com.google.api.client.googleapis.media.MediaHttpUploader.upload(MediaHttpUploader.java:345)
W/HttpTransport(8543): at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:418)
W/HttpTransport(8543): at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:343)
W/HttpTransport(8543): at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:460)
W/HttpTransport(8543): at com.multplx.android.trickbook.uploader.VideoUploadAsyncTask.doInBackground(VideoUploadAsyncTask.java:133)
W/HttpTransport(8543): at com.multplx.android.trickbook.uploader.VideoUploadAsyncTask.doInBackground(VideoUploadAsyncTask.java:1)
W/HttpTransport(8543): at android.os.AsyncTask$2.call(AsyncTask.java:287)
W/HttpTransport(8543): at java.util.concurrent.FutureTask.run(FutureTask.java:234)
W/HttpTransport(8543): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
W/HttpTransport(8543): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
W/HttpTransport(8543): at java.lang.Thread.run(Thread.java:841)
W/VideoUploadAsyncTask(8543): @ Exception : com.google.api.client.googleapis.json.GoogleJsonResponseException: 401 Unauthorized
:
업로드가 1 시간 이상을 복용 한 것 같습니다try {
// https://developers.google.com/youtube/v3/docs/videos/insert
Insert videoInsert = inserts[0];
uploader = videoInsert.getMediaHttpUploader();
uploader.setProgressListener(progressListener);
Video returnedVideo = videoInsert.execute();
} catch (IOException ioe) {
...
}