[FFmpeg-user] Problem when using named pipe (fifo) in ffplay input to play a mpegts live stream
Leonardo Muttoni
muttoni at gmail.com
Tue Dec 13 00:22:37 EET 2016
Hello,
I'm having a strange behavior when using ffplay on linux:
I created a program that output a live mpegts stream to a fifo (a file
created by mkfifo). I'm trying to use ffplay to watch to this stream, in
this way:
> ffplay -probesize 100k -analyzeduration 100k - < fifo_file.ts
First I start this player command, then in another console I start the
program that outputs the stream to the fifo file. With this setup, I have
to wait about 1 minute (or more sometimes) to get the audio/video to play,
BUT when I interrupt (CTRL+C) the program that write the live stream to the
fifo, the entire (since startup) video start playing instantly, something
like a buffer problem...
Note 1: When I use the command "hexdump < fifo_file.ts" instead of ffplay,
I got the usual uninterrupted hex stream flow on console, then I think
that the program that feed the fifo file is doing his job properly).
Note 2: I also tryed to mess with probesize and analyzeduration values and
nothing helps.
Note 3: When I use the ffplay option "-v debug", I got several messages
like this "[mpegts @ 0x7f4fbc000920] probing stream 2 pp:2499"
the last number (2499) keep decreasing at a rate about once a second, in
that time, I cannot get the video, but again: when I interrupt the source
side of fifo, It appears that ffplay "wakes", and show the video
immediately. If I don't interrupt and wait for about one minute, the video
starts playing. The console output in this case are in:
http://pastebin.com/fZDWNqF5
Note 4: From above pastebin, It appears that the stream 2 have nothing
useful.
**** Questions ****
**** Primary question:
1) How can I play this live stream faster (starting soon, without waiting a
long time)
**** Secondary questions:
2) How can I tell ffplay to skip/ignore the 2nd stream, or to give up this
stream early ?
3) Why when I interrupt the source program in the other side of the fifo,
the video starts playing immediately?
Thanks in advance.
More information about the ffmpeg-user
mailing list