0

Мне нужно найти способ заставить ffmpeg начать запись снова после истечения срока действия, поэтому я могу разбить файлы на более управляемые куски. К сожалению, единственная функция, которую я нашел, - это возможность ограничить количество времени, которое он записывает до завершения, и ничего о том, как заставить его продолжать запись в следующий файл после этого. является ли это функцией?Как мне заставить FFMPEG делать несколько записей?

for(i = 0; i < streamsRepository.streams.length; i++) { 
    var obj = streamsRepository.streams[i]; 
    findTheRightSave(); 
    console.log('Channel '+obj.key+' is Recording'); 

    fmpeg(obj.url) 
    .duration('1:00') 
    .format('mp3') 
     .on('error', function(err, stdout, stderr) { 
     console.error(err); 
     console.error(stdout); 
     console.error(stderr) 
     }) 

     .save('/home/spencer/recorder/audio/'+obj.key+'/Recording-'+numRecordings+'.mp3'); 
     numRecordings=1; 
} 
+0

есть ли «готовое» событие, когда ffmpeg заканчивается? –

+0

Вы имеете в виду ('end',)? Как я могу получить ffmpeg, называемый рекурсивно? – David

+0

может быть «end», «done», «complete», какое-то событие, которое срабатывает, когда ffmpeg заканчивается ... actaully, я просто понял, что не поможет с тем, как вы это делаете (я предполагаю node.js с некоторая библиотека ffmpeg?) –

ответ

0

нас следующая pparameters к FFmpeg (не знает, как вы можете сделать это с беглой-FFmpeg)

-f segment -reset_timestamps 1 -segment_time 60 outputfile_%d.mp3 

Я не знаю, что значит, любые из этих параметров, но это начало

здесь испытывался этого нужно просто

ffmpeg -i "Sovereign Quarter.mp3" -f segment -reset_timestamps 1 -segment_time 60 sq%d.mp3 

и получил 4 х 1 минуту файлов и 1 х 51 второго файл - оригинальный файл русификатор го было 4:51, так что, похоже, был способ, которым ffmpeg мог это сделать в конце концов - хотя

Надеюсь, вам удастся выяснить, как добавить эти опции в fluent-ffmpeg, чем я. Вот почему я прекратил использовать fluent-ffmpeg, я никогда не мог понять, как добавить произвольные (действительные) параметры к процессу

+0

Итак, подождите, это означает, что мне нужно будет что-то ввести в файл stdout, например icescast, вместо того, чтобы просто установить файл для вывода как я это делал? Похоже, было бы более простое решение, чем это ... – David

+0

Я проверил, но ничего не могу найти. Я предполагаю, что есть способ сделать это. – David

+0

проверить отредактированный ответ –