[FFmpeg-user] concat + pipe protocols
Mark Bogdanoff
bog at ted.com
Fri May 30 06:02:55 CEST 2014
Hello,
I'm running ffmpeg at master as of earlier today. I'm attempting to utilize the concat protocol as outlined here (copied relevant bit below): http://trac.ffmpeg.org/wiki/How%20to%20concatenate%20(join,%20merge)%20media%20files#protocol
> mkfifo temp1 temp2
> ffmpeg -i input1.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts temp1 2> /dev/null & \
> ffmpeg -i input2.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts temp2 2> /dev/null & \
> ffmpeg -f mpegts -i "concat:temp1|temp2" -c copy -bsf:a aac_adtstoasc output.mp4
I'm attempting to run the command without intermediates or named pipes utilizing additional file descriptors. For now, I'm attempting this simple test:
ffmpeg -i input.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts pipe:1 | ffmpeg -f mpegts -i concat:pipe:0 -c copy -bsf:a aac_adtstoasc concat.mp4
When I run this, I get this error: concat:pipe:0: Function not implemented
Looking at the source (http://git.videolan.org/?p=ffmpeg.git;a=blob;f=libavformat/concat.c;h=3bbc83dfef16b629264c975dad4c28a37cee002d;hb=refs/heads/master#l101), it appears that ffmpeg is failing because it cannot get the size of the incoming pipe. Since this works with named pipes, I'm assuming there's an interaction here that isn't working with ffmpeg's pipes? Is this expected behavior or is there another way of specifying concat with pipes?
Thanks!
Mark bog
More information about the ffmpeg-user
mailing list