コトの発端
ファイルの作成日時や更新日時が撮影日時と異なる場合があった。
ファイルの作成日時や更新日時ではなく、メディアの作成日時(おそらくタグデータまたはメタデータ)を取得したいと考えた。
作成日時、更新日時、メディアの作成日時がそれぞれ違うパターン
laravel-getid3によるタグデータの取得
Owen Jubilant氏のlaravel-getid3によってメディアの作成日時(≒撮影日時?)データの取得ができるようだった。
https://github.com/Owen-oj/laravel-getid3
使い方
composer
下記コマンドにてインストール
composer require owen-oj/laravel-getid3
作成日時の取得
適当なフォームで動画を送信して、下記のコードで表示させた。
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
//呼び出し
use Owenoj\LaravelGetId3\GetId3;
class SandboxController extends Controller
{
public function index()
{
return view('sandbox'); //DB単数形小文字
}
public function store(Request $request)
{
$track = new GetId3(request()->file('dat'));
//すべてのタグ情報を取得
$meta = $track->extractInfo();
//作成日時に関する情報をdd
dd($meta['quicktime']['timestamps_unix']['create']);
return view('sandbox'); //DB単数形小文字
}
}
実行結果
UNIXタイムスタンプ値で返されるようだ。moov mvhdの値がそれっぽい様子。
タイムスタンプ値の1632436383は、2021/09/24 07:33:03なのでそれっぽい数値が返されていることがわかる。
いつもの
記事の内容は無保証です。