Use source wallclock (NTP) in RTSP/RTCP streams to setpts for inter-media synchronization

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Use source wallclock (NTP) in RTSP/RTCP streams to setpts for inter-media synchronization

David Gessel
I'm working on a project to multiplex several RTSP streams, from cameras, into a simple "grid" output.    The issue is that the cameras are intended to form an ultra-wide (panoramic) view and while total latency is never as low as one would like, relatively latency is a real problem.

I'm not expecting frame-accurate synchronization as one might get from genlocked analog or SDI sources, rather superficially synchronized - to within a few hundred msec, as would be sufficient for the visual perception of a live panorama.  As source start times and network connection times are not deterministic, manually tuning with incremental absolute offsets wouldn't work (though could help).  Currently the best I've been able to get is about 3 seconds differential latency, which is a fun way to do an automated one-person "wave" but not really the desired effect.  All devices are synced to NTP, which is more than sufficiently in sync for the application if I could figure out how to use it.

below is the command I'm using to connect, composite, and display that yields the fastest frame rates and least drop frames. Curiously, changing setpts from N/(8.33*TB) to the recommended for live stream setpts='(RTCTIME - RTCSTART) / (TB * 1000000)' for each stream results in really choppy playback (but no improvement in inter-stream sync).

ffmpeg  -max_delay 500000 -reorder_queue_size 10000 \
          -fflags nobuffer -re -rtsp_transport udp -an -flags low_delay -strict experimental\
          -fflags nobuffer -re -thread_queue_size 1024 -i rtsp://192.168.100.34:554/stream/profile0\
          -fflags nobuffer -re -thread_queue_size 1024 -i rtsp://192.168.100.57:554/stream/profile0\
          -fflags nobuffer -re -thread_queue_size 1024 -i rtsp://192.168.100.48:554/stream/profile0\
          -fflags nobuffer -re -thread_queue_size 1024 -i rtsp://192.168.100.34:554/stream/profile1\
          -fflags nobuffer -re -thread_queue_size 1024 -i rtsp://192.168.100.57:554/stream/profile1\
          -fflags nobuffer -re -thread_queue_size 1024 -i rtsp://192.168.100.48:554/stream/profile1\
         -filter_complex "
         nullsrc=size=3554x480 [base];
         [0:v] setpts=N/(8.33*TB) [CAM1];
         [1:v] setpts=N/(8.33*TB) [CAM2];
         [2:v] setpts=N/(8.33*TB) [CAM3];
         [3:v] setpts=N/(8.33*TB) [CAM4];
         [4:v] setpts=N/(8.33*TB) [CAM5];
         [5:v] setpts=N/(8.33*TB) [CAM6];
         [base][CAM1] overlay=x=0 [tmp1];
         [tmp1][CAM2] overlay=x=583 [tmp2];
         [tmp2][CAM3] overlay=x=1165 [tmp3];
         [tmp3][CAM4] overlay=x=1748 [tmp4];
         [tmp4][CAM5] overlay=x=2331 [tmp5];
         [tmp5][CAM6] overlay=x=2914 " \
         -c:v libx264 -tune zerolatency -an -preset ultrafast -crf 22 -f matroska - |\
     ffplay -framedrop -sync ext -probesize 32 -

What I was looking for was some way to set offsets to either:

* Least Latency - treat each inbound source as "live" and "best effort" rather than trying to sync to the start of each stream on the receiver (which is fairly arbitrary) or the start of the stream on the source (which is completely arbitrary).  I suspect this is doable, but I haven't found an obvious way to do it yet - any advice much appreciated.

* Absolute sync to NTP packets. This seems like it should be the "right" solution.  I've found some links that suggest I'm not the only one looking for a multi-source NTP sync solution, but I haven't found anyone with a clear solution.

I've tried the a few setpoints constructions to no obvious improvement in absolute synchronization including:

