[FFmpeg-user] named pipes ffmpeg

Robin Stevens robin at seascape.nl
Fri Apr 29 08:30:57 CEST 2016


I am having trouble to get ffmpeg write to a named pipe in windows. I know it's possible to write to a anonymous pipe with the command:

ffmpeg.exe -vsync passthrough -f dshow -i video="AVerMedia SD 1 Capture":audio="AVerMedia SD Audio Cap 1 (AVerM" -vcodec rawvideo -f matroska -

And I can read the pipe with ffplay.exe -i -

But is it possible to write to a named pipe?

I tried to by creating a named pipe with the following c# code:

NamedPipeServerStream p_from_ffmpeg = new NamedPipeServerStream("tmp_pipe1",
                PipeDirection.In,
                1,
                PipeTransmissionMode.Byte,
                PipeOptions.WriteThrough,
                1000, 1000);

I checked if the pipe really exist with the pipelist.exe from https://technet.microsoft.com/en-us/sysinternals/dd581625.aspx.

Then I tried to write the output data from ffmpeg to the pipe by using the following command:

ffmpeg.exe -vsync passthrough -f dshow -i video="AVerMedia SD 1 Capture":audio="AVerMedia SD Audio Cap 1 (AVerM" -vcodec rawvideo -f matroska tmp_pipe1

and the following:

ffmpeg.exe -vsync passthrough -f dshow -i video="AVerMedia SD 1 Capture":audio="AVerMedia SD Audio Cap 1 (AVerM" -vcodec rawvideo -f matroska pipe:1 > tmp_pipe1

Both commands are adding a file named "tmp_pipe1" to the directory of the ffmpeg executable while the anonymous pipe isn't adding a file and is working perfectly for me. The only problem is that I would like to deinterlace, record with a codec and render/view more than one channel. So I thought to run one instance of ffmpeg and pipe the outputs to multiple instances of ffplay. I don't know whether it's possible to write the output of ffmpeg to a named pipe in windows. Does someone has an answer?

Regards,

Robin


More information about the ffmpeg-user mailing list