Создать миниатюру видео в laravel 5.5 - PullRequest
0 голосов
/ 29 июня 2018

Я работаю в проекте в Laravel и я хочу создать миниатюру при загрузке видео

Я слежу за этим артистическим

https://packagist.org/packages/pawlox/video-thumbnail

pawlox / видео-миниатюр

когда я это называю

 $thumb = VideoThumbnail::createThumbnail(asset('public/stories/videos/21530251287.mp4'), asset("public/images/"), 'thumb.jpg', 2, 600, 600);

его возвращение

Pawlox\VideoThumbnail\VideoThumbnail Object(
[FFMpeg:protected] => 
[videoObject:protected] => 
[videoURL:protected] => http://localhost/sunbay/yms/public/stories/2/videos/21530251287.mp4
[storageURL:protected] => http://localhost/sunbay/yms/public/images
[thumbName:protected] => thumb.jpg
[fullFile:protected] => http://localhost/sunbay/yms/public/images/thumb.jpg
[height:protected] => 600
[width:protected] => 600
[screenShotTime:protected] => 2 )

но большой палец не генерируется.

Пожалуйста, дайте мне знать, что я делаю неправильно. и как это решить.

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 08 июля 2019

Мне кажется, проблема в том, что миниатюра не сохраняется. Он действительно создан, но не сохранен. Если вы отметите /var/www/html/theevent/vendor/pawlox/video-thumbnail/src/VideoThumbnail.php, то увидите этот метод.

 public function createThumbnail($videoUrl, $storageUrl, $fileName, $second, $width = 640, $height = 480) {
        $this->videoURL = $videoUrl;

        $this->storageURL = $storageUrl;
        $this->thumbName = $fileName;
        $this->fullFile = "{$this->storageURL}/{$this->thumbName}";

        $this->screenShotTime = $second;

        $this->width = $width;
        $this->height = $height;

        try {
            $this->create();
            $this->thumbnail();
            $this->resizeCropImage($this->width, $this->height, $this->fullFile, $this->fullFile);
        } catch (Exception $e) {
            Log::error($e->getMessage());
        }

        return $this;
    }



so u need to fix the file path by creating d folder for the file to be saved 

here my working code 

      $thumbnail_path=storage_path().'/app/public/thumbs';
                $file = $request->file('video');
               $thumbvideoPath  = storage_path('/app/public/videos/').$videoName;
                      $video_path       = $destination_path.'/'.$file_name;
                      $thumbnail_image  = $videoName.".jpg";

$thumbnail_status = VideoThumbnail::createThumbnail($thumbvideoPath,$thumbnail_path,$thumbnail_image, 10);

//dd($thumbnail_status);
   if($thumbnail_status)
   {
     echo "Thumbnail generated            ";
   }
   else
   {
     echo "thumbnail generation has failed";
   }
0 голосов
/ 29 июня 2018

asset генерирует URL, вам нужен путь к файлу, попробуйте:

$thumb = VideoThumbnail::createThumbnail(public_path('stories/videos/21530251287.mp4'), public_path("images/"), 'thumb.jpg', 2, 600, 600);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...