1

I have to upload file using java kaltura api. I have searched it about a lot,but could not find any helping docs. Please help me if anybody knows how to upload file in kaltura using java.

I got a C# API for file upload,i hope it will help you.

KalturaClient  kalturaClient = KalturaUtilsService.getKalturaClient();
            KalturaMediaEntry kalturaMediaEntry = new KalturaMediaEntry();


            kalturaMediaEntry.name = "Java Entry Using C#";
            kalturaMediaEntry.mediaType = KalturaMediaType.VIDEO;
            kalturaMediaEntry = kalturaClient.getMediaService().add(kalturaMediaEntry);
            FileStream fileStream = new FileStream("/home/alok/Desktop/index.mp4", FileMode.Open, FileAccess.Read);
            KalturaUploadToken uploadToken = kalturaClient.UploadTokenService.Add();
            kalturaClient.UploadTokenService.Upload(uploadToken.Id, fileStream);

            KalturaUploadedFileTokenResource mediaResource = new KalturaUploadedFileTokenResource();
            mediaResource.Token = uploadToken.Id;
            kalturaMediaEntry = kalturaClient.MediaService.AddContent(kalturaMediaEntry.Id, mediaResource);

Thanks in advance !!!

Prabjot Singh
  • 4,491
  • 8
  • 31
  • 51

1 Answers1

3

There is an example provided with the java client library (http://www.kaltura.com/api_v3/testme/client-libs.php) you can find it under src/Kaltura.java, method uploadMediaFileAndAttachToEmptyEntry

Here's a simplified version:

String adminSecret = "API-ADMIN-SECRET";
Integer partnerId = PARTNER_ID;
String filePath = "src/DemoVideo.flv";
String uploadUserId = "TestUploader";

// initialize the client
KalturaConfiguration config = new KalturaConfiguration();
config.setEndpoint("http://www.kaltura.com/");
KalturaClient client = new KalturaClient(config);
String ks = client.generateSession(adminSecret, uploadUserId, KalturaSessionType.ADMIN, partnerId);
client.setKs(ks);

// add the media entry
KalturaMediaEntry mediaEntry = new KalturaMediaEntry();
mediaEntry.name = "Uploaded Media";
mediaEntry.mediaType = KalturaMediaType.VIDEO;
mediaEntry = client.getMediaService().add(mediaEntry);

// add the upload token
KalturaUploadToken uploadToken = new KalturaUploadToken();
uploadToken = client.getUploadTokenService().add(uploadToken);

// initialize the file
File file = new File(filePath);

// upload the file
client.getUploadTokenService().upload(uploadToken.id, file);

// link between the file and the media entry
KalturaUploadedFileTokenResource uploadedFileTokenResource = new KalturaUploadedFileTokenResource();
uploadedFileTokenResource.token = uploadToken.id;
client.getMediaService().addContent(mediaEntry.id, uploadedFileTokenResource);
  • I've been trying to accomplish this for awhile (tried several methods) but each time I get error 413. Did you ever come across this? http://stackoverflow.com/questions/37681080/kaltura-upload-video-error-413 – user2120910 Jun 09 '16 at 18:34