The video in question is 46 MB and 7 minutes and 24 minutes long. It is 1280x720. I tried uploading the video using five separate codecs: AV1, H264, H265, MPEG-4, and VP9. I set all of the PHP settings to allow for larger video files. This happens whether it is posted to the timeline or albums. Changing the SD/HD option on the Dev settings doesn't seem to do anything. On the site page, I get the following message: "Update isn't published because video conversion failed, edit video to fix the issue." I have only been able to upload three videos successfully. Here is info about two of those that worked, followed by the transcoder log:
- Video #1 that worked is 1280x720, H264 AVC part 10 avc1, 2:24, 40.8 MB, 23.97 frames per second, orientation - top left, color ITU-R BT.709, chroma location - left, 48000 Hz @ 32 bits per sample
- Video #2 that worked is 640x360, H264 AVC part 10 avc1, 6:22, 29.8 MB, 29.97 FPS, orientation - top left, color ITU-R BT.601 & 709, chroma location - left, 44100 Hz @ 32 bits per sample
Jun 22 18:12:38 [0] CRON [bx_timeline_videos_mp4] ERROR: storeTranscodedFile failed for handler (26): file is too big Jun 22 18:14:56 [0] CRON [bx_timeline_videos_mp4_hd] ERROR: storeTranscodedFile failed for handler (26): file is too big
My PHP settings are as follows:
memory_limit = -1, post_max_size = 700 MB, upload_max_filesize = 700 MB, max_execution_time = 3000, max_file_uploads = 20, max_input_time = -1, max_input_vars = 10000
Here is a copy of the conversion report with the frames info edited down (the problem happens with the internal FFMPEG install or the system version/I have edited out the links, due to this form not allowing them.):
/usr/bin/ffmpeg -y -i 'mp4' -strict experimental -vcodec libx264 -s 854x480 -b:v 512k -movflags +faststart -acodec aac -ar 44100 -b:a 128k -pix_fmt yuv420p 'mp4' 2>&1
ffmpeg version 4.4.2-0ubuntu0.22.04.1 Copyright (c) 2000-2021 the FFmpeg developers
built with gcc 11 (Ubuntu 11.2.0-19ubuntu1)
configuration: --prefix=/usr --extra-version=0ubuntu0.22.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --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-librabbitmq --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
libavutil 56. 70.100 / 56. 70.100
libavcodec 58.134.100 / 58.134.100
libavformat 58. 76.100 / 58. 76.100
libavdevice 58. 13.100 / 58. 13.100
libavfilter 7.110.100 / 7.110.100
libswscale 5. 9.100 / 5. 9.100
libswresample 3. 9.100 / 3. 9.100
libpostproc 55. 9.100 / 55. 9.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'mp4':
Metadata:
major_brand : mp42
minor_version : 512
compatible_brands: mp42iso2avc1mp41
creation_time : 2025-06-08T22:01:01.000000Z
encoder : HandBrake 1.8.1 2024062200
Duration: 00:05:15.52, start: 0.000000, bitrate: 2164 kb/s
Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720 [SAR 45:34 DAR 40:17], 1998 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 180k tbc (default)
Metadata:
creation_time : 2025-06-08T22:01:01.000000Z
handler_name : VideoHandler
vendor_id : [0][0][0][0]
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 158 kb/s (default)
Metadata:
creation_time : 2025-06-08T22:01:01.000000Z
handler_name : Stereo
vendor_id : [0][0][0][0]
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
Stream #0:1 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
[libx264 @ 0x56356213d300] using SAR=3539/2676
[libx264 @ 0x56356213d300] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x56356213d300] profile High, level 3.1, 4:2:0, 8-bit
[libx264 @ 0x56356213d300] 264 - core 163 r3060 5db6aa6 - H.264/MPEG-4 AVC codec - Copyleft 2003-2021 - edited out - 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=6 lookahead_threads=1 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=abr mbtree=1 bitrate=512 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'mp4':
Metadata:
major_brand : mp42
minor_version : 512
compatible_brands: mp42iso2avc1mp41
encoder : Lavf58.76.100
Stream #0:0(und): Video: h264 (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 854x480 [SAR 9600:7259 DAR 40:17], q=2-31, 512 kb/s, 29.97 fps, 30k tbn (default)
Metadata:
creation_time : 2025-06-08T22:01:01.000000Z
handler_name : VideoHandler
vendor_id : [0][0][0][0]
encoder : Lavc58.134.100 libx264
Side data:
cpb: bitrate max/min/avg: 0/0/512000 buffer size: 0 vbv_delay: N/A
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
Metadata:
creation_time : 2025-06-08T22:01:01.000000Z
handler_name : Stereo
vendor_id : [0][0][0][0]
encoder : Lavc58.134.100 aac
frame= 1 fps=0.0 q=0.0 size= 0kB time=00:00:00.06 bitrate= 5.5kbits/s speed=4.55x
--(edited out)--
frame= 9359 fps= 83 q=30.0 size= 23552kB time=00:05:12.33 bitrate= 617.7kbits/s speed=2.78x
[mp4 @ 0x56356213f1c0] Starting second pass: moving the moov atom to the beginning of the file
frame= 9455 fps= 84 q=-1.0 Lsize= 23976kB time=00:05:15.51 bitrate= 622.5kbits/s speed= 2.8x
video:18791kB audio:4852kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.407622%
[libx264 @ 0x56356213d300] frame I:205 Avg QP:23.81 size: 14390
[libx264 @ 0x56356213d300] frame P:3288 Avg QP:25.84 size: 3148
[libx264 @ 0x56356213d300] frame B:5962 Avg QP:28.58 size: 997
[libx264 @ 0x56356213d300] consecutive B-frames: 6.6% 26.1% 6.0% 61.4%
[libx264 @ 0x56356213d300] mb I I16..4: 22.3% 68.7% 8.9%
[libx264 @ 0x56356213d300] mb P I16..4: 7.5% 10.6% 0.7% P16..4: 25.5% 4.7% 2.2% 0.0% 0.0% skip:48.8%
[libx264 @ 0x56356213d300] mb B I16..4: 0.7% 1.0% 0.1% B16..8: 19.6% 1.7% 0.2% direct: 0.9% skip:75.8% L0:45.5% L1:51.8% BI: 2.7%
[libx264 @ 0x56356213d300] final ratefactor: 27.09
[libx264 @ 0x56356213d300] 8x8 transform intra:59.2% inter:81.5%
[libx264 @ 0x56356213d300] coded y,uvDC,uvAC intra: 27.7% 29.0% 2.6% inter: 5.3% 4.9% 0.0%
[libx264 @ 0x56356213d300] i16 v,h,dc,p: 26% 39% 12% 22%
[libx264 @ 0x56356213d300] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 18% 21% 35% 4% 4% 3% 6% 4% 6%
[libx264 @ 0x56356213d300] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 16% 25% 21% 5% 8% 6% 9% 4% 6%
[libx264 @ 0x56356213d300] i8c dc,h,v,p: 71% 17% 11% 1%
[libx264 @ 0x56356213d300] Weighted P-Frames: Y:15.8% UV:8.0%
[libx264 @ 0x56356213d300] ref P L0: 65.8% 12.8% 14.2% 6.6% 0.6%
[libx264 @ 0x56356213d300] ref B L0: 85.8% 11.1% 3.0%
[libx264 @ 0x56356213d300] ref B L1: 97.8% 2.2%
[libx264 @ 0x56356213d300] kb/s:487.92
[aac @ 0x563562140d80] Qavg: 1707.720
file is too big
C
Update: I have narrowed down the video conversion issue. This should help provide focus for the devs to figure out a solution. My VPS with FASTPANEL is a 4-core vCPU, 16GB memory, 200GB SSD, and 16GB bandwidth. I did testing with a bunch of different videos. As it turns out, I can only upload videos which are less than three minutes and thirty seconds long (3:30). If they are more than that, the conversion process causes FFMPEG to push the server CPU to 98%. That causes the conversion to fail and it stops members of my site from seeing notifications for a while. I am thinking I must have some PHP or other setting that is incorrect. A small file under 50MB should not push the CPU that hot.
This error could happen when the resulted file size (after the conversion) is bigger than some limit, the limit could be:
C
I already looked into those possibilities. The max file size is way higher (I think I set it to over a GB. ). I am uploading the files using my admin account which has unlimited for number and size of files. My admin account doesn't have a quota. I don't know if that is what is causing the error. I might try to experiment with one of my test accounts that has limits and see if that works.
C
Solved: I took another look at the Permissions page in Studio. That's when I had a breakthrough thought. @Alex T⚜️ mentioned the membership limit. My Admin account has no file limitations. I had set strict quotas on storage and max file size for Unauthenticated and Unconfirmed. Since the original Admin account does not go through the same on-boarding process as all the other accounts, I tried removing the limitations on those two types. As soon as I did, I was able to upload any video I want! I can now upload videos longer than 3 minutes and 30 seconds. Since the original Admin account does not go through the manual email verification process, I believe the file limitations I had set in place were affecting my own account. I still have the problem of the CPU peaking at around 95% during conversion, but it slows down once it is done. But that was all it took to get all video uploads working.