onQueue('general_video'); $this->video_id = $video_id; } /** * Execute the job. */ public function handle(): void { if ($this->batch()?->cancelled()) { return; } $video = Video::with('video_elements')->find($this->video_id); if (! $video) { return; } foreach ($video->video_elements as $video_element) { if (! is_empty($video_element->asset_uuid)) { continue; } // dump($video_element); // Media Details: Filename, extension and mimetype $media_details = MediaEngine::getFileDetailsbyUrl($video_element->original_asset_url); // Media Content: Blob $media_content = file_get_contents($video_element->original_asset_url); // Media Filename: generate a new filename $media_filename = $video_element->type.'_'.epoch_now_timestamp().'.'.$media_details->extension; $saved_media = MediaEngine::addMedia( MediaEngine::getCollectionKeyByOwnerMediaType('user', $video_element->type), $video_element->type, MediaEngine::USER_UPLOADED, MediaEngine::USER, $media_filename, $media_content, ); $video_element->asset_uuid = $saved_media->uuid; $video_element->asset_url = MediaEngine::getMediaCloudUrl($saved_media); $video_element->save(); } } }