这个shell_exec()案例中的正确语法和命令是什么?

时间:2016-05-10 23:11:59

标签: php ffmpeg shell-exec

请帮我在此行中找到正确的语法和命令,以获取指定行和列的某些元数据:

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 括号是否正常,因为它不会执行它。

感谢男生和女生们!

1 个答案:

答案 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,如果支持的话。

相关问题