PHP プログラミング

【PHP Laravel 10】.MP4/.MOVファイルの撮影日時をlaravel-getid3で取得した話。

コトの発端

ファイルの作成日時や更新日時が撮影日時と異なる場合があった。

ファイルの作成日時や更新日時ではなく、メディアの作成日時(おそらくタグデータまたはメタデータ)を取得したいと考えた。

作成日時、更新日時、メディアの作成日時がそれぞれ違うパターン

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なのでそれっぽい数値が返されていることがわかる。

いつもの

記事の内容は無保証です。

  • この記事を書いた人
あっきー

あっきー

とある企業の研究者。研究分野以外に手を出しすぎて毎日が慌ただしい。 研究者の肩書きが正しいかどうかは万年の謎。 得意ジャンルはデータベースとセキュリティーですが、AIやIoT、アプリ開発など、手広く活動しています。

-PHP, プログラミング
-,

Translate »