setpts=PTS-STARTPTS
setpts='(RTCTIME - RTCSTART) / (TB * 1000000)'
setpts=N/(8.33*TB

To no avail.

The RTCP Sender Report from these cameras do contain accurate wallclock time and are sent every 4-5 seconds:

Real-time Transport Control Protocol (Sender Report)
     [Stream setup by RTSP (frame 12)]
     10.. .... = Version: RFC 1889 Version (2)
     ..0. .... = Padding: False
     ...0 0000 = Reception report count: 0
     Packet type: Sender Report (200)
     Length: 6 (28 bytes)
     Sender SSRC: 0xcd323da7 (3442621863)
     Timestamp, MSW: 3819623083 (0xe3aad2ab)
     Timestamp, LSW: 3277326335 (0xc35807ff)
     [MSW and LSW as NTP timestamp: Jan 14, 2021 14:24:43.763062000 UTC]
     RTP timestamp: 2329505188
     Sender's packet count: 479641
     Sender's octet count: 674869163

My understanding is that NTP is included in RTCP specifically for inter-media global synchronization but I don't know how to enable this.

This stack overflow question seems to be on the right path, but implies that some mods needed to be made, at least 7 years ago:

https://stackoverflow.com/questions/20265546/reading-rtcp-packets-from-an-ip-camera-using-ffmpeg but

On Trac #4586 inspired me to try -use_wallclock_as_timestamps, but that seems to be receiver wallclock, not source.  The only other option in options_table.h that seems relevant is "start_time_realitme" - but this is encode.

It looks like there was a patch proposed in 2016 as a step toward multi-source synchronization:

https://ffmpeg.org/pipermail/ffmpeg-devel/2016-March/191683.html

libavformat/rtpdec.c seems to parse the NTP RTCP timestamps, but I don't see any method of using them to setpts (or otherwise sync sources), though it looks like this was a topic of discussion back in 2008:

https://ffmpeg.org/pipermail/ffmpeg-devel/2008-June/050416.html.

Which is to say, I looked through all the hints I could find, and while there are many tantalizing clues, nothing indicates an obvious solution to me.  Is there perhaps some obvious parameter I'm just not understanding or other solution escaping my search engine skills?

_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: Use source wallclock (NTP) in RTSP/RTCP streams to setpts for inter-media synchronization

Carl Eugen Hoyos-2
Am Sa., 16. Jan. 2021 um 23:49 Uhr schrieb David Gessel
<[hidden email]>:

> ffmpeg  -max_delay 500000 -reorder_queue_size 10000 \
>           -fflags nobuffer -re -rtsp_transport udp -an -flags low_delay -strict experimental\
>           -fflags nobuffer -re -thread_queue_size 1024 -i rtsp://192.168.100.34:554/stream/profile0\
>           -fflags nobuffer -re -thread_queue_size 1024 -i rtsp://192.168.100.57:554/stream/profile0\
>           -fflags nobuffer -re -thread_queue_size 1024 -i rtsp://192.168.100.48:554/stream/profile0\
>           -fflags nobuffer -re -thread_queue_size 1024 -i rtsp://192.168.100.34:554/stream/profile1\
>           -fflags nobuffer -re -thread_queue_size 1024 -i rtsp://192.168.100.57:554/stream/profile1\
>           -fflags nobuffer -re -thread_queue_size 1024 -i rtsp://192.168.100.48:554/stream/profile1\
>          -filter_complex "
>          nullsrc=size=3554x480 [base];
>          [0:v] setpts=N/(8.33*TB) [CAM1];
>          [1:v] setpts=N/(8.33*TB) [CAM2];
>          [2:v] setpts=N/(8.33*TB) [CAM3];
>          [3:v] setpts=N/(8.33*TB) [CAM4];
>          [4:v] setpts=N/(8.33*TB) [CAM5];
>          [5:v] setpts=N/(8.33*TB) [CAM6];
>          [base][CAM1] overlay=x=0 [tmp1];
>          [tmp1][CAM2] overlay=x=583 [tmp2];
>          [tmp2][CAM3] overlay=x=1165 [tmp3];
>          [tmp3][CAM4] overlay=x=1748 [tmp4];
>          [tmp4][CAM5] overlay=x=2331 [tmp5];
>          [tmp5][CAM6] overlay=x=2914 " \
>          -c:v libx264 -tune zerolatency -an -preset ultrafast -crf 22 -f matroska - |\
>      ffplay -framedrop -sync ext -probesize 32 -

You should really test with file output and complete, uncut console
output missing.

As long as you are using the setpts filter, you disable all
synchronisation and you
cannot get the output you want.

Carl Eugen
_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: Use source wallclock (NTP) in RTSP/RTCP streams to setpts for inter-media synchronization

David Gessel


-------- Original Message --------
Subject: Re: [FFmpeg-user] Use source wallclock (NTP) in RTSP/RTCP streams to setpts for inter-media synchronization
From: Carl Eugen Hoyos <[hidden email]>
To: FFmpeg user questions <[hidden email]>
Date: 2021-01-18 00:24+0300

> Am Sa., 16. Jan. 2021 um 23:49 Uhr schrieb David Gessel
> <[hidden email]>:
>
>> ffmpeg  -max_delay 500000 -reorder_queue_size 10000 \
>>            -fflags nobuffer -re -rtsp_transport udp -an -flags low_delay -strict experimental\
>>            -fflags nobuffer -re -thread_queue_size 1024 -i rtsp://192.168.100.34:554/stream/profile0\
>>            -fflags nobuffer -re -thread_queue_size 1024 -i rtsp://192.168.100.57:554/stream/profile0\
>>            -fflags nobuffer -re -thread_queue_size 1024 -i rtsp://192.168.100.48:554/stream/profile0\
>>            -fflags nobuffer -re -thread_queue_size 1024 -i rtsp://192.168.100.34:554/stream/profile1\
>>            -fflags nobuffer -re -thread_queue_size 1024 -i rtsp://192.168.100.57:554/stream/profile1\
>>            -fflags nobuffer -re -thread_queue_size 1024 -i rtsp://192.168.100.48:554/stream/profile1\
>>           -filter_complex "
>>           nullsrc=size=3554x480 [base];
>>           [0:v] setpts=N/(8.33*TB) [CAM1];
>>           [1:v] setpts=N/(8.33*TB) [CAM2];
>>           [2:v] setpts=N/(8.33*TB) [CAM3];
>>           [3:v] setpts=N/(8.33*TB) [CAM4];
>>           [4:v] setpts=N/(8.33*TB) [CAM5];
>>           [5:v] setpts=N/(8.33*TB) [CAM6];
>>           [base][CAM1] overlay=x=0 [tmp1];
>>           [tmp1][CAM2] overlay=x=583 [tmp2];
>>           [tmp2][CAM3] overlay=x=1165 [tmp3];
>>           [tmp3][CAM4] overlay=x=1748 [tmp4];
>>           [tmp4][CAM5] overlay=x=2331 [tmp5];
>>           [tmp5][CAM6] overlay=x=2914 " \
>>           -c:v libx264 -tune zerolatency -an -preset ultrafast -crf 22 -f matroska - |\
>>       ffplay -framedrop -sync ext -probesize 32 -
>
> You should really test with file output and complete, uncut console
> output missing.

Thanks for the help Carl,

The console output is attached below

>
> As long as you are using the setpts filter, you disable all
> synchronisation and you
> cannot get the output you want.

Makes sense, thanks for the hint.  A link to a screen cap of the command without setpts attached below.  The time code is burned in at the sources.  I let it run for a few minutes and the streams did not sync.

https://www.brt.llc/insecure/ffmpeg_sync_issue.webp

(Babri the kitty says hi)

Console output follows:



$ ffmpeg  -max_delay 500000 -reorder_queue_size 10000 \

>          -fflags nobuffer -re -rtsp_transport udp -an -flags low_delay -strict experimental\
>          -fflags nobuffer -re -thread_queue_size 1024 -i rtsp://192.168.100.34:554/stream/profile0\
>          -fflags nobuffer -re -thread_queue_size 1024 -i rtsp://192.168.100.57:554/stream/profile0\
>          -fflags nobuffer -re -thread_queue_size 1024 -i rtsp://192.168.100.48:554/stream/profile0\
>          -fflags nobuffer -re -thread_queue_size 1024 -i rtsp://192.168.100.34:554/stream/profile1\
>          -fflags nobuffer -re -thread_queue_size 1024 -i rtsp://192.168.100.57:554/stream/profile1\
>          -fflags nobuffer -re -thread_queue_size 1024 -i rtsp://192.168.100.48:554/stream/profile1\
>         -filter_complex "
>         nullsrc=size=3554x480 [base];
>         [base][0:v] overlay=x=0 [tmp1];
>         [tmp1][1:v] overlay=x=583 [tmp2];
>         [tmp2][2:v] overlay=x=1165 [tmp3];
>         [tmp3][3:v] overlay=x=1748 [tmp4];
>         [tmp4][4:v] overlay=x=2331 [tmp5];
>         [tmp5][5:v] overlay=x=2914 " \
>         -c:v libx264 -tune zerolatency -an -preset ultrafast -crf 22 -f matroska - |\
>     ffplay -framedrop -sync ext -probesize 32 -
ffmpeg version N-100596-geacad34 Copyright (c) 2000-2021 the FFmpeg developers
   built with gcc 9 (Ubuntu 9.3.0-17ubuntu1~20.04)
   configuration: --prefix=/home/gessel/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/gessel/ffmpeg_build/include --extra-ldflags=-L/home/gessel/ffmpeg_build/lib --extra-libs='-lpthread -lm' --bindir=/home/gessel/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree
   libavutil      56. 63.100 / 56. 63.100
   libavcodec     58.115.102 / 58.115.102
   libavformat    58. 65.101 / 58. 65.101
   libavdevice    58. 11.103 / 58. 11.103
   libavfilter     7. 95.100 /  7. 95.100
   libswscale      5.  8.100 /  5.  8.100
   libswresample   3.  8.100 /  3.  8.100
   libpostproc    55.  8.100 / 55.  8.100
ffplay version 4.2.4-1ubuntu0.1 Copyright (c) 2003-2020 the FFmpeg developers
   built with gcc 9 (Ubuntu 9.3.0-10ubuntu2)
   configuration: --prefix=/usr --extra-version=1ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
   libavutil      56. 31.100 / 56. 31.100
   libavcodec     58. 54.100 / 58. 54.100
   libavformat    58. 29.100 / 58. 29.100
   libavdevice    58.  8.100 / 58.  8.100
   libavfilter     7. 57.100 /  7. 57.100
   libavresample   4.  0.  0 /  4.  0.  0
   libswscale      5.  5.100 /  5.  5.100
   libswresample   3.  5.100 /  3.  5.100
   libpostproc    55.  5.100 / 55.  5.100
Input #0, rtsp, from 'rtsp://192.168.100.34:554/stream/profile0':
   Metadata:
     title           : Mobotix IP-Camera
     comment         : Profile profile0
   Duration: N/A, start: 0.000000, bitrate: N/A
     Stream #0:0: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 640x480 [SAR 1:1 DAR 4:3], 8.33 fps, 8.33 tbr, 90k tbn, 90k tbc
Input #1, rtsp, from 'rtsp://192.168.100.57:554/stream/profile0':
   Metadata:
     title           : Mobotix IP-Camera
     comment         : Profile profile0
   Duration: N/A, start: 0.000000, bitrate: N/A
     Stream #1:0: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 640x480 [SAR 1:1 DAR 4:3], 8.33 fps, 8.33 tbr, 90k tbn, 90k tbc
Input #2, rtsp, from 'rtsp://192.168.100.48:554/stream/profile0':
   Metadata:
     title           : Mobotix IP-Camera
     comment         : Profile profile0
   Duration: N/A, start: 0.000000, bitrate: N/A
     Stream #2:0: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 640x480 [SAR 1:1 DAR 4:3], 8.33 fps, 8.33 tbr, 90k tbn, 90k tbc
Input #3, rtsp, from 'rtsp://192.168.100.34:554/stream/profile1':
   Metadata:
     title           : Mobotix IP-Camera
     comment         : Profile profile1
   Duration: N/A, start: 0.000000, bitrate: N/A
     Stream #3:0: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 640x480 [SAR 1:1 DAR 4:3], 8.33 fps, 8.33 tbr, 90k tbn, 90k tbc
Input #4, rtsp, from 'rtsp://192.168.100.57:554/stream/profile1':
   Metadata:
     title           : Mobotix IP-Camera
     comment         : Profile profile1
   Duration: N/A, start: 0.000000, bitrate: N/A
     Stream #4:0: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 640x480 [SAR 1:1 DAR 4:3], 8.33 fps, 8.33 tbr, 90k tbn, 90k tbc
Input #5, rtsp, from 'rtsp://192.168.100.48:554/stream/profile1':
   Metadata:
     title           : Mobotix IP-Camera
     comment         : Profile profile1
   Duration: N/A, start: 0.000000, bitrate: N/A
     Stream #5:0: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 640x480 [SAR 1:1 DAR 4:3], 8.33 fps, 8.33 tbr, 90k tbn, 90k tbc
Stream mapping:
   Stream #0:0 (mjpeg) -> overlay:overlay
   Stream #1:0 (mjpeg) -> overlay:overlay
   Stream #2:0 (mjpeg) -> overlay:overlay
   Stream #3:0 (mjpeg) -> overlay:overlay
   Stream #4:0 (mjpeg) -> overlay:overlay
   Stream #5:0 (mjpeg) -> overlay:overlay
   overlay -> Stream #0:0 (libx264)
Press [q] to stop, [?] for help
[swscaler @ 0x5615e8adc0c0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x5615e8afce40] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x5615e8b1e340] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x5615e8b3f9c0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x5615e8b61240] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x5615e8b82b80] deprecated pixel format used, make sure you did set range correctly
[rtsp @ 0x5615e87a56c0] max delay reached. need to consume packet
[rtsp @ 0x5615e87a56c0] RTP: missed 2152 packets
[rtsp @ 0x5615e875c400] max delay reached. need to consume packet
[rtsp @ 0x5615e875c400] RTP: missed 5058 packets
[rtsp @ 0x5615e875c400] RTP: PT=1a: bad cseq bbf9 expected=a837
[rtsp @ 0x5615e875c400] max delay reached. need to consume packet
[rtsp @ 0x5615e875c400] RTP: missed 5059 packets
[rtsp @ 0x5615e875c400] RTP timestamps don't match.
[rtsp @ 0x5615e875c400] Received packet without a start chunk; dropping frame.
     Last message repeated 10 times
