[FFmpeg-user] named pipes ffmpeg

Robin Stevens robin at seascape.nl
Tue May 3 16:51:27 CEST 2016


I tried pipes in different formats/syntaxis. 

Previously I used the multipurpose-encoder from Datastead to setup a rtsp-stream. After some tests it became clear that this software is piping video into ffmpeg. So I looked at the console log of ffmpeg from the multipurpose-encoder and there was listed that ffmpeg gets his stream from "\\.\pipe\7EB76D4B9CD3464C93908CCB9E3CE1CF".

So I closed the ffmpeg executable that was executed from the multipurpose-encoder and tried to connect with the same build/executable to that pipe. The only thing I get was the error message "Invalid argument". Then I tried to instantiate my own named pipe in windows with the same syntax as Datastead is doing that. Like "\\.\pipe\tmp_pipe1".

When I tried to open the pipe with ffplay I get the following message:
"pipe:\\.\pipe\tmp_pipe1: Cannot allocate memory"

When I tried to open the pipe with ffmpeg I get the following message:
"[IMGUTILS @ 005af780] Picture size 0x0 is invalid
pipe:\\.\pipe\tmp_pipe1: Invalid argument"

When I try to write to the pipe with ffmpeg, it prints the console with a bunch of data and after a few seconds it isn't responding anymore.

I know the "pipe" protocol is compiled with this version of ffmpeg and while the software of Datastead is executing ffmpeg with a named pipe as input parameter it seems that is has to work. 

Do I need a different kind of pipe here? Or do have to add protocol parameters to write to this pipe? Does anyone experience with named pipes?

Kind regards,

Robin

-----Oorspronkelijk bericht-----
Van: ffmpeg-user [mailto:ffmpeg-user-bounces at ffmpeg.org] Namens Roger Pack
Verzonden: dinsdag 3 mei 2016 3:43
Aan: FFmpeg user questions <ffmpeg-user at ffmpeg.org>
Onderwerp: Re: [FFmpeg-user] named pipes ffmpeg

On 4/29/16, Robin Stevens <robin at seascape.nl> wrote:
> 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?

I think you have to name it something like \\pipe_name or some odd...
_______________________________________________
ffmpeg-user mailing list
ffmpeg-user at ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-user mailing list