Как я транскодирую видеофайлы с ffmpeg путем передачи по каналу в и произвожу по ssh или sftp

У меня есть сервер с видеофайлами, которые я хочу транскодировать к x265 и иметь ssh/sftp доступ к нему. Но я не корень на своей машине транскодирования, поэтому не мог установить sshfs, таким образом, я решил передать файлы по каналу по ssh (я знаю проблемы производительности).

Вход работает с командой

ssh -p 1022 USER@SERVER cat input.mkv | ffmpeg -i - -c:v libx265 -preset slow -x265-params crf=21 -c:a copy output.mkv

Но мне не удалось сохранить выходной файл снова назад на сервере по ssh после этого ответа: https://superuser.com/questions/839955/piping-output-from-ffmpeg-avconv-over-ssh-to-a-file

ssh -p 1022 USER@SERVER "ssh -p 1022 USER@SERVER cat input.mkv | ffmpeg -i - -c:v libx265 -preset slow -x265-params crf=21 -c:a copy -f matroska pipe:1" | cat > output.mkv

Таким образом, как я комбинирую те две команды передачи по каналу правильно? Или можно ли думать о более интеллектуальных способах получить доступ к тем файлам?

0
задан 22 April 2020 в 17:46

1 ответ

Для сохранения вывода через ssh необходимо записать что-то вроде этого:

mycommand --sentoStdout | ssh user@host 'cat > /to/dest/file.type'

Так, в Вашем случае необходимо записать это:

ssh -p 1022 USER@SERVER cat input.mkv | fmpeg -i - -c:v libx265 -preset slow -x265-params crf=21 -c:a copy pipe:1 | ssh -p 1022 USER@SERVER 'cat > output.mkv'
0
ответ дан 25 April 2020 в 10:42

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

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