ffmpeg, потоковое аудио с сервера через ssh и сохранение в файл вместе

Мне нужно потоковое аудио с сервера и сохранение в файл за один раз.

Я пробовал это.

ssh -p 22 SERVER "ffmpeg -f pulse -i default -b:a 32k -f avi -" | mpv - &>/dev/null 1> file.mp3

Но он запускает поток и сохраняет только информацию из mpv, а не вывод потока.

Как я могу это сделать?

Спасибо.

0
задан 3 August 2021 в 00:20

1 ответ

- запись потока

Использование - запись потока в mpv :

 ssh -p 22 SERVER "ffmpeg -f pulse -i default -b:a 32k -f mp3 -" | mpv --stream-record=output.mp3 -

Из документации :

Есть некоторые сбои с этим, потому что он использует FFmpeg libavformat для записи выходного файла. Например, обычно работает только в том случае, если выходной формат совпадает с входным. Этот имеет место, даже если он работает с инструментом ffmpeg. Одна из причин этого заключается в том, что ffmpeg и его библиотеки содержат определенные приемы и обходные пути для этих проблем, которые недоступны для внешних пользователей.

tee muxer

Или tee muxer :

 ssh -p 22 SERVER "ffmpeg -f pulse -i default -b:a 32k -f mp3 -" | ffmpeg -y -i - -map 0 -c copy -f tee "output.mp3|[f=mp3]pipe:" | mpv pipe:

Менее удобно, но, возможно, более надежно и гибко, чем использование - stream-record .

Я не тестировал эти команды.

1
ответ дан 20 August 2021 в 10:30

Другие вопросы по тегам:

Похожие вопросы: