quasarstream / shaka-php

🎞 Shaka PHP is a library that uses Shaka Packager for DASH and HLS packaging and encryption, supporting Common Encryption for Widevine and other DRM Systems.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Problem with the SSL CA cert (path? access rights?).

raghavsatyadev opened this issue · comments

Command :
packager 'in=/home/studygurueducati/public_html/sgadmin/public/uploads/lessons/2_1566303201.mp4,stream=audio,init_segment=/home/studygurueducati/public_html/sgadmin/public/output/2_1566303201/audio/init.mp4,segment_template=/home/studygurueducati/public_html/sgadmin/public/output/2_1566303201/audio/$Number$.m4s' 'in=/home/studygurueducati/public_html/sgadmin/public/uploads/lessons/2_1566303201.mp4,stream=video,init_segment=/home/studygurueducati/public_html/sgadmin/public/output/2_1566303201/video/init.mp4,segment_template=/home/studygurueducati/public_html/sgadmin/public/output/2_1566303201/video/$Number$.m4s' '--enable_widevine_encryption' '--key_server_url' 'https://license.uat.widevine.com/cenc/getcontentkey/widevine_test' '--content_id' '7465737420636f6e74656e74206964' '--signer' 'widevine_test' '--aes_signing_key' '1ae8ccd0e7985cc0b6203a55855a1034afc252980e970ca90e5202689f947ab9' '--aes_signing_iv' 'd58ce954203b7c9a9a9d467f59839249' '--mpd_output' '/home/studygurueducati/public_html/sgadmin/public/output/2_1566303201/output.mpd'

Error :
0820/083216:ERROR:http_key_fetcher.cc(225)] curl_easy_perform() failed: Problem with the SSL CA cert (path? access rights?).
[0820/083216:ERROR:packager_util.cc(107)] Widevine encryption key source failed to fetch keys: 7 (HTTP_FAILURE): curl_easy_perform() failed: Problem with the SSL CA cert (path? access rights?).
[0820/083216:ERROR:packager_main.cc(518)] Failed to initialize packager: 3 (INVALID_ARGUMENT): Failed to create key source.

Code :

        $stream1 = Stream::input($input_path)
                ->streamSelector('audio')
                ->initSegment($output_path . '/audio/init.mp4')
                ->segmentTemplate($output_path . '/audio/$Number$.m4s');

        $stream2 = Stream::input($input_path)
                ->streamSelector('video')
                ->initSegment($output_path . '/video/init.mp4')
                ->segmentTemplate($output_path . '/video/$Number$.m4s');

   
        $export = Shaka::initialize()
                ->streams($stream1, $stream2)
                ->mediaPackaging()
                ->DRM('widevine', function ($options) {
                    return $options->keyServerUrl('https://license.uat.widevine.com/cenc/getcontentkey/widevine_test')
                            ->contentId('7465737420636f6e74656e74206964')
                            ->signer('widevine_test')
                            ->aesSigningKey('1ae8ccd0e7985cc0b6203a55855a1034afc252980e970ca90e5202689f947ab9')
                            ->aesSigningIv('d58ce954203b7c9a9a9d467f59839249');
                })
                ->DASH($output_path . '/output.mpd')
                ->export();

Read the Widevine document found here. This has been asked already. see #4