是否可以使用 ffmpeg 在 php 中读取 mp3 id3 标签?如果是,那么如何?

Ass*_*ɖow 3 php id3 ffmpeg

嗨,我的服务器中有一些 mp3 文件,它们不断变化,我需要 mp3 id3 标签,以便人们知道目前正在播放的歌曲最好是通过 php。我是一个完全的菜鸟,所以任何帮助都是有帮助的。

小智 6

虽然有多种可能性,但我一直是使用管道的粉丝。ffprobe 应包含在 ffmpeg 中。

<?php
$output = shell_exec("ffprobe -print_format json -show_entries stream=codec_name:format -select_streams a:0 -v quiet test.mp3");
echo "<pre>$output</pre>";
?>
Run Code Online (Sandbox Code Playgroud)

输出:

    {
        “程式”: [

        ],
        “流”:[
            {
                “编解码器名称”:“mp3”
            }
        ],
        “格式”: {
            "文件名": "test.mp3",
            “nb_streams”:1,
            "nb_programs": 0,
            "format_name": "mp3",
            "format_long_name": "MP2/3 (MPEG 音频层 2/3)",
            “开始时间”:“0.000000”,
            “持续时间”:“303.755813”,
            "尺寸": "9721021",
            “比特率”:“256021”,
            “probe_score”:51,
            “标签”:{
                "title": "家的照片",
                “艺术家”:“深紫色”,
                "专辑": "机头",
                "日期": "1972",
                "轨道": "3",
                “流派”:“摇滚”
            }
        }
    }

使用 json_decode 将其转换为关联数组。