2016-01-24 3 views
0

Я работаю над php-скриптом, который будет смешивать два аудиофайла с одним файлом ffmpeg amix feature и $. Он настроен на автоматическую отделку длительности конечного выхода до первой длительности входных сигналов. (Как видно с длительностью = первый)с использованием PHP shell_exec и ffmpeg для объединения двух аудиофайлов

Когда я запускаю этот скрипт, не создавая 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 в mp3, и он отлично работает. Я также видел sox can do this as well with -m, который я установил и попробовал, по какой-то причине он не экспортирует mixest.mp3.

ответ

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'); 
Смежные вопросы