フリーランス 技術調査ブログ

フリーランス/エンジニア Ruby Python Nodejs Vuejs React Dockerなどの調査技術調査の備忘録

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