I am writing a program that writes a video stream to FFserver's HTTP socket. I 
cannot use the ffmpeg command line tool because it cannot read my video stream 
source, so I must read the stream myself. I am stuck trying to get past this 
problem: the program writes a single frame or two to FFserver and then dies on 
a SIGPIPE trying to write more. FFserver indicates it received a POST of 4096 
bytes. I have been unable to determine why this is and have no real idea what 
the right way to do this is.

The main part of the program works like this, in a loop

Read location of frame
Decode frame into an AVFrame, feed this into an encoder using the FFM format 
and CODEC_ID_MPEG4 as the video codec. (I have also tried MPEG-1 here but 
ultimately its lack of frame rate flexibility makes it unsuitable)
FFM encoder returns an AVPacket which is then fed to av_write_frame.
Go back to top, looking for more frames.

The loop succeeds once or twice and then SIGPIPE is thrown on av_write_frame on 
the next iteration of the loop.

Does anyone know what I might be doing wrong here?

Help would be greatly appreciated.

Best Regards,
Andrew Barr
_______________________________________________
libav-api mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-api

Reply via email to