[FFmpeg-user] pipe from /dev/video to /dev/video adding a delay - syncing issues

Javier Infante Porro jabi at irontec.com
Thu Jun 27 12:05:02 EEST 2019



----- Mensaje original -----
> De: "Nicolas George" <george at nsup.org>
> Para: "FFmpeg user questions" <ffmpeg-user at ffmpeg.org>
> Enviados: Jueves, 27 de Junio 2019 10:35:04
> Asunto: Re: [FFmpeg-user] pipe from /dev/video to /dev/video adding a delay - syncing issues
> 
> Javier Infante Porro (12019-06-26):
> > But whenever i try to push the stream back to the the /dev/video20
> > device, it works, but the countdown goes real fast (like 10x faster),
> > and then video tries to catch up and keeps around a 2 second delay:
> 
> For a regular countdown, you need an accurate timestamp. You are killing
> your timestamps with the setpts filter: why do you do it?

I am not using it anymore... it's something i forgot inside the filter chain...

Right now i am using the -re switch (as Moritz suggest me in this thread), but whenever the countdown finishes, thy video from /dev/video0 tries to "recover" the lost time...

I am guessing it has sometyhing to do with the "-ts  parameter on the v4l2 input or maybe using the pts filter... but i am out of luck so far.


TIME=5
ffmpeg -y -re \
  -loop 1 -r 28 -t $TIME -i bg.jpg \
  -f v4l2 -thread_queue_size 512 -framerate 28 -i /dev/video30 \
  -filter_complex \
   "[0:v:0]drawtext=fontfile='/usr/share/fonts/truetype/msttcorefonts/Georgia.ttf':fontcolor=yellow:fontsize=40=(w-text_w)/2:y=(h-text_h)/2:text=\'%{eif\:$TIME+1-t\}\'[count]; \
   [1:v:0]fps=28,setpts=PTS+$TIME/TB[live];[count] [live] concat=n=2:v=1:a=0:unsafe=1 [v];[v]scale=852:480[out]" \
  -map "[out]" -an -pix_fmt yuv420p -f v4l2 -r 28 /dev/video20


Any ideas on what am I missing?



--
Jabi


More information about the ffmpeg-user mailing list