> Are you sure about the framerate? > If it really is 30fps and FFmpeg reports it as 25fps, then you > need a filter chain to speed playback up, "-r" only works with > ffmpeg, see the documentation for setpts: > I’m pretty sure. The stream comes from a raspberry pi like this: raspivid -n -ih -t 0 -w 1280 -h 720 -b 1000000 -fps 30 -o - | nc -lkv4 8080 If I lower the framerate to 5, then latency improves to about 3 seconds, but ffplay still detects it as 25. See full output below from the latest build (with some duplicate error lines removed). I’m piping ffmpeg to ffplay so I can use the -r option.
According to mplayer, it says "FPS not specified in the header or invalid, use the -fps option”. If I use “-fps 60” then it plays with no latency, but if I use “-fps 30” it has bad latency like ffmpeg. I don’t understand why. nc 192.168.1.3 8080 | mplayer -fps 60 -demuxer h264es - Also, this stream plays with no latency in this app: https://github.com/ShawnBaker/iOS_RPiCameraViewer <https://github.com/ShawnBaker/iOS_RPiCameraViewer> > You can also test -analyzeduration. Thanks, I tried setting that to zero but it doesn’t help. $ nc 192.168.3.172 8080 | /usr/local/bin/ffmpeg -r 5 -i pipe:0 -analyzeduration 0 -probesize 32 -f h264 -an -c:v copy pipe:1 | /usr/local/bin/ffplay -i pipe:0 ffplay version N-91560-g476fd6ba3a Copyright (c) 2003-2018 the FFmpeg developers built with gcc 7.3.0 (MacPorts gcc7 7.3.0_1) ffmpeg version N-91560-g476fd6ba3a configuration: --enable-libopenjpeg --enable-libass --enable-libbluray --enable-libfreetype --enable-libx264 --enable-libx265 --enable-nonfree --enable-libfdk-aac --enable-gpl Copyright (c) 2000-2018 the FFmpeg developers built with gcc 7.3.0 (MacPorts gcc7 7.3.0_1) configuration: --enable-libopenjpeg --enable-libass --enable-libbluray --enable-libfreetype --enable-libx264 --enable-libx265 --enable-nonfree --enable-libfdk-aac --enable-gpl libavutil 56. 18.102 / 56. 18.102 libavcodec 58. 22.100 / 58. 22.100 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 libavutil 56. 18.102 / 56. 18.102 libavcodec 58. 22.100 / 58. 22.100 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 [h264 @ 0x7fb52580ea00] non-existing PPS 0 referenced Last message repeated 1 times [h264 @ 0x7fb52580ea00] decode_slice_header error [h264 @ 0x7fb52580ea00] no frame! [h264 @ 0x7fb52580ea00] non-existing PPS 0 referenced Last message repeated 1 times [h264 @ 0x7fb52580ea00] decode_slice_header error [h264 @ 0x7fb52580ea00] no frame! Input #0, h264, from 'pipe:0': Duration: N/A, bitrate: N/A Stream #0:0: Video: h264 (High), yuv420p(progressive), 1280x720, 25 fps, 25 tbr, 1200k tbn, 50 tbc Output #0, h264, to 'pipe:1': Metadata: encoder : Lavf58.17.101 Stream #0:0: Video: h264 (High), yuv420p(progressive), 1280x720, q=2-31, 25 fps, 25 tbr, 5 tbn, 5 tbc Stream mapping: Stream #0:0 -> #0:0 (copy) Input #0, h264, from 'pipe:0': Duration: N/A, bitrate: N/A Stream #0:0: Video: h264 (High), yuv420p(progressive), 1280x720, 25 fps, 25 tbr, 1200k tbn, 50 tbc nan M-V: nan fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0 451.5kbits/s speed=1.81x av_interleaved_write_frame(): Broken pipe Error writing trailer of pipe:1: Broken pipeime=00:01:11.80 bitrate= 450.5kbits/s speed= 1.8x frame= 335 fps=8.4 q=-1.0 Lsize= 3949kB time=00:01:11.80 bitrate= 450.5kbits/s speed=1.79x video:3964kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown Conversion failed! _______________________________________________ ffmpeg-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email [email protected] with subject "unsubscribe".
