📜  getID3() 的 laravel 包 - PHP (1)

📅  最后修改于: 2023-12-03 15:30:53.942000             🧑  作者: Mango

getID3()的Laravel包 - PHP

简介

getID3()是一个流行的PHP库,用于从音频和视频文件中提取详细的元数据信息。这个Laravel包提供了一个封装类,以便您可以轻松地将其集成到Laravel应用程序中。

该包提供了一个易于使用的接口,让您可以轻松地获取任何媒体文件的详细元数据信息,包括文件大小、分辨率、比特率、帧率、声道数等等。它还提供了一些有用的功能,例如自动转换编码格式和计算持续时间。

安装

你可以使用Composer来安装getID3() Laravel包。只需运行以下命令:

composer require mauricesvay/getid3-laravel
用法

要使用getID3(),您需要实例化它并将文件路径传递给它。例如,以下代码将获取一个名为example.mp3的文件的详细元数据信息:

use MauriceSvay\GetId3\GetId3;

$id3 = new GetId3;
$fileInfo = $id3->analyze('path/to/example.mp3');

echo $fileInfo['playtime_seconds'];
功能
获取文件信息

analyze($filename)方法接受一个文件路径作为输入,返回包含所有文件详细元数据信息的数组。以下是一些可能的返回值:

array(23) {
  ["filesize"]=> int(45811)
  ["mime_type"]=> string(10) "audio/mpeg"
  ["audio_dataformat"]=> string(2) "mp3"
  ["audio_bitrate"]=> int(128000)
  ["audio_codec"]=> string(14) "MPEG 1 Layer 3"
  ["audio_sample_rate"]=> int(44100)
  ["audio_channels"]=> int(2)
  ["audio_channelmode"]=> string(2) "st"
  ["audio_length"]=> float(10.362666666667)
  ["video_bitrate"]=> int(0)
  ["resolution_y"]=> int(0)
  ["resolution_x"]=> int(0)
  ["filesize_human_readable"]=> string(4) "44.7"
  ["playtime_string"]=> string(4) "0:10"
  ["playtime_seconds"]=> int(10)
  ["bitrate_mode"]=> string(4) "cbr"
  ["playtime_seconds_string"]=> string(2) "10"
  ["playtime_string_short"]=> string(4) "0:10"
  ["duration"]=> float(10.362666666667)
  ["bitrate"]=> float(128)
  ["bits_per_sample"]=> int(0)
  ["encoder_options"]=> string(0) ""
}
自动转换编码格式

有时,您需要将媒体文件转换为不同的编码格式。getID3() Laravel包通过包含FFmpeg可以自动执行此操作。

$converter = $id3->getConverter();

$converter->input('path/to/example.mp3')
    ->output('path/to/example.ogg')
    ->convert();
计算持续时间

要计算媒体文件的持续时间,只需访问文件元素数组的audio_length键。

$fileInfo = $id3->analyze('path/to/example.mp3');
$duration = $fileInfo['audio_length'];
结论

getID3()的Laravel包是一个非常强大和易于使用的工具,使您可以轻松地从音频和视频文件中提取详细的元数据信息。它提供了许多有用的功能,例如自动转换编码格式和计算持续时间。我们强烈建议将此Laravel包集成到您的应用程序中,以便您可以快速获得所需的媒体文件信息。