请帮我在此行中找到正确的语法和命令,以获取指定行和列的某些元数据:
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 和括号是否正常,因为它不会执行它。
感谢男生和女生们!
答案 0 :(得分:0)
删除'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,如果支持的话。