CloudFront S3 Integrate into Kaltura

Hi all,

I know this topic has been discussed a couple of times. I have read them all and still got stucked so I hope someone can help me with this.

My problem:
- I cannot get the player to play my video through CloudFront which Kaltura uploads to S3 successfully. My best guess is my set up of delivery profile is not correct. I dont get multiple delivery profiles if I need to set up Specific Publisher Delivery Profile

In general:

  • Set up S3 public: Done. I can upload and play S3 files anonymously
  • Set up CloudFront: Done. I can access to S3 files through CloudFront anonymously
  • Set up Remote Storage Profie: Done. My files appear in S3
  • Set up Nginx VOD Conf: done
    - Set up delivery profile: ISSUE
  • Everything is in HTTP: done

In terms of troubleshooting:
1. different delivery profiles.
I was not sure what needs to be here. My url when playing is BASE_SERVER_URL/p/102/sp/10200/playManifest/entryId/…/format/applehttp/protocol/https/. I have tried multiple profiles, and each has a different issue

2. Kaltlog errors: It seems to see the delivery profile
/opt/kaltura/log/kaltura_prod.log:2021-07-18 10:59:50 [0.001189] [60.241.95.138] [597510523] [58] [PS2] [KExternalErrors::dieError] ERR: Exception: exiting on error 11 - processing capture thumbnail in /opt/kaltura/app/infra/log/KalturaLog.php:88

3. Mysql delivery profile

4. Networking tab to see what happens (Delivery profile with Type: Apple_HTTP and Streamer Type: Apple_HTTP
Request URL:
SERVER_URL/p/102/sp/10200/playManifest/entryId/0_spslyh5a/flavorIds/0_zxdm0yr0,0_r6rv7frx,0_ygsdncew,0_hh17zs82,0_3bpbttaq/format/applehttp/protocol/https/a.m3u8

Response:

1. jQuery1111047502538664199134_1626608993093({entryId: "0_spslyh5a", duration: 30, baseUrl: "",…})

  1. baseUrl: ""
  2. duration: 30
  3. entryId: "0_spslyh5a"
  4. flavors: [{url: "CF.cloudfront.net/content/entry/data/0/0/0_spslyh5a_0_zxdm0yr0_2.mp4",…},…]

    1. 0: {url: "CF.cloudfront.net/content/entry/data/0/0/0_spslyh5a_0_zxdm0yr0_2.mp4",…}
    2. 1: {url: "CF.cloudfront.net/content/entry/data/0/0/0_spslyh5a_0_ygsdncew_2.mp4",…}

Request Again
Response:

#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=190985,RESOLUTION=640x360
CF.cloudfront.net/content/entry/data/0/0/0_spslyh5a_0_zxdm0yr0_2.mp4
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=249576,RESOLUTION=960x540
CF.cloudfront.net/content/entry/data/0/0/0_spslyh5a_0_ygsdncew_2.mp4

Request URL:
CF.cloudfront.net/content/entry/data/0/0/0_spslyh5a_0_zxdm0yr0_2.mp4
5. Nginx conf
I have followed the instruction here: https://github.com/kaltura/platform-install-packages/blob/Propus-16.14.0/doc/kaltura_s3_cf_integration.md

Hello @vodkhang ,

Please provide the following:

  • The exact CE version and distro used
  • A sample embed we can look at to see the full requests the player makes and the responses.
  • The output for:
mysql> select * from delivery_profile where id=$YOUR_ID

Please confirm the delivery profile used is indeed the one you think it is (you can find it in /opt/kaltura/log/kaltura_prod.log, be sure to increase log verbosity to 7 in /opt/kaltura/app/configurations/logger.ini and reload Apache after doing so).

  • The relevant Nginx configuration (as described in the doc you referenced)
  • The logs from Nginx

Once we have that, we can continue with the troubleshooting process.

Thanks,

Thank @jess . I am using this Propus-16.15.0 for Ubuntu 16.04 platform-install-packages/install-kaltura-xenial.md at Propus-16.15.0 · kaltura/platform-install-packages · GitHub

I have a trouble understanding the delivery profile that I need to use.

My url when playing is BASE_SERVER_URL/p/102/sp/10200/playManifest/entryId/…/format/applehttp/protocol/https/.

Does this means I should create a delivery profile with Type=HTTP and Streamer Type=APPLE_HTTP.

For HLS, streamer_type should be applehttp.
Use profile ID 1001 as reference.