mediacms-io / mediacms

MediaCMS is a modern, fully featured open source video and media CMS, written in Python/Django and React, featuring a REST API.
https://mediacms.io
GNU Affero General Public License v3.0
2.7k stars 498 forks source link

Files greater than 2000MB doesn't encode #413

Closed DidacValenciano closed 1 year ago

DidacValenciano commented 2 years ago

Files greater than 2000MB get an error when encoding.

Just tried to upload some files greater than than 2000MB. Any encoding profile of h264 ends with errors. The link of the view/media page stands on 'Media encoding is pending'. System is a intel celeron(4core / 16GB ram / 1TB hd) with debian bullseye. Installed in a docker container.

Here is a example of a log on a 720 h264. Taken from site/admin/files/encoding/180/change/:

['/home/mediacms.io/mediacms/media_files/encoded/10/didac/5862217436334005bcd81bcb36049dcf.00_1S3oq8Ck3_5862217436334005bcd81bcb36049dcf.VID_20211018_220854.mp4.mkv.mp4', '/home/mediacms.io/mediacms/media_files/encoded/10/didac/5862217436334005bcd81bcb36049dcf.01_1S3oq8Ck3_5862217436334005bcd81bcb36049dcf.VID_20211018_220854.mp4.mkv.mp4']
{'out': '', 'error': "ffmpeg version 5.0-static https://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2022 the FFmpeg developers\n  built with gcc 8 (Debian 8.3.0-6)\n  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\n  libavutil      57. 17.100 / 57. 17.100\n  libavcodec     59. 18.100 / 59. 18.100\n  libavformat    59. 16.100 / 59. 16.100\n  libavdevice    59.  4.100 / 59.  4.100\n  libavfilter     8. 24.100 /  8. 24.100\n  libswscale      6.  4.100 /  6.  4.100\n  libswresample   4.  3.100 /  4.  3.100\n  libpostproc    56.  3.100 / 56.  3.100\n[mov,mp4,m4a,3gp,3g2,mj2 @ 0x71d3600] Auto-inserting h264_mp4toannexb bitstream filter\nInput #0, concat, from '/tmp/tmpwoirvjo5/tmpg5wzuwky.txt':\n  Duration: N/A, start: -0.021333, bitrate: 847 kb/s\n  Stream #0:0(eng): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt2020nc/bt2020/smpte170m, progressive), 1280x720 [SAR 1:1 DAR 16:9], 718 kb/s, 30 fps, 30 tbr, 15360 tbn\n    Metadata:\n      handler_name    : VideoHandle\n      vendor_id       : [0][0][0][0]\n  Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s\n    Metadata:\n      handler_name    : SoundHandle\n      vendor_id       : [0][0][0][0]\nOutput #0, mp4, to '/tmp/tmpwoirvjo5/tmp_ndar_vr.mp4':\n  Metadata:\n    encoder         : Lavf59.16.100\n  Stream #0:0(eng): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt2020nc/bt2020/smpte170m, progressive), 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 718 kb/s, 30 fps, 30 tbr, 15360 tbn\n    Metadata:\n      handler_name    : VideoHandle\n      vendor_id       : [0][0][0][0]\n  Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s\n    Metadata:\n      handler_name    : SoundHandle\n      vendor_id       : [0][0][0][0]\nStream mapping:\n  Stream #0:0 -> #0:0 (copy)\n  Stream #0:1 -> #0:1 (copy)\nPress [q] to stop, [?] for help\nframe=    1 fps=0.0 q=-1.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    \rframe= 4047 fps=0.0 q=-1.0 size=   13824kB time=00:02:14.84 bitrate= 839.8kbits/s speed= 270x    \r[mov,mp4,m4a,3gp,3g2,mj2 @ 0x74688c0] Auto-inserting h264_mp4toannexb bitstream filter\nframe= 8292 fps=8292 q=-1.0 size=   29184kB time=00:04:36.34 bitrate= 865.1kbits/s speed= 276x    \r[mp4 @ 0x71d8800] Starting second pass: moving the moov atom to the beginning of the file\nframe=10275 fps=7440 q=-1.0 Lsize=   36674kB time=00:05:42.56 bitrate= 877.0kbits/s speed= 248x    \nvideo:30786kB audio:5392kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.369241%\n"}
y,uvDC,uvAC intra: 33.9% 33.0% 7.2% inter: 3.0% 3.3% 0.0%
[libx264 @ 0x6486f00] i16 v,h,dc,p: 36% 22% 21% 20%
[libx264 @ 0x6486f00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 18% 21% 19%  8%  6%  7%  7%  6%  7%
[libx264 @ 0x6486f00] i8c dc,h,v,p: 64% 16% 16%  3%
[libx264 @ 0x6486f00] Weighted P-Frames: Y:3.7% UV:1.2%
[libx264 @ 0x6486f00] ref P L0: 64.6% 35.4%
[libx264 @ 0x6486f00] ref B L0: 79.7% 20.3%
[libx264 @ 0x6486f00] ref B L1: 93.3%  6.7%
[libx264 @ 0x6486f00] kb/s:718.43
[aac @ 0x645d0c0] Qavg: 1227.212

 y,uvDC,uvAC intra: 32.8% 32.5% 6.4% inter: 3.4% 4.0% 0.0%
[libx264 @ 0x7012940] i16 v,h,dc,p: 37% 21% 24% 18%
[libx264 @ 0x7012940] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 17% 21% 21%  8%  6%  6%  7%  6%  6%
[libx264 @ 0x7012940] i8c dc,h,v,p: 64% 16% 16%  3%
[libx264 @ 0x7012940] Weighted P-Frames: Y:3.0% UV:0.9%
[libx264 @ 0x7012940] ref P L0: 65.0% 35.0%
[libx264 @ 0x7012940] ref B L0: 79.0% 21.0%
[libx264 @ 0x7012940] ref B L1: 92.7%  7.3%
[libx264 @ 0x7012940] kb/s:778.50
[aac @ 0x7249100] Qavg: 1299.862

But in mediacms/logs/celery_long.logeverything is ok.

mgogoulos commented 2 years ago

can you retry with tail -f logs/* and paste the output? don't see something indicative of the error here...

chansters commented 2 years ago

I'm seeing an issue with files > 2Gb as well but it fails during the upload process.

Screen Shot 2022-07-23 at 11 52 11 AM
mgogoulos commented 2 years ago

@chansters does it fail immediately or after some percentage of upload?

chansters commented 2 years ago

@chansters does it fail immediately or after some percentage of upload?

@mgogoulos I've uploaded the same file maybe 4 or 5 times. Here's what I noticed :

However .. on my last attempt at uploading the file, it worked, was transcoded accurately. So no idea what's going on. My server wasn't under load of anything during any of my attempts.

KyleMaas commented 1 year ago

I had similar issues until I raised the maximum upload size in Nginx. Since then, I've had no problems with files upt o 4.3GiB so far.