Is there any way to obtain Persistent Stream Key trough graph api? I do see option 'Use a persistent stream key' on the configure stream page. But there is no parameter to set it by API. I'd like publish the stream when it's stopped but keep the same key for streaming. Looks like I have to create a new key every time but it's quite inconvenient.
Related
I'm fetching some data from an API and displaying it in a list. When that API update data, I want to reproduce a sound, how can I do that?
I tried to use Streams to implement that, but it wasn't successful.
I need to get the coordinates from the browser and get the address of those coordinates. For that I can use the Bing Maps Location api (https://dev.virtualearth.net/REST/v1/Locations/*long*,*lat*?c=fi&o=json&key=*myapikey*).
How secret should I keep this key?
When embedding Bing Maps you also need a key that would be seen in the browser. Not sure how that key compares to the Locations api.
Should I create a separate key for those calls?
Can I do the api calls from javascript which would expose the key?
The alternative being that the frontend does a backend call with the coordinates and the backend is calling the Maps api.
Generally speaking you should keep your key private as anyone who gets the key can make transactions which would be billed to you. In practice this has not been a huge issue and it's easy to block a key and get a new one if this occurs. If you want to be more secure, keeping the key server-side and routing your client calls through the server will protect it. You can also generate a session key from your API key on the server when the page is first rendered and send that to the client. A session key works like a normal key, but has a short expiration time, so there's no danger of it leaking and being used by someone else.
I do not know how I can solve the following doubt, I have a GET request from my API and of course, I would like to save the parameters obtained in the application and not have to make every time I browse each activity a new GET request, as it would overload the server by the over-requests requested. What is the correct way to keep this temporary data while using the app?
My idea is that as soon as the application loads, an Activity SPLASH is shown and this same SPLASH, performs the API request and from here the data is kept. How should the implementation be done?
I have integrated an existing streaming application with Facebook, but am facing a final hurdle. My software doesn't have an API to change the streaming key. So I use a Persistent Key for Youtube, and also for Facebook.
However, I want to automate the whole system and I cannot find how to use the Persistent Streaming Key (PSK) with Facebook icm the Graph API.
I schedule an event, but when I start streaming to the PSK the connection is rejected. It does work however if I go to the Facebook Page and open the Live Producer for the scheduled stream. Straight away the stream is accepted and seems to be connected to the stream originally assigned to the LiveVideo (or at least that is how is seems).
Is there a way to allow the PSK to be accepted without the manual intervention of opening the Live Producer page? I don't seem to be able to find anything.
Is there a way to allow the PSK to be accepted without the manual intervention of opening the Live Producer page?
Unfortunately, no.
Your automation really needs to tie into the rest of the Facebook Live API so that you can create/start streams. It isn't possible to use RTMP alone, even with the persistent stream key.
Recently, usage of PERSISTENT STREAMING KEYS has been enabled by Facebook. Here is the detail: https://www.facebook.com/formedia/blog/new-live-tools-for-publishers-persistent-stream-keys-crossposting-and-live-rewind
There is no documentation anywhere, but it looks the LiveVideo object's stream key can be updated to PERSISTENT STREAMING KEY via POST endpoint on LiveVideo object
checkout this link on Facebook developer - the return value of LiveVideo object has PERSISTENT STREAMING KEY -
https://developers.facebook.com/docs/graph-api/reference/live-video#Updating
Goal: Use a single streaming locator to several tracks of mp3s where the client can get one token with the streaming locator's claim and play each track during its lifetime.
I modified my output asset job process to use the List<string> files, but the job fails saying the input asset does not have a primary file.
Is my approach wrong, or is there a way to say track1.mp3 is the primary?
I am trying to configure a situation like this:
1 stream locator (1 claim required for access)
several tracks in that locator (1.mp3, 2.mp3, ... 50.mp3)
customer buys 1 sku, gets that stream locator's claim
This would be my expected approach. However, my fallback (and fear) is that AMS wants me to have a 1:1 with 1.mp3:streamlocator.contentkey.id and maintain that list in a backend, then use this sequence flow:
Client requests token from a lookup endpoint
Endpoint compares their ownership vs the requested 1.mp3
If they have access to the sku 1.mp3 belongs to in the backend, issue signed token with the the content key id associated from 1.mp3:streamlocator.contentkey.id
If they dont have access, 401 the token request back the client app to handle
Let's take a step back and modify the scenario a bit: suppose it is a (single bitrate or multi-bitrate) video with 3 audio streams. And you want a 1:1 mapping for streaming_locator : content_key_id : media_asset. With a token containing the right claims you can get the decryption key/license and play any of the 3 audio streams (with video) with a video player. This scenario is supported by AMS and I don't see any problem with this.
However, your scenario is MP3 (without video). My concern is whether there is a binding between MP3 and AES-128 encryption or any DRM, and using such binding in AMS dynamic packaging. Without such encryption, how do you enforce the protection or what is the purpose of token?