kopia lustrzana https://github.com/pixelfed/pixelfed
				
				
				
			Add Video jobs
							rodzic
							
								
									836030c527
								
							
						
					
					
						commit
						7c85a6178c
					
				|  | @ -0,0 +1,34 @@ | |||
| <?php | ||||
| 
 | ||||
| namespace App\Jobs\VideoPipeline; | ||||
| 
 | ||||
| use Illuminate\Bus\Queueable; | ||||
| use Illuminate\Queue\SerializesModels; | ||||
| use Illuminate\Queue\InteractsWithQueue; | ||||
| use Illuminate\Contracts\Queue\ShouldQueue; | ||||
| use Illuminate\Foundation\Bus\Dispatchable; | ||||
| 
 | ||||
| class VideoPostProcess implements ShouldQueue | ||||
| { | ||||
|     use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; | ||||
| 
 | ||||
|     /** | ||||
|      * Create a new job instance. | ||||
|      * | ||||
|      * @return void | ||||
|      */ | ||||
|     public function __construct() | ||||
|     { | ||||
|         //
 | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * Execute the job. | ||||
|      * | ||||
|      * @return void | ||||
|      */ | ||||
|     public function handle() | ||||
|     { | ||||
|         //
 | ||||
|     } | ||||
| } | ||||
|  | @ -0,0 +1,62 @@ | |||
| <?php | ||||
| 
 | ||||
| namespace App\Jobs\VideoPipeline; | ||||
| 
 | ||||
| use Illuminate\Bus\Queueable; | ||||
| use Illuminate\Queue\SerializesModels; | ||||
| use Illuminate\Queue\InteractsWithQueue; | ||||
| use Illuminate\Contracts\Queue\ShouldQueue; | ||||
| use Illuminate\Foundation\Bus\Dispatchable; | ||||
| use FFMpeg; | ||||
| use App\Media; | ||||
| 
 | ||||
| class VideoThumbnail implements ShouldQueue | ||||
| { | ||||
|     use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; | ||||
| 
 | ||||
|     protected $media; | ||||
| 
 | ||||
|     /** | ||||
|      * Create a new job instance. | ||||
|      * | ||||
|      * @return void | ||||
|      */ | ||||
|     public function __construct(Media $media) | ||||
|     { | ||||
|         $this->media = $media; | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * Execute the job. | ||||
|      * | ||||
|      * @return void | ||||
|      */ | ||||
|     public function handle() | ||||
|     { | ||||
|         $media = $this->media; | ||||
|         $base = $media->media_path; | ||||
|         $path = explode('/', $base); | ||||
|         $name = last($path); | ||||
|         try { | ||||
|             $t = explode('.', $name); | ||||
|             $t = $t[0].'_thumb.png'; | ||||
|             $i = count($path) - 1; | ||||
|             $path[$i] = $t; | ||||
|             $save = implode('/', $path); | ||||
|             $video = FFMpeg::open($base); | ||||
|             if($video->getDurationInSeconds() < 1) { | ||||
|                 $video->getFrameFromSeconds(1); | ||||
|             } elseif($video->getDurationInSeconds() < 5) | ||||
|                 $video->getFrameFromSeconds(4); | ||||
|             } | ||||
|                 $video->export() | ||||
|                 ->save($save); | ||||
| 
 | ||||
|             $media->thumbnail_path = $save; | ||||
|             $media->save(); | ||||
| 
 | ||||
|         } catch (Exception $e) { | ||||
|              | ||||
|         } | ||||
|     } | ||||
| } | ||||
		Ładowanie…
	
		Reference in New Issue
	
	 Daniel Supernault
						Daniel Supernault