请帮助我在此行中找到正确的语法和命令,以获取指定行和列的一些元数据:
shell_exec('ffmpeg -i ' . $targetPath . -metadata album={echo $row_release['release_title'];} ' -b:a 320k '. $mp3);
我很困惑,尤其是这部分
-metadata album={echo $row_release['release_title'];} ' -b:a
echo和括号是否正常,因为它不执行它。
谢谢各位!
删除"echo"并尝试以下操作:
shell_exec('ffmpeg -i ' . $targetPath . ' -metadata album="' . $row_release['release_title'] . '" -b:a 320k ' . $mp3);
另一个问题可能是ffmpeg
的某些版本不支持MP3作为编码器/输出格式。在这种情况下,您必须使用另一种格式。使用-acodec
选项指定此新格式。可以使用ffmpeg -codecs
检索有效格式的列表。所有带有E
的条目都是有效的编码器。
因此,例如,您可以使用MPEG1/Layer2(MP2):
shell_exec('ffmpeg -i ' . $targetPath . ' -metadata album="' . $row_release['release_title'] . '" -acodec mp2 -b:a 320k ' . $mp3);
这将设置"相册"元数据,并将文件转换为MP2。
当然,如果支持的话,MP3也是如此。