是否可以使用 ffmpeg 读取 php 中的 mp3 id3 标签?如果是这样,那又如何呢?
is it possible to read mp3 id3 tags in php using ffmpeg? if so then how?
您好,我的服务器中有一些不断变化的 mp3 文件,我需要 mp3 id3 标签,以便人们最好通过 php 了解目前正在播放的歌曲。我对此完全是菜鸟,所以任何帮助都是有帮助的。
虽然有多种可能性,但我一直是使用管道的粉丝。
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>";
?>
输出:
{
"programs": [
],
"streams": [
{
"codec_name": "mp3"
}
],
"format": {
"filename": "test.mp3",
"nb_streams": 1,
"nb_programs": 0,
"format_name": "mp3",
"format_long_name": "MP2/3 (MPEG audio layer 2/3)",
"start_time": "0.000000",
"duration": "303.755813",
"size": "9721021",
"bit_rate": "256021",
"probe_score": 51,
"tags": {
"title": "Pictures Of Home",
"artist": "Deep Purple",
"album": "Machine Head",
"date": "1972",
"track": "3",
"genre": "Rock"
}
}
}
使用json_decode将其转换为关联数组。
您好,我的服务器中有一些不断变化的 mp3 文件,我需要 mp3 id3 标签,以便人们最好通过 php 了解目前正在播放的歌曲。我对此完全是菜鸟,所以任何帮助都是有帮助的。
虽然有多种可能性,但我一直是使用管道的粉丝。 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>";
?>
输出:
{ "programs": [ ], "streams": [ { "codec_name": "mp3" } ], "format": { "filename": "test.mp3", "nb_streams": 1, "nb_programs": 0, "format_name": "mp3", "format_long_name": "MP2/3 (MPEG audio layer 2/3)", "start_time": "0.000000", "duration": "303.755813", "size": "9721021", "bit_rate": "256021", "probe_score": 51, "tags": { "title": "Pictures Of Home", "artist": "Deep Purple", "album": "Machine Head", "date": "1972", "track": "3", "genre": "Rock" } } }
使用json_decode将其转换为关联数组。