You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I tried on some basic commands of ffmpeg, they worked fine on my local environment, but when i deployed it. Large files i.e approx 200MB starts failing with error command failed.
After some research i found it may be because of less CPU and RAM configurations.So I increased it , after which it starts failing on 500 MB files.Can someone please suggest how much resource ffmpeg needs or some pattern by which i can identify which type and size of files would work fine on how much resource.
500MB mp4 failed on 1500m CPU and 1000 Mi RAM
Function for conversion is :: const convertWithFFMPEG = ({ fileName, path, dimensions, type, tempFiles, extension }) => { return new Promise((resolve, reject) => { const inputFilePath = path + "/" + fileName; var process = new ffmpeg(inputFilePath); let { height, width } = dimensions; process.then( command => { let vf; vf = ``thumbnail,scale=${width}:${height}``; let outputFilePath =${path}/${fileName}_converted.${extension}``; command.addCommand("-frames:v 1"); command.addCommand("-compression_level", 100); command.addCommand("-vf", vf); command.save(outputFilePath, (error, file) => { if (error) { reject(error); } tempFiles.push(outputFilePath); resolve(outputFilePath); }); }, err => { reject(err); } ); }); };
I tried on some basic commands of ffmpeg, they worked fine on my local environment, but when i deployed it. Large files i.e approx 200MB starts failing with error command failed.
After some research i found it may be because of less CPU and RAM configurations.So I increased it , after which it starts failing on 500 MB files.Can someone please suggest how much resource ffmpeg needs or some pattern by which i can identify which type and size of files would work fine on how much resource.
500MB mp4 failed on 1500m CPU and 1000 Mi RAM
Function for conversion is ::
const convertWithFFMPEG = ({ fileName, path, dimensions, type, tempFiles, extension }) => { return new Promise((resolve, reject) => { const inputFilePath = path + "/" + fileName; var process = new ffmpeg(inputFilePath); let { height, width } = dimensions; process.then( command => { let vf; vf = ``thumbnail,scale=${width}:${height}``; let outputFilePath =
${path}/${fileName}_converted.${extension}``; command.addCommand("-frames:v 1"); command.addCommand("-compression_level", 100); command.addCommand("-vf", vf); command.save(outputFilePath, (error, file) => { if (error) { reject(error); } tempFiles.push(outputFilePath); resolve(outputFilePath); }); }, err => { reject(err); } ); }); };
Error is ::
Command failed: ffmpeg -i /usr/src/app/src/temp/video100mb___e839e9ef_07db_43af_8a4a_62f0cbec294c.mp4 -frames:v 1 -compression_level 100 -vf thumbnail,scale=144:256 /usr/src/app/src/temp/video100mb___3942b363_4e4e_4c7d_b236_edc23659f02d_ffmpeg_thumb.jpegffmpeg version 4.0.2 Copyright (c) 2000-2018 the FFmpeg developers built with gcc 8.2.0 (Alpine 8.2.0) configuration: --prefix=/usr --enable-avresample --enable-avfilter --enable-gnutls --enable-gpl --enable-libass --enable-libmp3lame --enable-libvorbis --enable-libvpx --enable-libxvid --enable-libx264 --enable-libx265 --enable-libtheora --enable-libv4l2 --enable-postproc --enable-pic --enable-pthreads --enable-shared --enable-libxcb --disable-stripping --disable-static --disable-librtmp --enable-vaapi --enable-vdpau --enable-libopus --disable-debug libavutil 56. 14.100 / 56. 14.100 libavcodec 58. 18.100 / 58. 18.100 libavformat 58. 12.100 / 58. 12.100 libavdevice 58. 3.100 / 58. 3.100 libavfilter 7. 16.100 / 7. 16.100 libavresample 4. 0. 0 / 4. 0. 0 libswscale 5. 1.100 / 5. 1.100 libswresample 3. 1.100 / 3. 1.100 libpostproc 55. 1.100 / 55. 1.100Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/usr/src/app/src/temp/video100mb___e839e9ef_07db_43af_8a4a_62f0cbec294c.mp4': Metadata: major_brand : mp42 minor_version : 0 compatible_brands: isommp42 creation_time : 2018-10-07T14:00:12.000000Z location : -23.5573-046.7765/ location-eng : -23.5573-046.7765/ com.android.version: 8.0.0 Duration: 00:00:46.85, start: 0.000000, bitrate: 17258 kb/s Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080, 16996 kb/s, SAR 1:1 DAR 16:9, 29.98 fps, 30 tbr, 90k tbn, 180k tbc (default) Metadata: rotate : 90 creation_time : 2018-10-07T14:00:12.000000Z handler_name : VideoHandle Side data: displaymatrix: rotation of -90.00 degrees Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 256 kb/s (default) Metadata: creation_time : 2018-10-07T14:00:12.000000Z handler_name : SoundHandleStream mapping: Stream #0:0 -> #0:0 (h264 (native) -> mjpeg (native))Press [q] to stop, [?] for help[swscaler @ 0x564a3aac4a80] deprecated pixel format used, make sure you did set range correctlyOutput #0, image2, to '/usr/src/app/src/temp/video100mb___3942b363_4e4e_4c7d_b236_edc23659f02d_ffmpeg_thumb.jpeg': Metadata: major_brand : mp42 minor_version : 0 compatible_brands: isommp42 com.android.version: 8.0.0 location : -23.5573-046.7765/ location-eng : -23.5573-046.7765/ encoder : Lavf58.12.100 Stream #0:0(eng): Video: mjpeg, yuvj444p(pc), 144x256 [SAR 1:1 DAR 9:16], q=2-31, 200 kb/s, 30 fps, 30 tbn, 30 tbc (default) Metadata: encoder : Lavc58.18.100 mjpeg creation_time : 2018-10-07T14:00:12.000000Z handler_name : VideoHandle Side data: cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1 displaymatrix: rotation of -0.00 degreesframe= 0 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed= 0x frame= 0 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed= 0x frame= 0 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed= 0x frame= 0 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed= 0x frame= 0 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed= 0x frame= 0 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed= 0x frame= 0 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed= 0x frame= 0 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed= 0x frame= 0 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed= 0x frame= 0 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed= 0x
The text was updated successfully, but these errors were encountered: