[FFmpeg-user] Poor NDI performance

Jon jon.tech.uk at gmail.com
Wed Jul 25 22:10:44 EEST 2018


On Sun, 22 Jul 2018 at 20:00, Marton Balint <cus at passwd.hu> wrote:
>
>
> On Wed, 18 Jul 2018, Micael Silva wrote:
>
> > On Wed, Jul 18, 2018 at 8:13 AM, Jon <jon.tech.uk at gmail.com> wrote:
> >
> >> On Tue, 17 Jul 2018 at 23:15, Carl Eugen Hoyos <ceffmpeg at gmail.com> wrote:
> >> >
> >> > 2018-07-17 20:16 GMT+02:00, Jon <jon.tech.uk at gmail.com>:
> >> > > After successfully compiling ffmpeg on Debian 9 64bit, following the
> >> > > instructions at https://trac.ffmpeg.org/wiki/CompilationGuide and
> >> > > adding the relevant includes for NDI using the Newtek SDK
> >> > > (InstallNDISDK_v3_Linux.sh from https://www.newtek.com/ndi/sdk/) and
> >> > > compiler flag (--enable-libndi_newtek), the resulting builds of ffmpeg
> >> > > / ffplay do now playback NDI network streams but playback performance
> >> > > is poor compared to playing back through OBS using the NDI plug-in
> >> > > from https://github.com/Palakis/obs-ndi on the same machine. OBS has
> >> > > smooth playback whereas ffmpeg is jittery.
> >> > >
> >> > > ./ffplay -fs -f libndi_newtek -i "NDI test (test-laptop-pgm)"
> >> >
> >> > Complete, uncut console output missing.
> >> > Do you see the same jitter if you reencode with ffmpeg?
> >> >
> >> > Carl Eugen
> >>
> >> Thanks for your prompt reply Carl.
> >>
> >> Output from ffplay which produces glitchy playback:
> >>
> >> $ ./ffplay -fs -f libndi_newtek -i "COMPUTER (jonny-ndi-pgm)"
> >> ffplay version N-91482-g8aa6d9a Copyright (c) 2003-2018 the FFmpeg
> >> developers
> >>   built with gcc 7 (Debian 7.3.0-25)
> >>   configuration: --prefix=/home/blitz/ffmpeg_build
> >> --pkg-config-flags=--static
> >> --extra-cflags=-I/home/blitz/ffmpeg_build/include
> >> --extra-ldflags=-L/home/blitz/ffmpeg_build/lib --extra-libs='-lpthread
> >> -lm' --bindir=/home/blitz/bin --enable-gpl --enable-libaom
> >> --enable-libass --enable-libfdk-aac --enable-libfreetype
> >> --enable-libmp3lame --enable-libopus --enable-libvorbis
> >> --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree
> >> --enable-libndi_newtek
> >>   libavutil      56. 18.102 / 56. 18.102
> >>   libavcodec     58. 21.105 / 58. 21.105
> >>   libavformat    58. 17.101 / 58. 17.101
> >>   libavdevice    58.  4.101 / 58.  4.101
> >>   libavfilter     7. 26.100 /  7. 26.100
> >>   libswscale      5.  2.100 /  5.  2.100
> >>   libswresample   3.  2.100 /  3.  2.100
> >>   libpostproc    55.  2.100 / 55.  2.100
> >> Input #0, libndi_newtek, from 'COMPUTER (jonny-ndi-pgm)':0B f=0/0
> >>   Duration: N/A, start: 3258.294488, bitrate: 443779 kb/s
> >>     Stream #0:0: Audio: pcm_s16le, 44100 Hz, 2 channels, s16, 1411 kb/s
> >>     Stream #0:1: Video: rawvideo (UYVY / 0x59565955),
> >> uyvy422(progressive), 1280x720 [SAR 1:1 DAR 16:9], 442368 kb/s, 30
> >> fps, 30 tbr, 10000k tbn
> >> 3275.05 A-V: -0.001 fd=   1 aq=  114KB vq=16200KB sq=    0B f=0/0
>
> You should try these ffplay options
>    -infbuf
>    -sync video or -sync ext
>    -noframedrop
> Or a combination of those :)
>
> Thanks,
> Marton

Excellent tip! Thanks Marton. Using both "-infbuf" and "-sync video"
did the trick.


More information about the ffmpeg-user mailing list