我正在开发一个php脚本,它将使用ffmpeg' s amix feature和$ variables将两个音频文件合并为一个。它被设置为自动将最终输出的持续时间调整为第一个输入持续时间。 (如持续时间=第一次所见)
当我运行此脚本时,它不会创建mixtest.mp3
mix.php:
<?php
$input1 = 'original.mp3'; // Original Track
$input2 = 'tagoverlay.mp3'; // Audio Tag Overlay
$output = 'mixtest.mp3';
shell_exec('ffmpeg -i ' . $input1 . ' -i ' . $input2 . ' -filter_complex amix=inputs=2:duration=first:dropout_transition=3 ' . $output . '');
echo 'Done';
?>
我已经在服务器上使用ffmpeg将wav&#39; s转换为mp3,效果很好。我也见过sox can do this as well with -m,我已经安装并尝试过,因为某些原因它没有导出mixtest.mp3。
答案 0 :(得分:0)
在搞乱并切换变量后,我得到了它的工作,它可能是文件权限问题,我也摆脱了dropout_transition,according to ffmpeg documentation它默认为2:
$file_path = 'beats/' . $timecode . '.' . $file_extn;
$overlay = 'beats/tagoverlay.mp3';
shell_exec('ffmpeg -i ' . $file_path . ' -i ' . $overlay . ' -filter_complex amix=inputs=2:duration=first beats/' . $timecode . 'tagged.mp3');