I am running into an issue where I will encode a video and the primary video (in the command below it is the one called test-video.mp4) will at some point freeze frame while the other streams continue to encode and then play back correctly.

The problem is that I haven't been able to recreate the issue yet because the people that experience it, re-convert the video and on the second try it pretty much always comes out correctly and at this point, I don't want to wait until I see it again to see if someone might have a clue of what to look for.


Here is a glossary of what the inputs are:

testcanvas.txt is a background image looped with the duration of 137.550

test-textfile.txt is a concat of images that are overlayed.

test-video-two.mov is an overlaid video that does not freeze and goes all the way to the end.

test-video.mp4 is the primary video, the one that is freezing.



I have an auto-delete script running and I thought that /maybe/ in the middle of the encode, the video in question was accidentally being deleted causing the freeze frame, but I have tested this and it doesn't seem to be the case, but I haven't fully ruled it out.


*COMMAND*

/usr/local/bin/ffmpeg   -safe 0 -f concat -i  testcanvas.txt -safe 0 -f concat -i  test-textfile.txt    -i test-video.mp4 -i  test-video-two.mov    -filter_complex_script test-complex-filter.txt  -aspect 1:1    -c:v libx264    -profile:v high -pix_fmt yuv420p -level 5.1  -vsync 1 -async 1  -c:a aac -b:a 128k  -map 2:a    -r 30       -t 137.550   -y  test-output7.mp4


Here is the filter used from the complex_filter_script:

[2:v]trim=start=0:end=137.550,setpts=PTS-STARTPTS,format=yuv420p[101v];[2:a]atrim=start=0:end=137.550,asetpts=PTS-STARTPTS[101a];[101v][101a]concat=n=1:v=1:a=1[2];[2]scale=1280:-2[2v];[0][2v]overlay=0:280[2v];[2v][1]overlay=0:0[v];[0:v]scale=1280:-2[f];[f][v]overlay=0:0[b];[3]scale=1280:-2[3v];[b][3v]overlay=0:280.00002


So, since I unfortunately don't have an actual example where this happened, is there anything in my command that might cause this intermittent behavior?




Here is the output, but again, this time it turned out fine without the test-video.mp4 freeze-framing about 6 seconds before the end of the total video, but maybe this will help?


/usr/local/bin/ffmpeg   -safe 0 -f concat -i  testcanvas.txt -safe 0 -f concat -i  test-textfile.txt    -i test-video.mp4 -i  test-video-two.mov    -filter_complex_script test-complex-filter.txt  -aspect 1:1    -c:v libx264    -profile:v high -pix_fmt yuv420p -level 5.1  -vsync 1 -async 1  -c:a aac -b:a 128k  -map 2:a       -t 137.550   -r 30       -t 137.550   -y test-output7.mp4 ffmpeg version 4.3.1-static https://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 8 (Debian 8.3.0-6)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100
Input #0, concat, from 'testcanvas.txt':
  Duration: 00:02:17.55, start: 0.000000, bitrate: 0 kb/s
    Stream #0:0: Video: targa, gray, 1280x1280, 25 tbr, 25 tbn, 25 tbc
Input #1, concat, from 'test-textfile.txt':
  Duration: 00:02:17.45, start: 0.000000, bitrate: 0 kb/s
    Stream #1:0: Video: targa, bgra, 1280x1280, 25 tbr, 25 tbn, 25 tbc
Input #2, mov,mp4,m4a,3gp,3g2,mj2, from 'test-video.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isommp42
    creation_time   : 2021-05-05T19:42:20.000000Z
  Duration: 00:02:17.55, start: 0.000000, bitrate: 836 kb/s
    Stream #2:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], 704 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
    Metadata:
      creation_time   : 2021-05-05T19:42:20.000000Z
      handler_name    : ISO Media file produced by Google Inc. Created on: 05/05/2021.     Stream #2:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 127 kb/s (default)
    Metadata:
      creation_time   : 2021-05-05T19:42:20.000000Z
      handler_name    : ISO Media file produced by Google Inc. Created on: 05/05/2021.