[rtsp @ 0x5615e87e54c0] max delay reached. need to consume packet
[rtsp @ 0x5615e87e54c0] RTP: missed 1058 packets
[rtsp @ 0x5615e875c400] Received packet without a start chunk; dropping frame.
     Last message repeated 52 times 0KB vq=    0KB sq=    0B f=0/0
[libx264 @ 0x5615e88a4300] using SAR=1/1
[libx264 @ 0x5615e88a4300] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x5615e88a4300] profile Constrained Baseline, level 4.0
[libx264 @ 0x5615e88a4300] 264 - core 155 r2917 0a84d98 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=1 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=7 lookahead_threads=7 sliced_threads=1 slices=7 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=0 intra_refresh=0 rc=crf mbtree=0 crf=22.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=0
Output #0, matroska, to 'pipe:':
   Metadata:
     title           : Mobotix IP-Camera
     comment         : Profile profile0
     encoder         : Lavf58.65.101
     Stream #0:0: Video: h264 (H264 / 0x34363248), yuv420p(progressive), 3554x480 [SAR 1:1 DAR 1777:240], q=2-31, 25 fps, 1k tbn (default)
     Metadata:
       encoder         : Lavc58.115.102 libx264
     Side data:
       cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
[rtsp @ 0x5615e8761400] max delay reached. need to consume packet   4856.0kbits/s speed=0.00769x
[rtsp @ 0x5615e8761400] RTP: missed 1424 packets
[matroska,webm @ 0x7f5a40000bc0] decoding for stream 0 failed=0/0
Input #0, matroska,webm, from 'pipe:':
   Metadata:
     title           : Mobotix IP-Camera
     COMMENT         : Profile profile0
     ENCODER         : Lavf58.65.101
   Duration: N/A, bitrate: N/A
     Stream #0:0: Video: h264 (Constrained Baseline), yuv420p(progressive), 3554x480 [SAR 1:1 DAR 1777:240], 25 fps, 25 tbr, 1k tbn, 50 tbc (default)
     Metadata:
       ENCODER         : Lavc58.115.102 libx264
