[FFmpeg-user] FFMPEG output to append to a text file without overwriting the content

Sana Tafleen sana.tafleen at gmail.com
Tue Jun 5 03:48:57 EEST 2018


What I am trying to achieve here is to get the number of I,P and B frames
at the end of streaming. When the disconnection happens, the ffmpeg process
at the sender stops at the terminal and when I connect it back, it starts
sending the frames. Doing this, the number of frames at the receiver is
higher than the number of frames at the sender. I am guessing it is
because, when the ffmpeg stops, it kills the previous process and starts a
new process trying to gain connection with the destination. When it gets
the connection, a new process starts and that output is sent to 'out.txt',
overwriting the output of the previous ffmpeg process. Which is why the
frame count at sender is lesser than that at the receiver. I hope this
makes any sense. Any help here would be appreciated.


Regards,
Sana Tafleen

On Mon, Jun 4, 2018 at 7:36 PM, robertlazarski <robertlazarski at gmail.com>
wrote:

> On Mon, Jun 4, 2018 at 6:06 PM, Sana Tafleen <sana.tafleen at gmail.com>
> wrote:
>
> > Hello,
> >
> > I am sending a UDP stream to the destination and saving the contents of
> the
> > FFMPEG output to a text file. I run the ffmpeg command in a loop as
> > follows,
> >
> >
> > while :
> > do
> >       echo `ffmpeg -hide_banner -f v4l2 -i /dev/video0 -c:v libx264 -f
> > mpegts tcp://ip:port -c:v libx264 /path/to/.mp4 2> out.txt -y`
> > done
> >
> >
> >
> > When I disconnect the cable connected the destination, the above ffmpeg
> > process stops and a new one starts oevrwriting the content of the output
> > that has been saved. And when I reconnect the cable, a new ffmpeg process
> > starts and its output is what is displayed in the out.txt file.
> >
> > I need the output of each ffmpeg process that runs to an output file. Can
> > anyone please suggest me a way to do it?
> >
>
> This part of the command, '2> out.txt ' says (a) redirect stderr and not
> stdout, to out.txt. And (b) overwrite the previous contents.
>
> You can append instead of overwrite by using '2>> out.txt ' .
>
> I would not expect ffmpeg to create a new process in that loop but I have
> no experience with mpegts. I would try -stdin since I have seen unexpected
> behavior without it in loops.
>
> A long shot would be using nohup, if its a hangup of some sort. I would try
> that if I was still stuck. Then strace on the command to see why it was
> creating the extra process.
>
> Kind regards,
> Robert
>
>
>
> > _______________________________________________
> > 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".
> _______________________________________________
> 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