[FFmpeg-trac] #9022(undetermined:new): loop flag producing a static image video unexpected behavior

FFmpeg trac at avcodec.org
Mon Dec 7 21:39:13 EET 2020


#9022: loop flag producing a static image video unexpected behavior
-------------------------------------+-------------------------------------
             Reporter:  aj           |                     Type:  defect
               Status:  new          |                 Priority:  normal
            Component:               |                  Version:
  undetermined                       |  unspecified
             Keywords:               |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 Dear beloved community of the open-source kingdom!

 I've been trying to get ffmpeg on our project into use, precisely for
 creating a video from an image and an audio stream.

 With any of the docker images, I'm getting unexpected results being unable
 to play video saying that it's missing the moov atoms.

 I also tried to post this issue on Stackoverflow. Sadly no-one is able to
 help:
 https://stackoverflow.com/questions/65185100/ffmpeg-unexpected-behavior-
 using-loop-flag

 Here's the command that I'm running:
 {{{
 % docker run -v $(pwd):$(pwd) -w $(pwd) jrottenberg/ffmpeg:4.3-alpine \
     -y \
     -stats \
     -loop 1 -i files/image.jpg \
     -i files/a.mp3 \
     -c:v libx265 -pix_fmt yuv420p10 \
     -c:a aac \
     -movflags +faststart \
     -shortest \
     -f mp4 test.mp4
 }}}

 It should create a test.mp4 with the provided audio and image that is
 ready to be uploaded to the unfortunate Youtube.

 When I do this, the video seems to be lacking moov atoms (if I try to
 analyse it). Strangely enough, if I run this two times using the Docker
 image (overriding the same file), the video file will magically start to
 work.

 I also tried using different ffmpeg os images and versions.

 What else I could do to get this fixed?

 Here is the output from the console:

 {{{
 %         -y \
         -stats \
         -loop 1 -i files/image.jpg \
         -i files/a.mp3 \
         -c:v libx265 -pix_fmt yuv420p10 \
         -c:a aac \
         -movflags +faststart \
         -shortest \
         -f mp4 test30.mp4
 ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers
   built with gcc 6.4.0 (Alpine 6.4.0)
   configuration: --disable-debug --disable-doc --disable-ffplay --enable-
 shared --enable-avresample --enable-libopencore-amrnb --enable-
 libopencore-amrwb --enable-gpl --enable-libass --enable-fontconfig
 --enable-libfreetype --enable-libvidstab --enable-libmp3lame --enable-
 libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-
 libwebp --enable-libxcb --enable-libx265 --enable-libxvid --enable-libx264
 --enable-nonfree --enable-openssl --enable-libfdk_aac --enable-postproc
 --enable-small --enable-version3 --enable-libbluray --enable-libzmq
 --extra-libs=-ldl --prefix=/opt/ffmpeg --enable-libopenjpeg --enable-
 libkvazaar --enable-libaom --extra-libs=-lpthread --enable-libsrt
 --enable-libaribb24 --extra-cflags=-I/opt/ffmpeg/include --extra-
 ldflags=-L/opt/ffmpeg/lib
   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
   libavresample   4.  0.  0 /  4.  0.  0
   libswscale      5.  7.100 /  5.  7.100
   libswresample   3.  7.100 /  3.  7.100
   libpostproc    55.  7.100 / 55.  7.100
 Input #0, image2, from 'files/image.jpg':
   Duration: 00:00:00.04, start: 0.000000, bitrate: 34300 kb/s
     Stream #0:0: Video: mjpeg, gray(bt470bg/unknown/unknown), 500x500 [SAR
 240:240 DAR 1:1], 25 fps, 25 tbr, 25 tbn, 25 tbc
 Input #1, mp3, from 'files/a.mp3':
   Metadata:
     title           : Visions
     artist          : Hattori Hanzo
     album           : Visions
     encoded_by      : Fission
     encoder         : Lavf58.45.100
     TLEN            : 16039
     track           : 1
   Duration: 00:00:16.04, start: 0.000000, bitrate: 199 kb/s
     Stream #1:0: Audio: mp3, 44100 Hz, stereo, fltp, 191 kb/s
     Stream #1:1: Video: mjpeg, yuvj444p(pc, bt470bg/unknown/unknown),
 500x500 [SAR 300:300 DAR 1:1], 90k tbr, 90k tbn, 90k tbc (attached pic)
     Metadata:
       comment         : Other
 Stream mapping:
   Stream #0:0 -> #0:0 (mjpeg (native) -> hevc (libx265))
   Stream #1:0 -> #0:1 (mp3 (mp3float) -> aac (native))
 Press [q] to stop, [?] for help
 x265 [info]: HEVC encoder version 3.1.1+1-04b37fdfd2dc
 x265 [info]: build info [Linux][GCC 6.4.0][64 bit] 10bit
 x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX
 FMA3 BMI2 AVX2
 x265 [info]: Main 10 profile, Level-3 (Main tier)
 x265 [info]: Thread pool created using 8 threads
 x265 [info]: Slices                              : 1
 x265 [info]: frame threads / pool features       : 3 / wpp(8 rows)
 x265 [warning]: Source height < 720p; disabling lookahead-slices
 x265 [info]: Coding QT: max CU size, min CU size : 64 / 8
 x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
 x265 [info]: ME / range / subpel / merge         : hex / 57 / 2 / 3
 x265 [info]: Keyframe min / max / scenecut / bias: 25 / 250 / 40 / 5.00
 x265 [info]: Lookahead / bframes / badapt        : 20 / 4 / 2
 x265 [info]: b-pyramid / weightp / weightb       : 1 / 1 / 0
 x265 [info]: References / ref-limit  cu / depth  : 3 / off / on
 x265 [info]: AQ: mode / str / qg-size / cu-tree  : 2 / 1.0 / 32 / 1
 x265 [info]: Rate Control / qCompress            : CRF-28.0 / 0.60
 x265 [info]: tools: rd=3 psy-rd=2.00 early-skip rskip signhide tmvp
 b-intra
 x265 [info]: tools: strong-intra-smoothing deblock sao
 Output #0, mp4, to 'test30.mp4':
   Metadata:
     encoder         : Lavf58.45.100
     Stream #0:0: Video: hevc (libx265) (hev1 / 0x31766568),
 yuv420p10le(progressive), 500x500 [SAR 1:1 DAR 1:1], q=-1--1, 25 fps,
 12800 tbn, 25 tbc
     Metadata:
       encoder         : Lavc58.91.100 libx265
     Side data:
       cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
     Stream #0:1: Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp,
 128 kb/s
     Metadata:
       encoder         : Lavc58.91.100 aac
 frame=   52 fps=0.0 q=33.0 size=       0kB time=00:00:00.80 bitrate=
 0.4kbits/frame=  120 fps=119 q=33.0 size=       0kB time=00:00:03.52
 bitrate=   0.1kbits/frame=  190 fps=125 q=33.0 size=       0kB
 time=00:00:06.33 bitrate=   0.1kbits/frame=  257 fps=127 q=33.0 size=
 0kB time=00:00:09.00 bitrate=   0.0kbits/frame=  303 fps=120 q=35.0 size=
 256kB time=00:00:10.86 bitrate= 193.0kbits/frame=  373 fps=123 q=36.0
 size=     256kB time=00:00:13.65 bitrate= 153.6kbits/[mp4 @
 0x55d481bc6980] Starting second pass: moving the moov atom to the
 beginning of the file
 frame=  432 fps=121 q=36.0 Lsize=     379kB time=00:00:17.16 bitrate=
 180.8kbits/s speed= 4.8x
 video:107kB audio:255kB subtitle:0kB other streams:0kB global headers:2kB
 muxing overhead: 4.667185%
 x265 [info]: frame I:      2, Avg QP:23.55  kb/s: 8634.80
 x265 [info]: frame P:    147, Avg QP:33.00  kb/s: 13.49
 x265 [info]: frame B:    283, Avg QP:35.71  kb/s: 8.06
 x265 [info]: Weighted P-Frames: Y:0.0% UV:0.0%
 x265 [info]: consecutive B-frames: 34.2% 10.1% 20.8% 1.3% 33.6%

 encoded 432 frames in 3.56s (121.32 fps), 49.84 kb/s, Avg QP:34.73
 [aac @ 0x55d481b23ac0] Qavg: 563.168
 }}}

--
Ticket URL: <https://trac.ffmpeg.org/ticket/9022>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list