正文

php结合getid3读取音频信息

getid3  php  audio  video 

[前言]

getID3 是一个 PHP 库,用于获取音频、视频等媒体文件的相关信息,包括文件格式、时长、比特率、采样率、编码等

[过程]

1、首先从github克隆getid3的软件包

git clone https://github.com/JamesHeinrich/getID3.git

2、克隆下来,软件目录如下,已包含demos文件夹,有一些示例

3、用编辑器打开/getID3/demos/demo.simple.php文件,核心代码如下

require_once('../getid3/getid3.php');

$getID3 = new getID3;

$DirectoryToScan = '/opt/homebrew/var/www/getID3/audio';
$dir = opendir($DirectoryToScan);

while (($file = readdir($dir)) !== false) {
	$FullFileName = realpath($DirectoryToScan.'/'.$file);
	if ((substr($file, 0, 1) != '.') && is_file($FullFileName)) {
		set_time_limit(30);

		$ThisFileInfo = $getID3->analyze($FullFileName);

		$getID3->CopyTagsToComments($ThisFileInfo);

		print_r($ThisFileInfo);
	}
}

4、返回结果如下,截取部分数组

Array
(
    [GETID3_VERSION] => 1.9.22-202308100852
    [filesize] => 2093241
    [filepath] => /opt/homebrew/var/www/getID3/audio
    [filename] => bgm.m4a
    [filenamepath] => /opt/homebrew/var/www/getID3/audio/bgm.m4a
    [avdataoffset] => 30424
    [avdataend] => 2093241
    [fileformat] => mp4
    [audio] => Array
        (
            [dataformat] => mp4
            [bitrate] => 96038
            [codec] => ISO/IEC 14496-3 AAC
            [sample_rate] => 44100
            [channels] => 2
            [bits_per_sample] => 16
            [lossless] => 
            [channelmode] => stereo
            [compression_ratio] => 0.068054138321995
            [streams] => Array
                (
                    [0] => Array
                        (
                            [dataformat] => mp4
                            [bitrate] => 96038
                            [codec] => ISO/IEC 14496-3 AAC
                            [sample_rate] => 44100
                            [channels] => 2
                            [bits_per_sample] => 16
                            [lossless] => 
                            [channelmode] => stereo
                            [compression_ratio] => 0.068054138321995
                        )

                )

        )

5、不难看出,getid3返回了该音频绝大部分信息,如编码、时长等,视频方法类似

[相关]

评论
上海市嘉定区 电信ADSL
23/08/19

读取视频信息和音频集成方法类似


留言