LaravelのJob / PHPでMP4の動画再生時間を取得する
MP4の動画再生時間を取得する
インストール
composer require james-heinrich/getid3
サンプルコード
use getID3;
// 再生時間を取得し秒数からH:i:s形式にして変換する
public function getMp4Duration($filePath)
{
$getID3 = new getID3;
$file = $getID3->analyze($filePath);
$duration = $file['playtime_seconds'];
$result = Carbon::parse($duration)->format('H:i:s');
return $result;
}
````
# LaravelのJobのいろいろ
- ジョブのタイムアウトはデフォルトは300秒なので、1時間にする
class HogehogeJob implements ShouldQueue { use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
public $timeout = 3600; // 1 hour
- ジョブはキャッシュが残るので、キャッシュをクリアしながら開発しないといけない。
php artisan queue:restart php artisan queue:work
## supervisor - `php artisan queue`のコマンドを実行するのは大変なので、下記のsupervisorを利用して解消できる
sudo yum install supervisor