5G Video Streaming Tutorial

  • Create Account
    1. Sign up for an account: http://developer.dev-alefedge.com/login?returnUrl=%2F
    2. Receive email and valid email
    3. Receive API key email
      1. Take note of api key. We will need this as the header in API calls (see demo app)
    4. Testing notes:
        1. Can only choose from 3 area codes. (+1, +55, +91)
        2. Upload picture mandatory
        3. Confirm Email:  (username@example.com)
          1. Confirm password gives no indication of structure (length, special characters etc).
          2. Remove captcha. You already asked me that
        4. API  Key Email:
          1. Broken pages
          2. Profile
          3. Analytics page
          4. Pricing
          5. Logs & Debug
  • Add 2 video enablement subscription services and add content
    1. New Employee Training
      1. Give it a name “Employee” (You have to put it in the username field) 
      2. Take note of Customer name field. This is the value you need for the partner_name API param (see demo app below)
      3. Add 1..n videos via API

 

curl -i --request POST 'http://api.dev-alefedge.com/api/v1/stream-tech/content/add?partner_name=CUSTOMER-NAME-FROM-SERVIVE' --header 'api_key: FROM-EMAIL' --header 'Content-Type: application/json' --data-raw '{ "urlList": [ { "url": "https://d29ctshu25jfop.cloudfront.net/aa/myencoding.m3u8", "content_access": "public", "publish_access": "public", "partner_cloud_url": "https://d29ctshu25jfop.cloudfront.net/aa/myencoding.m3u8" } ] }'
    1. New Manager Training
      1. Give it a name “Manager” (You have to put it in the username field) 
      2. Take note of Customer name field. This is the value you need for the partner_name API param (see demo app below)
      3. Add 1…n videos via API

 

curl -i --request POST 'http://api.dev-alefedge.com/api/v1/stream-tech/content/add?partner_name=CUSTOMER-NAME-FROM-SERVIVE' --header 'api_key: FROM-EMAIL' --header 'Content-Type: application/json' --data-raw '{ "urlList": [ { "url": "https://d29ctshu25jfop.cloudfront.net/aa/myencoding.m3u8", "content_access": "public", "publish_access": "public", "partner_cloud_url": "https://d29ctshu25jfop.cloudfront.net/aa/myencoding.m3u8" } ] }'
    1. Testing Notes:
      1. Add Location talks about pricing vs. “best performance”
      2. After adding location, I get a page that says “Free Tier Purchase”
      3. After creating service. There is a key/field “company name” I am guessing this partner name in the API. Is this what uniquely identifies a subscription service? Should be called serviceid or something
      4. Why are things like whitelisted domain mandatory when setting up a service? Need better docs on what each field does. 
      5. After submitting successful, I am left on the page like it didnt work
      6. Once I have created the service, how to I go back to the screen with secret key etc? >> Oh, I have to click “Add Service”
      7. In list of services, there is no way to differentiate between services. They are all called Alef Video Enablement. It would be great if I could name them. Eg: “employees” “manager” etc.
      8. There appears to no way to return to a subscription service and edit any of it’s values (eg: I want to add another whitelisted domain)
  • Add to (ios) mobile app
    1. Download EdgeTubeTutorial.zip and extract locally. 
    2. Download Xcode 12-beta
    3. Open EdgeTubeTutorial.xcworkspace
    4. Click on ContentListView.swift and navigate to the fetchVideos func (approx line 61)
      1. Change Employee idForRole to the value from the Customer name field in step 2a.
      2. Change Manager idForRole to the value from the Customer name field in step 2b above.
      3. Change the api_key header value to the API key received from step 1c.
    5. Click run
      1. Note: I am using 2 third party libraries SwiftyJSON and Alamofire. These are installed via cocoapods. I have included them in the zip, but if you have issues, you may need to run ‘pod install’ from the command line in the home directory of the project (/EdgeTubeTutorial) 
    6.  Simulator will start. You will see a list of content for each role as a list.

    1. The name you see in the list (beh in the image above) is the autogenerated content name from EdgeNet. There is currently no way to specify your own name/description of a content item
    2. Click on a content item and the video will start playing. (Note: As of 2/28 @ 14:35 content serving  appears to not  be actually working from the platform (per note from Shubhada on 2/27 @ 4:26)

  • Check analytics in portal
    1. Subscriptions > Alef Video Enablement > Analytics
      1. Testing notes:
        1. Can’t verify. All analytics appear empty even after making API calls. 

Files:

5G Video Streaming Tutorial