I'm not getting pass the output from the first process with Youtube-dl through pipe to stdin of ffmpeg. It is as if the Youtube-dl force the execution of process after pipe instead wait for his own result
youtube-dl -f best -g [URL] -o pipe:1 | ffmpeg -ss 10 -i pipe:0 -vframes 1 capture.png
get the return:
pipe:0: Invalid data found when processing input
1 Answer
This should work for you:
youtube-dl -f best [url] -o - | ffmpeg -ss 10 -i pipe: -vframes 1 capture.png 1