You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

73 lines
2.0 KiB

<?php
namespace App\Console\Commands;
use App\Jobs\BilibiliEncode;
use App\Services\FfmpegService;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\Redis;
class FfmpegCommand extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'ffmpeg:process {path} {preset} {needDeleteAfterEncode=0} {needDeleteExistFiles=0}';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Command description';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
//
// for ($i = 0; $i < 100; $i++) {
// BilibiliEncode::dispatch($i . "_bbbbbb")->allOnConnection('redis');
// }
date_default_timezone_set('PRC');
$path = $this->argument("path");
$preset = $this->argument("preset");
$service = new FfmpegService();
// dump($service->getMeta("/Users/shixuesen/Documents/otherSync/录制-3567937-20231217-230057-920-【多机位舞见】就知道你是懂艺术的有缘人.mp4", "compatible_brands"));
// exit;
// $service->setRedis("cache_lpt1");
$needDeleteAfterEncode = $this->argument("needDeleteAfterEncode");
if (trim($needDeleteAfterEncode) == "1") {
$service->setNeedRemoveAfterEncode(true);
}
$needDeleteExistFiles = $this->argument("needDeleteExistFiles");
if (trim($needDeleteExistFiles) == "1") {
$service->setNeedRemoveExistFiles(true);
}
$service->setPreset(trim($preset));
while (1) {
$service->processDir(trim($path));
if (Redis::connection()->get("stopFlag") != null) {
break;
}
sleep(100);
}
exit;
}
}