Я пытаюсь получить пример от here, работая над записью веб-страницы с phantomjs и передам stdout, которые являются изображениями, в команду ffmpeg для создания видео. Команда заявила, что вам нужно запустить,:Выполнение команды с трубкой в Golang exec
phantomjs runner.js | ffmpeg -y -c:v png -f image2pipe -r 25 -t 10 -i - -c:v libx264 -pix_fmt yuv420p -movflags +faststart dragon.mp4
Если я запускаю подобную версию этой команды непосредственно в терминале, я могу получить его работу просто отлично. Проблема в том, что мне нужно запустить вышеуказанную команду через пакет Golang os/exec. С помощью:
cmd := exec.Command(parts[0], parts[1:]...)
метод, первый параметр - базовый исполняемый файл исполняемой команды, и он не выполняет проверку трубы. Я хотел бы, чтобы это работало в одной команде, поэтому мне не нужно записывать все изображения в файлы, а затем запускать вторую команду ffmpeg для чтения со всех этих изображений. Какие-либо предложения?
труба - это оболочка, а не аргумент команды, см. Http://stackoverflow.com/a/10953142/32880 – JimB