Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Playback / Delivery from Remote storage fails #1422

Closed
shaktidhar opened this issue Jul 10, 2014 · 9 comments
Closed

Playback / Delivery from Remote storage fails #1422

shaktidhar opened this issue Jul 10, 2014 · 9 comments

Comments

@shaktidhar
Copy link
Contributor

Hi,
I wrote a plugin to export the uploaded file to another server. The export works pretty good. But when trying to play the file, I get Media Not found error.
Kaltlog shows errors about Delivery id can't be determined for Storage id 3 and streamerType rtmp.
I am sure rtmp is no where in the settings I made. I tried overriding streamerType from 'auto' to 'http' in the xml file but no change. ( Changes made as per kaltura/platform-install-packages#102 (comment) )
Plus, I also noticed that while creating the delivery profile, the delivery profile ids section is blank. Any clues on what values should go here.
I am working on 9.18.0.
I started working on this right when the Url Managers were being phased out and have not been able to get to any documents about the new Delivery Profile flow.
Thank you for your time.

@sharonadar
Copy link
Contributor

Hi,
We're sorry but the documentation about delivery profiles isn't ready yet - we're working on it.
In general, whenever someone creates a new remote-storage they need to specify the delivery profiles they would like to play the content with.
The delivery profiles are defined on the storage profile in json format: f.i. {"http":[1,3], "rtmp":[2]}
and describe for each protocol, the delivery profile ids our system should use.

Regarding the playback question, we'll redirect it to our Front developers.

In order to configure a new delivery profile, please use the test-me console and by using ks of partner -2 create a new delivery profile.

require_once('lib/KalturaClient.php');
$config = new KalturaConfiguration(-2);
$config->serviceUrl = *** Service URL ***;
$client = new KalturaClient($config);
$delivery = new KalturaDeliveryProfile();
$delivery->name = 'Sample RTMP Delivery profile';
$delivery->type = KalturaDeliveryProfileType::RTMP;
$delivery->systemName = 'Sample RTMP Delivery profile';
$delivery->description = 'Sample RTMP Delivery profile';
$delivery->streamerType = KalturaPlaybackProtocol::RTMP;
// The url the content should be played from, including the rtmp protocol prefix.
$delivery->url = 'rtmp://content.sample.com';
$delivery->status = KalturaDeliveryStatus::ACTIVE;
$delivery->isDefault = KalturaNullableBoolean::FALSE_VALUE;
$result = $client->deliveryProfile->add($delivery);

please note that the delivery profile will be created with partner -2, and you'll have to manually update it to be your partner.
After configuring the new delivery profile, you can assign it to the remote storage.

UI for creation and assigning will be released in the future.

Let me know if any further help is needed,

@shaktidhar
Copy link
Contributor Author

Sharon,
Thank you for the response and clarifying the profile ids. I am half way in.
The delivery profile is already created and part of the plugin.
Problem is in getting it to work.
I will be eagerly awaiting the response of the Front developers regarding playback.

As soon as I am able to complete the entire link, I will be happy to put together a documentation on the topic. Or if there is any other manner in which I can contribute on the matter, I will be available.

@itaykinnrot
Copy link

Hi @shaktidhar
Can you please add a test page/URL of the embed code?
We'll check it.
thanks,

@shaktidhar
Copy link
Contributor Author

Hi itaykinnrot,
It's still on an internal network.
Here is some output from kaltlog:
2014-07-14 07:00:44 [0.001014] [106.79.183.37] [127828175] [API] [KalturaStatement->execute] DEBUG: Sql took - 0.00073695182800293 seconds
2014-07-14 07:00:44 [0.002184] [106.79.183.37] [127828175] [API] [DeliveryProfilePeer::getRemoteDeliveryByStorageId] ERR: exception 'Exception' with message 'Delivery ID can't be determined for storageId [3](PartnerId [101]) and streamer type [ rtmp ]' in /opt/kaltura/app/infra/log/KalturaLog.php:82
Stack trace:

#0 /opt/kaltura/app/alpha/lib/model/DeliveryProfilePeer.php(246): KalturaLog::err('Delivery ID can...')

2014-07-14 07:01:04 [1955188443] [KSchedulerConfig->load] NOTICE: loading configuration /opt/kaltura/app/configurations/batch at 1405300675
PHP Fatal error: Uncaught exception 'Zend_Config_Exception' with message 'Section 'internal.dynaamo.com' cannot be found in /opt/kaltura/app/cache//batch/config.ini' in /opt/kaltura/app/vendor/ZendFramework/library/Zend/Config/Ini.php:150
Stack trace:
#0 /opt/kaltura/app/batch/scheduler/KSchedulerConfig.class.php(59): Zend_Config_Ini->__construct('/opt/kaltura/ap...', 'kaltura.internal...', true)

If any specific logs will help, I will get that. I have removed rtmp from all config options. Despite that, it ends up looking into rtmp.

@shaktidhar
Copy link
Contributor Author

@sharonadar I did everything you noted. And of course, it helped too.
End of the day, it turned out that I was trying to play the source file and had unselected all transcoding flavors.
This resulted in the system returning no flavors to play at all.
I am not sure if this by design since the source should be playable as well, just like any of the flavors.
All videos I was working with are web ready.

@AquileaSFX
Copy link
Contributor

Hello,

I'm so sorry to post this in here,
I'm trying to create the delivery profile, but it fails
when using the testme console I get a "SERVICE_FORBIDDENThe access to service [deliveryProfile->add] is forbidden"

and when using the php library I get a "Fatal error: Class 'KalturaDeliveryProfile' not found"

Im using v9.17.0

I'm trying to test the remote storage delivery
Any help please?

Thank you,


UPDATE:
ok now I get that I have to use partner id -2 which is main admin
but, i don't know where to get the ks for this account,


UPDATE:
ok I got the ks somehow, and manually change the partner ID in the database
but I still dont see the profile in the dropdown menu.

@shaktidhar
Copy link
Contributor Author

Any luck yet?
Delivery profile will need to be specified by the json code for the same, something on the lines of : "http":[505]} ...
You will see the remote storage options in the drop down though if correct permissions are set. I suggest going through the Admin manual, it saves a lot of time and energy.

@AquileaSFX
Copy link
Contributor

Hello,

Thank you for your answer,
yes I did that, but drop menu wont update,
actually if I do that I can deliver my remote content
using the "http progressive" option in the menu

but I thought each delivery profile will have its own title on the menu.

@jessp01
Copy link

jessp01 commented Aug 14, 2014

For others that may end up here, there is not a script to configure delivery and storage profiles for you. See here:
kaltura/platform-install-packages#206 (comment)

If not using the official RPM install, you can download the code from here and run indep:

https://github.com/kaltura/platform-install-packages/blob/IX-9.19.0/RPM/scripts/postinst/create_remote_storage.php

@jessp01 jessp01 closed this as completed Aug 14, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

5 participants