Input #3, mov,mp4,m4a,3gp,3g2,mj2, from 'test-video-two.mov':
  Metadata:
    major_brand     : qt
    minor_version   : 512
    compatible_brands: qt
    encoder         : Lavf58.45.100
  Duration: 00:02:17.56, start: 0.000000, bitrate: 53 kb/s
    Stream #3:0: Video: png (png  / 0x20676E70), rgba(pc, progressive), 1280x14, 52 kb/s, 25 fps, 25 tbr, 12800 tbn, 12800 tbc (default)
    Metadata:
      handler_name    : VideoHandler
      encoder         : Lavc58.91.100 png
Stream mapping:
  Stream #0:0 (targa) -> overlay:main
  Stream #0:0 (targa) -> scale
  Stream #1:0 (targa) -> overlay:overlay
  Stream #2:0 (h264) -> trim
  Stream #2:1 (aac) -> atrim
  Stream #3:0 (png) -> scale
  concat:out:a0 -> Stream #0:0 (aac)
  overlay -> Stream #0:1 (libx264)
Press [q] to stop, [?] for help
-async is forwarded to lavfi similarly to -af aresample=async=1:min_hard_comp=0.100000:first_pts=0.
[libx264 @ 0x7352900] using SAR=1/1
[libx264 @ 0x7352900] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 AVX512
[libx264 @ 0x7352900] profile High, level 5.1, 4:2:0, 8-bit
[libx264 @ 0x7352900] 264 - core 161 r3018 db0d417 - H.264/MPEG-4 AVC codec - Copyleft 2003-2020 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=40 lookahead_threads=6 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'test-output7.mp4':
  Metadata:
    encoder         : Lavf58.45.100
    Stream #0:0: Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
    Metadata:
      encoder         : Lavc58.91.100 aac
    Stream #0:1: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 1280x1280 [SAR 1:1 DAR 1:1], q=-1--1, 30 fps, 15360 tbn, 30 tbc (default)
    Metadata:
      encoder         : Lavc58.91.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
frame= 4127 fps= 89 q=-1.0 Lsize=   15749kB time=00:02:17.55 bitrate= 937.9kbits/s dup=1 drop=0 speed=2.97x video:13439kB audio:2163kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.942718%
[aac @ 0x7496900] Qavg: 445.198
[libx264 @ 0x7352900] frame I:17    Avg QP:16.54  size: 64367
[libx264 @ 0x7352900] frame P:1108  Avg QP:19.51  size:  7111
[libx264 @ 0x7352900] frame B:3002  Avg QP:20.76  size:  1595
[libx264 @ 0x7352900] consecutive B-frames:  0.4%  7.2%  1.9% 90.5%
[libx264 @ 0x7352900] mb I  I16..4: 33.2% 48.3% 18.5%
[libx264 @ 0x7352900] mb P  I16..4:  2.1%  2.8%  0.1%  P16..4: 16.2%  5.9%  2.5%  0.0%  0.0%    skip:70.4% [libx264 @ 0x7352900] mb B  I16..4:  0.1%  0.1%  0.0%  B16..8: 13.9%  1.0%  0.0%  direct: 0.3%  skip:84.6%  L0:45.2% L1:53.7% BI: 1.0%
[libx264 @ 0x7352900] 8x8 transform intra:53.7% inter:91.8%
[libx264 @ 0x7352900] coded y,uvDC,uvAC intra: 23.2% 55.9% 9.6% inter: 2.0% 4.0% 0.0%
[libx264 @ 0x7352900] i16 v,h,dc,p: 47% 22%  8% 24%
[libx264 @ 0x7352900] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 28% 23% 34% 2%  3%  2%  3%  2%  2% [libx264 @ 0x7352900] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 42% 29% 12% 2%  4%  4%  3%  3%  2%
[libx264 @ 0x7352900] i8c dc,h,v,p: 55% 15% 26%  4%
[libx264 @ 0x7352900] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x7352900] ref P L0: 63.7%  6.0% 21.7%  8.6%
[libx264 @ 0x7352900] ref B L0: 79.6% 15.7%  4.7%
[libx264 @ 0x7352900] ref B L1: 94.2%  5.8%
[libx264 @ 0x7352900] kb/s:800.25



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

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

Reply via email to