[rtsp @ 0x5615e8730080] max delay reached. need to consume packet
[rtsp @ 0x5615e8730080] RTP: missed 5791 packets
[rtsp @ 0x5615e8730080] RTP: PT=1a: bad cseq 32e9 expected=1c4a
[rtsp @ 0x5615e8730080] max delay reached. need to consume packet
[rtsp @ 0x5615e8730080] RTP: missed 5792 packets
[rtsp @ 0x5615e8730080] RTP timestamps don't match.
[rtsp @ 0x5615e8730080] Received packet without a start chunk; dropping frame.
     Last message repeated 58 times 0KB vq=    5KB sq=    0B f=0/0
Error writing trailer of pipe:: Broken pipe   0KB sq=    0B f=0/0   18908.6kbits/s speed=0.998x
frame=  877 fps= 25 q=17.0 Lsize=   80881kB time=00:00:35.04 bitrate=18908.6kbits/s speed=0.983x
video:80935kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
[libx264 @ 0x5615e88a4300] frame I:4     Avg QP:16.75  size:532250
[libx264 @ 0x5615e88a4300] frame P:873   Avg QP:18.00  size: 92495
[libx264 @ 0x5615e88a4300] mb I  I16..4: 100.0%  0.0%  0.0%
[libx264 @ 0x5615e88a4300] mb P  I16..4:  0.8%  0.0%  0.0%  P16..4: 62.2%  0.0%  0.0%  0.0%  0.0%    skip:37.0%
[libx264 @ 0x5615e88a4300] coded y,uvDC,uvAC intra: 60.5% 89.4% 86.4% inter: 41.4% 57.7% 38.1%
[libx264 @ 0x5615e88a4300] i16 v,h,dc,p: 31% 18% 38% 13%
[libx264 @ 0x5615e88a4300] i8c dc,h,v,p: 44% 20% 22% 14%
[libx264 @ 0x5615e88a4300] kb/s:18900.13
Exiting normally, received signal 2.

_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".